Commit graph

18044 commits

Author SHA1 Message Date
Nicolas Dufresne 207308446b glbufferpool: Always recalculate buffer size
Actually we should always recalculate buffer size since our buffer size
even when not-padded is smaller for many sub-sampled formats. This is
because we don't add padding between the planes.

https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:25:41 -05:00
Nicolas Dufresne 170a49f901 glmemory: No need for padding
A memory object cannot be put on stack, so no need for padding.
2014-12-19 12:12:08 -05:00
Nicolas Dufresne 9954de1ccd gl: Add support for GstVideoAlignment
This allow saving a copy with libav video decoders or decoders with
similar padding requirement.

https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:11:08 -05:00
Nicolas Dufresne da3ae06cd1 glmemory: Handle upload/download flags from map
Problem was that if buffer was mapped READWRITE (state of buffers from
libav right now), mapping it READ/GL will not upload. This is because the
flag is only set when the buffer is unmapped. We can fix this by setting
the flags in map. This result in already mapped buffer that get mapped
to be read in GL will be uploaded. The problem is that if the write
mapper makes modification afterward, the modification will never get
uploaded.

https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05:00
Nicolas Dufresne 4f3c33af3a glmemory: Handle custom stride with OPENGL3
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05:00
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