Commit graph

17839 commits

Author SHA1 Message Date
Sebastian Dröge
d632a48d6c decklink: Fix various compiler warnings with gcc 2014-12-19 15:05:58 +01:00
Sebastian Dröge
5e7782ca39 decklink: Re-add the COM initialization code for Windows
Untested, and we will never deinitialize COM again.
2014-12-19 14:50:25 +01:00
Sebastian Dröge
f9d16c5913 decklink: Remove in-same-pipeline detection code for audio/video elements of the same device
This causes deadlocks sometimes for some reason.
2014-12-19 14:40:40 +01:00
Sebastian Dröge
9c2e09cf39 decklinkvideosink: Implement clock slaving 2014-12-19 14:40:40 +01:00
Sebastian Dröge
b9e17c5605 decklinkvideosink: Add some more debug output for when frames are scheduled 2014-12-19 14:40:40 +01:00
Sebastian Dröge
ec90bbb6f3 decklink: Add property for configuring the buffer size of the sources 2014-12-19 14:40:40 +01:00
Sebastian Dröge
112fdd266a decklinkaudiosrc: Implement timestamp jitter and discont handling 2014-12-19 14:40:40 +01:00
Sebastian Dröge
7c0fb92f1b decklink: Our capture time is the end timestamp of the buffer, subtract the duration 2014-12-19 14:40:40 +01:00
Sebastian Dröge
4ef676f109 decklink: Allow for a maximum of 5 packets to be queued up
In case downstream is a bit slow with consuming packets at times.
2014-12-19 14:40:40 +01:00
Sebastian Dröge
aac0027ed2 decklink: Implement latency query in sources and remember selected mode 2014-12-19 14:40:40 +01:00
Sebastian Dröge
23d6eaaa10 decklink: Remove obsolete files 2014-12-19 14:40:39 +01:00
Sebastian Dröge
6d931a0c0e decklink: Add initial version of audio and video sources 2014-12-19 14:40:39 +01:00
Sebastian Dröge
57d46fe9e1 decklink: Initial version of the audio/video sink rewrite 2014-12-19 14:40:39 +01:00
Sebastian Dröge
f9739870ce audiomixer: Track discont-time per pad instead of globally
We do discont handling per pad, not per element!
2014-12-19 14:40:33 +01:00
Branko Subasic
f00d21aec5 curlsmtpsink: add final boundary to all multipart emails
Corrected the final boundary mechanism so that a final boundary is
added to each mail with multipart content that is sent,
not just to the last one.

https://bugzilla.gnome.org/show_bug.cgi?id=741553
2014-12-19 13:16:43 +00:00
Sebastian Dröge
654d201375 audiomixer: We're only EOS if all our pads are actually EOS
Having a buffer or not on the pad is irrelevant.
2014-12-18 23:33:58 +01:00
Sebastian Dröge
0d38b2212c audiomixer: The pad's size is always supposed to be the whole buffer size
And the offset the offset into that buffer. Changing the size will
cause all kinds of assumptions to fail and cause crashes.
2014-12-18 22:42:14 +01:00
Sebastian Dröge
30ce523d59 videoaggregator: Don't try to map NULL buffers 2014-12-18 22:04:38 +01:00
Sebastian Dröge
af46a58cae videoaggregator: Make sure to always update the pad's videoinfo together with buffers
Otherwise the videoinfo and the buffer content can go out of sync.
2014-12-18 22:03:04 +01:00
Sebastian Dröge
ccaf07d53d compositor: Fix memory leak when no buffer is available for a pad currently
CID 1258718
2014-12-18 11:49:09 +01:00
Sebastian Dröge
fe31238f5d Automatic update of common submodule
From ef1ffdc to f2c6b95
2014-12-18 10:54:05 +01:00
Thiago Santos
77388f9d83 x265enc: reuse the gstvideo proxy getcaps
The caps query is implementing the same logic as the default
handler from the base class. Reuse it to simplify code.
2014-12-17 22:13:17 -03:00
Thiago Santos
4c883e4ad2 opusenc: plug ref leak of template caps
the pad template caps is already a new ref. No need to copy.
2014-12-17 22:13:17 -03:00
Sebastian Dröge
06a4e80be9 aggregator: Add function to allow subclasses to set their own latency
For audiomixer this is one blocksize, for videoaggregator this should
be the duration of one output frame.
2014-12-17 19:51:32 +01:00
Sebastian Dröge
27bcbf0a80 audiomixer: Make sure to not have pads being behind the current offset
We would break sync between the different streams then.
2014-12-17 19:37:22 +01:00
Sebastian Dröge
d4c4af699e aggregator: Add a timeout parameter to ::aggregate()
When this is TRUE, we really have to produce output. This happens
in live mixing mode when we have to output something for the current
time, no matter if we have enough input or not.
2014-12-17 18:41:41 +01:00
Sebastian Dröge
e82ec36863 audiomixer: Add queues after the (live) sources in the unit test 2014-12-17 18:41:41 +01:00
Alessandro Decina
0156725480 avfvideosrc: improve timestamping and latency reporting
Use AVF provided timings to timestamp output buffers. Use the running time at
the time the first buffer is produced to base timestamps on. Report 1-frame
latency based on the negotiated framerate instead of hardcoding 4ms latency.
2014-12-17 12:24:05 +11:00
Raimo Järvi
96ea75d75a dshowdecwrapper: Remove dependency on ATL
This fixes compiling with Visual C++ Express
that doesn't include ATL.

https://bugzilla.gnome.org/show_bug.cgi?id=677223
2014-12-16 23:17:35 +00:00
Matthew Bader
0fc55436b3 dshowsrcwrapper: Added support for image/jpeg and h264
https://bugzilla.gnome.org/show_bug.cgi?id=741188
2014-12-16 23:17:25 +00:00
Tim-Philipp Müller
9d79b65a55 tests: fix aggregator unit test after property renaming 2014-12-16 19:49:56 +00:00
Sebastian Dröge
2764f2baf1 audiomixer: Implement get_next_time() 2014-12-16 17:37:12 +01:00
Sebastian Dröge
852b08340e aggregator: Some minor cleanup 2014-12-16 17:33:01 +01:00
Matthew Waters
8bf53a1226 aggregator: make the src pad task drive the pipeline for live pipelines
This removes the uses of GAsyncQueue and replaces it with explicit
GMutex, GCond and wakeup count which is used for the non-live case.

For live pipelines, the aggregator waits on the clock until either
data arrives on all sink pads or the expected output buffer time
arrives plus the timeout/latency at which time, the subclass
produces a buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=741146
2014-12-16 16:58:57 +01:00
Matthew Waters
a7e86751bf videoaggregator: always try to use newer buffers
instead of dropping them for being too old.  This ensures that
the newest buffer is always used for rendering
2014-12-16 16:49:49 +01:00
Wim Taymans
87f5574e39 rectangle: clear rectangle struct before use 2014-12-16 13:35:14 +01:00
Vincent Penquerc'h
79b56ebcc9 opusparse: fix frame size determination
https://bugzilla.gnome.org/show_bug.cgi?id=741321
2014-12-15 15:23:35 +00:00
Mathieu Duponchelle
631663b854 mxfdemux: Use IndexTableSegments.
This speeds up seeking drastically.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294
2014-12-14 12:53:55 +01:00
Sebastian Rasmussen
01dc7edd8b tests/aggregator: Use correct type when setting property
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495
2014-12-14 11:29:19 +01:00
Sudip Jain
9f2cb50f54 mpegtsbase: scan more bytes to find initial PCRs
Fixes playback of Samsung-Colorful-Variety-1080i.ts.

https://bugzilla.gnome.org/show_bug.cgi?id=729768
2014-12-13 01:59:07 +00:00
Tim-Philipp Müller
329f0ccba1 Revert "openh264: fix to work with released versions and master of upstream"
This reverts commit 15394aa705.

The latest release (v1.1) does not have pkg-config support
yet, so this plugin won't be built with the latest release.
Cerbero uses the latest release, so this makes cerbero
builds fail, which expect the plugin to be built.

We can re-commit this once there's a release that includes
pkg-config support.
2014-12-12 20:58:49 +00:00
Zaheer Abbas Merali
15394aa705 openh264: fix to work with released versions and master of upstream 2014-12-12 10:05:23 -08:00
Thibault Saunier
b3c4b8d1df watchdog: GstElement->state is protected with the OBJECT_LOCK
Not the STATE_LOCK.

gst_watchdog_feed was already always called with the OBJECT_LOCK taken.
2014-12-12 11:49:42 +01:00
Thibault Saunier
aa25d0ab4c videoaggregator: Hide some more fields from the API
+ Add some documentation
2014-12-12 11:49:42 +01:00
Tim-Philipp Müller
cb5c563b36 onvif: fix 'make dist' 2014-12-12 00:30:21 +00:00
Thiago Santos
75b0bac7f8 adaptivedemux: fix seek event handling
Properly do seeking and avoid only seeking when the segment was updated.
It would cause seeks after the stream was EOS to fail, for example.

https://bugzilla.gnome.org/show_bug.cgi?id=738920
2014-12-11 21:09:26 -03:00
Olivier Crête
8cddfe6477 rtponviftimestamp: Automatically discover the ntp-offset by default.
This only works if no packets are pushed in before the pipeline goes
to playing. So it helps to have a live source.

https://bugzilla.gnome.org/show_bug.cgi?id=731769
2014-12-11 16:28:43 -05:00
Guillaume Desmottes
189005184c add rtponvifextract element
https://bugzilla.gnome.org/show_bug.cgi?id=731769
2014-12-11 14:00:59 -05:00
Guillaume Desmottes
b424b72df1 add rtponviftimestamp element
https://bugzilla.gnome.org/show_bug.cgi?id=731769
2014-12-11 14:00:59 -05:00
Wang Xin-yu (王昕宇)
15eab1ed01 glfilter: fix position/texcoord attrib index usage
https://bugzilla.gnome.org/show_bug.cgi?id=741231
2014-12-11 19:41:23 +11:00