Sebastian Dröge [Tue, 13 Jan 2015 13:54:26 +0000 (14:54 +0100)]
compositor: Don't do any conversions if the pad is completely transparent anyway
Branislav Katreniak [Mon, 12 Jan 2015 11:58:27 +0000 (12:58 +0100)]
inter: silence messages for flushed / created samples
These messages are logged periodically and polute the log
https://bugzilla.gnome.org/show_bug.cgi?id=741592
Nicola Murino [Thu, 25 Dec 2014 22:10:19 +0000 (23:10 +0100)]
glcolorconvert: fix memleak
https://bugzilla.gnome.org/show_bug.cgi?id=741943
Nicola Murino [Thu, 25 Dec 2014 21:59:42 +0000 (22:59 +0100)]
glupload: fix some memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=741943
Matthew Waters [Wed, 31 Dec 2014 06:45:53 +0000 (17:45 +1100)]
glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
Fill in the missing pieces like get_proc_address, the gl function vtable
Stefan Sauer [Mon, 12 Jan 2015 20:25:14 +0000 (21:25 +0100)]
gitignore: ignore more files
Luis de Bethencourt [Mon, 12 Jan 2015 15:33:09 +0000 (15:33 +0000)]
visual: use unused value
ret is assigned but not used and in the next cycle of the loop it is overwritten
with default_prepare_output_buffer (). If there is a flow error the function
should return instead.
CID #1226475
Stefan Sauer [Mon, 12 Jan 2015 15:10:31 +0000 (16:10 +0100)]
Automatic update of common submodule
From f2c6b95 to bc76a8b
Sebastian Dröge [Mon, 12 Jan 2015 14:57:53 +0000 (15:57 +0100)]
decklink: Initialize refcount of our C++ classes in the constructor
CID 1262288
CID 1262287
CID 1262289
Luis de Bethencourt [Mon, 12 Jan 2015 14:22:47 +0000 (14:22 +0000)]
gaudieffects: stored value is overwritten
Value from left_luminance is assigned to out_luminance here, but that stored
value is not used before it is overwritten in the next cycle of the loop.
Removing assignation.
CID #1226473
Luis de Bethencourt [Mon, 12 Jan 2015 12:50:33 +0000 (12:50 +0000)]
mpegdemux: fix dead code
found is initialized to FALSE to then only be used in two conditional statements
that will always be false, making the blocks inside them dead code. Looking back
in the file's history the setting of the variable's value before it is checked
was dropped as part of the port to 0.11, bringing that value setting back.
https://bugzilla.gnome.org/show_bug.cgi?id=742638
Tim-Philipp Müller [Sun, 11 Jan 2015 20:40:34 +0000 (20:40 +0000)]
mpegdemux: minor optimisation when scanning for SCRs
Bail out early when we're scanning for SCR, no need to
parse stuff we're not going to use nor interested in.
Tim-Philipp Müller [Sun, 11 Jan 2015 01:08:08 +0000 (01:08 +0000)]
mpg123: fix compiler warning and simplify checks in set_caps
https://bugzilla.gnome.org/show_bug.cgi?id=740195
Carlos Rafael Giani [Sat, 3 Jan 2015 12:06:45 +0000 (13:06 +0100)]
mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin
The old code was using gst_caps_normalize() and was generally overly
complex. Simplify by picking sample rate and number of channels from
upstream and the sample format from the allowed caps. If the format caps
is a list of strins, just pick the first one. And if the srcpad isn't
linked yet, use the default format (S16).
https://bugzilla.gnome.org/show_bug.cgi?id=740195
Sebastian Dröge [Sat, 10 Jan 2015 14:34:57 +0000 (15:34 +0100)]
gl/cocoa: Disable hack for NSApp iteration with a special #define
The hack causes deadlocks and other interesting problems and it really
can only be fixed properly inside GLib. We will include a patch for
GLib in our builds for now that handles this, and hopefully at some
point GLib will also merge a proper solution.
A proper solution would first require to refactor the polling in
GMainContext to only provide a single fd, e.g. via epoll/kqueue
or a thread like the one added by our patch. Then this single
fd could be retrieved from the GMainContext and directly integrated
into a NSRunLoop.
https://bugzilla.gnome.org/show_bug.cgi?id=741450
https://bugzilla.gnome.org/show_bug.cgi?id=704374
Jan Schmidt [Sat, 10 Jan 2015 04:40:30 +0000 (15:40 +1100)]
inter: interaudiosrc - fixate layout for default caps
Makes interaudiosrc produce valid audio caps in the absence of any other
guidance by adding to the pad template and fixate function
Olivier Crête [Sat, 10 Jan 2015 02:51:40 +0000 (21:51 -0500)]
aggregator: Remove pointless atomic
It is only modified from the streaming thread
Olivier Crête [Sat, 10 Jan 2015 02:30:36 +0000 (21:30 -0500)]
aggregator: Fix query leak
Luis de Bethencourt [Fri, 9 Jan 2015 17:56:09 +0000 (17:56 +0000)]
audiovisualizer: remove check for below zero for unsigned value
CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it is an unsigned integer. Removing that check and only checking if
it is bigger than max and setting it appropriately.
Also converting the previous instance of this into MIN() for consistency.
CID 1139793
Sreerenj Balachandran [Tue, 2 Dec 2014 08:10:39 +0000 (10:10 +0200)]
h264parse: expose compatible profiles to downstream
Some video bitstreams report a too restrictive set of profiles. If a video
decoder was to strictly follow the indicated profile, it wouldn't support that
stream, whereas it could in theory and in practice. So we should relax the
profile restriction for allowing the decoder to get connected with parser.
https://bugzilla.gnome.org/show_bug.cgi?id=739992
Sebastian Dröge [Fri, 9 Jan 2015 15:43:39 +0000 (16:43 +0100)]
aggregator: Print jitter from clock waiting in the debug logs
Luis de Bethencourt [Fri, 9 Jan 2015 14:42:34 +0000 (14:42 +0000)]
audiovisualizer: remove check if below zero for unsigned value
CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
since it is an unsigned integer. Removing that check and only checking if it
bigger than h1 and setting it to that max approprietaly.
CID 1139792
Thiago Santos [Thu, 8 Jan 2015 19:24:29 +0000 (16:24 -0300)]
hlsdemux: cache current file position in the list
Avoids iterating the list everytime to look for the next segment
to be used (or to advance to the next one).
Thiago Santos [Thu, 8 Jan 2015 18:46:49 +0000 (15:46 -0300)]
hlsdemux: simplify next segment checking functions
Optimize loop by moving condition outside of it and reuse the
find_next_fragment function to check if there is next instead of
replicating the same loop
Thiago Santos [Thu, 8 Jan 2015 16:03:11 +0000 (13:03 -0300)]
hlsdemux: cache total duration to avoid iterating at every query
Duration queries can be done a few times per second and would cause
the segment list to be traversed for every one. Caching the duration
prevents that.
Sebastian Dröge [Thu, 8 Jan 2015 17:15:27 +0000 (18:15 +0100)]
decklinkvideosrc: Post LATENCY message when the mode changes
Different modes have different framerates, and thus different latencies. We
might need to reconfigure the latency of the pipeline.
Sebastian Dröge [Thu, 8 Jan 2015 17:14:38 +0000 (18:14 +0100)]
decklinkvideosrc: Fix compiler warning
Florian Langlois [Thu, 8 Jan 2015 15:42:31 +0000 (16:42 +0100)]
decklinkvideosrc: Add automatic mode detection
https://bugzilla.gnome.org/show_bug.cgi?id=739284
Luis de Bethencourt [Thu, 8 Jan 2015 15:54:18 +0000 (15:54 +0000)]
hlsdemux: g_return_if_fail in function with return type
Need to use g_return_val_if_fail() when the function returns a type, in this
case a gboolean
Luis de Bethencourt [Thu, 8 Jan 2015 15:36:04 +0000 (15:36 +0000)]
rtp: value truncated too short creates dead code
type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
never be True if the value is maximum 31 after the truncation.
The intention of the code was to truncate to 0-63.
Luis de Bethencourt [Thu, 8 Jan 2015 15:27:44 +0000 (15:27 +0000)]
rtp: fix nal unit type check
After further investigation the previous commit is wrong. The code intended to
check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c
does. Type 40 would not be complete.
Luis de Bethencourt [Thu, 8 Jan 2015 13:47:09 +0000 (13:47 +0000)]
rtp: fix dead code and check for impossible values
nal_type is the index for a GstH265NalUnitType enum. There are two types of dead
code here:
First, after checking if nal_type is >= 39 there are two OR conditionals that
check if the value is in ranges higher than that number, so if nal_type >= 39
falls in the True branch those other conditions aren't checked and if it falls
in the False branch and they are checked, they will always also be False. They
are redundant.
Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41
should never be True.
Removing this redundant checks.
CID 1249684
Florian Zwoch [Thu, 8 Jan 2015 13:47:16 +0000 (14:47 +0100)]
vtenc: Unlock the stream lock while waiting for pending frames to be completed in finish()
We might otherwise deadlock because gst_vtenc_enqueue_buffer() can be
called again and will take the stream lock again from another thread.
https://bugzilla.gnome.org/show_bug.cgi?id=742174
Thiago Santos [Thu, 8 Jan 2015 11:46:48 +0000 (08:46 -0300)]
hlsdemux: implement _has_next_fragment to avoid busy looping
It will allow the demuxer to wait for a fragment to be available instead
of busy looping polling the playlist for a new fragment
Sebastian Dröge [Thu, 8 Jan 2015 11:55:16 +0000 (12:55 +0100)]
decklink: Add a dummy value to the video connection mapping table for auto
Sebastian Dröge [Thu, 8 Jan 2015 11:48:22 +0000 (12:48 +0100)]
decklinkaudiosrc: Add property to select the audio input connection
Sebastian Dröge [Thu, 8 Jan 2015 11:23:53 +0000 (12:23 +0100)]
decklink: Add XLR and RCA audio connection enums
Sebastian Dröge [Thu, 8 Jan 2015 11:17:45 +0000 (12:17 +0100)]
decklinkvideosrc: Add auto value for the connection property
This will use the default/auto connection for video capturing, and can
be set via the Decklink configuration tools.
Sebastian Dröge [Thu, 8 Jan 2015 11:13:03 +0000 (12:13 +0100)]
decklink: Fix indention once again
Florian Langlois [Tue, 6 Jan 2015 13:02:38 +0000 (14:02 +0100)]
decklink: Add property for configuring the input connection of the video sources
Sebastian Dröge [Thu, 8 Jan 2015 08:35:23 +0000 (09:35 +0100)]
gl/cocoa: Don't init and clear static GMutex / GCond
We would potentially use it from the main loop later in
gst_gl_window_cocoa_init_nsapp() if it timed out before.
Luis de Bethencourt [Wed, 7 Jan 2015 16:53:41 +0000 (16:53 +0000)]
glfilter: remove logically dead code
Soon after setting two variables to 1, the code checks if their values are
different from each other. This would never be true. Removing this.
CID 1226443
Tim-Philipp Müller [Wed, 7 Jan 2015 16:40:25 +0000 (16:40 +0000)]
Revert "pngparse: improve parsing of the image"
This reverts commit
59e7f0597d1cc524174e847de7b91407922304c8.
This patch should not have been pushed, see
https://bugzilla.gnome.org/show_bug.cgi?id=740058#c3
Luis de Bethencourt [Wed, 7 Jan 2015 16:26:57 +0000 (16:26 +0000)]
handdetect: remove unneeded check
Variable hands is already checked to contain a value previously at the beginning
of the current block (in line 504). There is no need to check again. This is
logically dead code.
CID 1197693
Vineeth T M [Thu, 13 Nov 2014 10:26:07 +0000 (15:56 +0530)]
pngparse: improve parsing of the image
Everytime a buffer is being provided from baseparse, we are parsing all the data from the beginning.
But since we would have already parsed some of the data in the previous iterations,
it doesnt make much sense to keep parsing the same everytime.
Hence skipping the data which is already read in previous iterations to improve the parsing performance.
https://bugzilla.gnome.org/show_bug.cgi?id=740058
Florian Langlois [Wed, 7 Jan 2015 14:32:05 +0000 (15:32 +0100)]
decklink: Fix latency values for sources
Thiago Santos [Wed, 7 Jan 2015 13:23:31 +0000 (10:23 -0300)]
hlsdemux: remove duplicate call to uri_join
Thiago Santos [Wed, 7 Jan 2015 12:30:00 +0000 (09:30 -0300)]
hlsdemux: skip checking '#EXT-X-' token for all entries
Put this common check before to avoid repeating it for all possible
entries to save some cycles
Thiago Santos [Wed, 7 Jan 2015 12:21:33 +0000 (09:21 -0300)]
hlsdemux: avoid using g_list_append for creating segments list
Use g_list_prepend and reverse it at the end to skip traversing the
same list for every new segment
Thomas Bluemel [Fri, 20 Jun 2014 18:38:59 +0000 (12:38 -0600)]
hlsdemux: Don't use approximate duration for fragment buffer pts
The duration values in playlists are approximate only, and for
playlist versions 2 and older they are only rounded integer values.
They cannot be used to timestamp buffers. This resulted in playback
gaps and skips because the actual duration of fragments is slightly
different. The solution is to only set the pts of the very first
buffer processed, not for each fragment.
Thiago Santos [Tue, 6 Jan 2015 21:44:15 +0000 (18:44 -0300)]
adaptivedemux: only update segment if we have a valid PTS
Otherwise we set the position to GST_CLOCK_TIME_NONE and it disrupts
bitrate switching
Rajat Verma [Wed, 7 Jan 2015 06:01:30 +0000 (11:31 +0530)]
mssdemux: fix crash while setting bitrate in caps structure
q->bitrate is a guint64, but G_TYPE_INT may read fewer bits
off the stack, and if we pass more then the NULL sentinel
may not be found at the right place, which in turn might
lead to crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=741751
Duncan Palmer [Fri, 2 Jan 2015 00:59:00 +0000 (00:59 +0000)]
h264parse: Fix periodic SPS/PPS sending work after a seek
Reset the interval variable to have SPS/PPS sending work after
a (backwards) seek.
https://bugzilla.gnome.org/show_bug.cgi?id=742212
Thiago Santos [Tue, 6 Jan 2015 00:26:22 +0000 (21:26 -0300)]
wrappercamerabinsrc: fix deadlock with pad object lock
The image capture mutex and the pad object lock would cause a race
if the pad query was made right when the image probe was running.
The image probe needs the capture mutex and the querying would need
the pad object lock.
Thiago Santos [Mon, 5 Jan 2015 18:16:15 +0000 (15:16 -0300)]
wrappercamerabinsrc: simplify weird if/else clause
It is not an if/else situation but an if error abort otherwise
just continue. Remove else to make it more readable
Alex Ashley [Fri, 4 Apr 2014 15:45:51 +0000 (16:45 +0100)]
hlsdemux: Implement live seeking
hlsdemux assumes that seeking is not allowed for live streams,
however seek is possible if there are sufficient fragments in the
manifest. For example the BBC have live streams that contain 2 hours
of fragments.
The seek code for both live and on-demand is common code. The
difference between them is that an offset has to be calculated
for the timecode of the first fragment in the live playlist.
When hlsdemux starts to play a live stream, the possible seek range
is between 0 and A seconds. After some time has passed, the beginning of
the stream will no longer be available in the playlist and the seek
range is between B and C seconds.
Seek range:
start 0 ........... A
later B ........... C
This commit adds code to keep a note of the B and C values
and the highest sequence number it has seen. Every time it updates the
media playlist, it walks the list of fragments, seeing if there is a
fragment with sequence number > highest_seen_sequence. If so, the values
of B and C are updated. The value of B is used when timestamping
buffers.
It also makes sure the seek range is never closer than three fragments
from the end of the playlist - see 6.3.3. "Playing the Playlist file"
of the HLS draft.
https://bugzilla.gnome.org/show_bug.cgi?id=725435
Thiago Santos [Mon, 5 Jan 2015 20:58:54 +0000 (17:58 -0300)]
adaptivedemux: prepare for supporting seeks in live streams
Add function to allow subclasses to specify seeking range for
live streams
https://bugzilla.gnome.org/show_bug.cgi?id=725435
Tim-Philipp Müller [Sun, 4 Jan 2015 17:15:37 +0000 (17:15 +0000)]
aggregator: don't use iterator when setting flush pending on pads
Tim-Philipp Müller [Sun, 4 Jan 2015 16:57:05 +0000 (16:57 +0000)]
aggregator: check if pads are ready more efficiently
No need to use an iterator for this which creates a temporary
structure every time and also involves taking and releasing the
object lock many times in the course of iterating. Not to mention
all that GList handling in gst_aggregator_iterate_sinkpads().
Tim-Philipp Müller [Sun, 4 Jan 2015 12:59:19 +0000 (12:59 +0000)]
aggregator: name vfunc arguments consistently
Mark Nauwelaerts [Wed, 31 Dec 2014 19:47:24 +0000 (20:47 +0100)]
tests: nodist for orc generated code
Tim-Philipp Müller [Thu, 1 Jan 2015 15:46:00 +0000 (15:46 +0000)]
aggregator: add g-i transfer and scope annotations
Tim-Philipp Müller [Thu, 1 Jan 2015 14:10:05 +0000 (14:10 +0000)]
aggregator: register names of iterate_sinkpads functions with debug system
Tim-Philipp Müller [Thu, 1 Jan 2015 14:03:02 +0000 (14:03 +0000)]
aggregator: reduce debug messages for taking/releasing logs to TRACE level
Don't spam debug log with this stuff.
Tim-Philipp Müller [Wed, 31 Dec 2014 18:16:21 +0000 (18:16 +0000)]
aggregator: move property member into private structure
Our locking (or lack thereof) while accessing this also
looks generally quite dodgy.
Tim-Philipp Müller [Wed, 31 Dec 2014 14:50:58 +0000 (14:50 +0000)]
aggregator: remove empty dispose function
Tim-Philipp Müller [Tue, 30 Dec 2014 23:58:34 +0000 (23:58 +0000)]
aggregator: give private functions namespace prefix
Especially the GST_DEBUG_FUNCPTR ones.
Tim-Philipp Müller [Wed, 31 Dec 2014 12:35:06 +0000 (12:35 +0000)]
aggregator: fix up some docs comments in header
Tim-Philipp Müller [Tue, 30 Dec 2014 23:44:46 +0000 (23:44 +0000)]
aggregator: remove now-unused system clock member
Tim-Philipp Müller [Tue, 30 Dec 2014 19:43:43 +0000 (19:43 +0000)]
glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:26:47 +0000 (19:26 +0000)]
glmixer: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:22:01 +0000 (19:22 +0000)]
aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
Tim-Philipp Müller [Tue, 30 Dec 2014 18:01:34 +0000 (18:01 +0000)]
audiomixer: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 17:56:35 +0000 (17:56 +0000)]
videoaggregator: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 17:50:17 +0000 (17:50 +0000)]
aggregator: bring start/stop vfunc semantics in line with other baseclasses
Sub-class should not have to chain up to GstAggregator's start/stop
vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.
Tim-Philipp Müller [Tue, 30 Dec 2014 15:29:36 +0000 (15:29 +0000)]
audiomixer: fix output-block-size property description
Thiago Santos [Tue, 30 Dec 2014 11:07:18 +0000 (08:07 -0300)]
hlsdemux: only typefind when we have a minimum amount of data
For small amounts some data might be mistyped and it would cause
the pipeline to fail. For example if you have AAC inside mpegts,
for small amounts, the AAC samples would cause the typefinder to
think it is AAC and not mpegts.
https://bugzilla.gnome.org/show_bug.cgi?id=736061
Sebastian Dröge [Mon, 29 Dec 2014 10:49:51 +0000 (11:49 +0100)]
decklink: Add support for 4K / UHD modes
Sebastian Dröge [Mon, 29 Dec 2014 10:49:42 +0000 (11:49 +0100)]
decklink: Fix indention
Thiago Santos [Mon, 29 Dec 2014 13:44:53 +0000 (10:44 -0300)]
dashdemux: do not try to ref null pointer
Playlists might be missing the availability start time, so check for
it before trying to ref the object
Thiago Santos [Mon, 29 Dec 2014 13:44:19 +0000 (10:44 -0300)]
dashdemux: run gst-indent on mpdparser
Run gst-indent on mpdparser to have it stop complaining on every
commit
Tim-Philipp Müller [Sun, 28 Dec 2014 18:26:49 +0000 (18:26 +0000)]
aggregator: remove pointless GST_DEBUG_FUNCPTR
Not useful for GObject vfuncs.
Tim-Philipp Müller [Sun, 28 Dec 2014 18:24:21 +0000 (18:24 +0000)]
aggregator: remove duplicate pad parent_class variable
G_DEFINE_TYPE already provides one, just need to use it.
Tim-Philipp Müller [Sun, 28 Dec 2014 18:22:57 +0000 (18:22 +0000)]
aggregator: add _CAST() variants for cast macros
Tim-Philipp Müller [Sun, 28 Dec 2014 01:13:33 +0000 (01:13 +0000)]
aggregator: make padding larger
Esp. the class structures, can't have enough
spare space for virtual functions.
Tim-Philipp Müller [Sun, 28 Dec 2014 00:58:04 +0000 (00:58 +0000)]
siren: remove unneeded structure padding
Public headers are private and not installed.
Nirbheek Chauhan [Sat, 27 Dec 2014 10:45:41 +0000 (16:15 +0530)]
aggregator: Log to the pad instead of the element
More correct way of doing the same thing as before
Nirbheek Chauhan [Sat, 27 Dec 2014 10:20:17 +0000 (15:50 +0530)]
glvideomixer: Point to compositor for the pad properties documentation
Nirbheek Chauhan [Sat, 27 Dec 2014 10:19:47 +0000 (15:49 +0530)]
compositor: Document the pad properties
Nirbheek Chauhan [Sat, 27 Dec 2014 10:19:39 +0000 (15:49 +0530)]
audiomixer: Document the pad properties
Sebastian Dröge [Sat, 27 Dec 2014 08:49:43 +0000 (09:49 +0100)]
aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
Sebastian Dröge [Sat, 27 Dec 2014 08:42:57 +0000 (09:42 +0100)]
aggregator: Wait for the minimum latency, not the maximum
The minimum latency is the latency we have to wait at least
to guarantee that all upstreams have produced data. The maximum
latency has no meaning like that and shouldn't be used for waiting.
Nirbheek Chauhan [Fri, 26 Dec 2014 22:51:36 +0000 (04:21 +0530)]
aggregator: Clamp the min latency at the max if it's greater
Nirbheek Chauhan [Fri, 26 Dec 2014 22:51:26 +0000 (04:21 +0530)]
aggregator: Print the sinkpad name while logging latency queries
Very useful while debugging.
Nirbheek Chauhan [Fri, 26 Dec 2014 22:49:52 +0000 (04:19 +0530)]
aggregator: Take the stream lock when iterating sink pads
When iterating sink pads to collect some data, we should take the stream lock so
we don't get stale data and possibly deadlock because of that. This fixes
a definitive deadlock in _wait_and_check() that manifests with high max
latencies in a live pipeline, and fixes other possible race conditions.
Thiago Santos [Sat, 27 Dec 2014 02:05:43 +0000 (23:05 -0300)]
wrappercamerabinsrc: do not set source state with lock
It might be racy with the image probe thread as it uses the capture
mutex just like the start-capture handler from camerabin. The
start-capture would be waiting for the source's streaming thread
to stop to be able to set the source state to ready while the
probe would be blocked waiting to acquire the capture mutex.
It causes a deadlock.
Thiago Santos [Fri, 26 Dec 2014 13:17:19 +0000 (10:17 -0300)]
wrappercamerabinsrc: use the drain query instead of flush
The flush might clear any pending captures that are still in
queues being processed while the drain query will wait for those
to be properly done
Alessandro Decina [Fri, 26 Dec 2014 11:45:41 +0000 (22:45 +1100)]
avfvideosrc: improve timestamp code
Use a combination of the running time and CMClockGetTime from AVF to compute
timestamps.
Tim-Philipp Müller [Fri, 26 Dec 2014 11:48:56 +0000 (11:48 +0000)]
gdppay: use public API for accessing stream header arrays in caps
Don't rely on core implementation details, which are private and
may change. It's also not needed here, the performance impact is
close to none. Also copy buffer before changing its metadata.
Tim-Philipp Müller [Fri, 26 Dec 2014 11:29:12 +0000 (11:29 +0000)]
tests: gdpdepay: update for internal gdp refactoring
This test uses some internal/private API, so needs to
be updated for recent changes.