Commit graph

20703 commits

Author SHA1 Message Date
Thiago Santos
5cd07bd2af decodebin2: only allow 'lower' multiqueues to emit buffering messages
When we have a scenario of demuxers linked to demuxers, decodebin2
will create multiqueue at different levels of the pipeline. The problem
is that only the lowest multiqueue's should do the buffering messaging,
as they will handle with the raw streams data.

When all multiqueues are doing buffering, the upper ones can handle
large buffers that easily fill them, moving from 0% to 100% from
buffer to buffer, causing too much buffering messages to be posted.
This hangs the pipeline unnecessarily and might lead to deadlocks.
2013-04-23 11:20:28 -03:00
Thiago Santos
6382d4c0ad decodebin2: do not handle the next-groups list as if it was a single item
Decodebin2's chains store a next_groups list that was being handled as
it could only have a single element. This is true for most of the
chaining streams scenarios where streams change not very often.

In more stressfull changing scenarios, like adaptive streams, those
changes can happen very often, and in short time intervals. This could
confuse decodebin2 as this list was always being used as a single
element list.

This patches makes it handle as a real list, using iteration instead
of picking the first element as the correct one always.
2013-04-23 10:32:19 -03:00
Thiago Santos
054ffc6e2b decodebin2: preserve next groups order 2013-04-23 10:32:19 -03:00
Thiago Santos
42db7c7b08 decodebin2: still report chain as drained when not 'handled'
Even if the chain hasn't been 'handled' in this switching round,
report it as drained so upper chains/groups know abou it.

This makes switching happen on upper levels of the groups/chain
trees
2013-04-23 10:32:19 -03:00
Thiago Santos
ce20bc1dc0 typefind: add smoothstreaming manifest typefinding
Checks if the received XML is a smoothstreaming manifest
in both UTF8 and UTF16 formats. The check is made for a
SmoothStreamingMedia top level element.

Conflicts:
	gst/typefind/gsttypefindfunctions.c
2013-04-23 10:32:19 -03:00
Sebastian Dröge
d77f76049e streamsynchronizer: Don't consider a stream added for an already running one as "new"
Fixes enabling visualizations after disabling them after they were enabled already.
2013-04-23 13:54:49 +02:00
Sebastian Dröge
2e017bd595 streamsynchronizer: If a stream belongs to an already running stream, don't wait
This fixes enabling visualizations after the audio stream already started.

https://bugzilla.gnome.org/show_bug.cgi?id=697820
2013-04-23 13:19:38 +02:00
Tim-Philipp Müller
93769b1a60 Automatic update of common submodule
From 3cb3d3c to 5edcd85
2013-04-22 23:51:08 +01:00
Tim-Philipp Müller
f5c0d61be7 Update disted orc backup files
Generated with 0.4.17 now.
2013-04-22 13:58:33 +01:00
Tim-Philipp Müller
830926e47d uridecodebin: don't report 'no uri handler found' if the URI was rejected by a source
If a source element could be created for a URI, but all elements rejected
the URI for some reason, propagate the error from the URI handler instead
of reporting a 'no uri handler found for protocol xyz' error, which is
confusing. Fixes error reporting with dvb:// URIs when the channel config
file could not be found or not be parsed or the channel isn't listed.

https://bugzilla.gnome.org/show_bug.cgi?id=678892
2013-04-21 17:30:58 +01:00
Thibault Saunier
fbe80a688d adder: Do not try to wait for flush_stop after receiving a segment event
+ Add a simple test
2013-04-21 16:11:41 +02:00
Stefan Sauer
fa9c0cdf6e volume: skip controlled processing if we have no timestamp 2013-04-21 16:11:41 +02:00
Sreerenj Balachandran
9c94a1812f playbin: use _plugin_feature_rank_compare API instead of duplicating the code. 2013-04-18 13:59:52 +02:00
Sreerenj Balachandran
8cf6049643 decodebin: use _plugin_feature_rank_compare API instead of duplicating the code. 2013-04-18 13:59:36 +02:00
Sebastian Dröge
9d309a3e06 videoencoder: Simply setcaps function 2013-04-18 09:58:37 +02:00
Sebastian Dröge
d537a21075 audioencoder: Ignore caps events if the input caps did not change 2013-04-18 09:58:36 +02:00
Sebastian Dröge
d1a08af605 audiodecoder: Ignore caps events if the input caps did not change 2013-04-18 09:58:36 +02:00
Stefan Sauer
cdfc05ec4d oggmux: add more logging and fix the object param for some logging
Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper
with an early return.
2013-04-17 21:47:11 +02:00
Sebastian Dröge
74f6376c53 videometa: Extend GstVideoGLTextureUploadMeta
https://bugzilla.gnome.org/show_bug.cgi?id=697112
2013-04-17 10:50:05 +02:00
Tim-Philipp Müller
e96ca66c36 docs: add some more audio macros 2013-04-17 09:26:40 +01:00
Philippe Normand
26fb72cf65 uridecodebin: query bandwidth capability to source element
Use a scheduling query to check if the source element has some
bandwidth limitations. If this is the case on-disk buffering might be
used. If the source element doesn't handle the scheduling query then
fallback to checking the URI protocol against the hardcoded list of
protocols known to handle buffering already.

Fixes bug 693484.
2013-04-16 16:47:28 +02:00
Sebastian Dröge
dbbcdf901c app: Don't use $(GST_PLUGIN_LIBTOOLFLAGS) for real libraries 2013-04-16 14:09:43 +02:00
Sebastian Dröge
228e65b33c gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Sebastian Dröge
49d8a1e769 gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Sebastian Dröge
948a4a3632 gst: Add better support for static plugins 2013-04-15 15:52:58 +02:00
Wim Taymans
04d5dafa71 sdp: dynamically allocate buffers
Remove the static maximum buffer size and replace with dynamic allocation of as
much bytes as needed. Also avoids doing large allocations on the stack.
2013-04-15 15:37:17 +02:00
Wim Taymans
83a877daf6 sdp: add Since markers 2013-04-15 14:27:47 +02:00
Jose Antonio Santos Cadenas
ba1e693853 sdp: add boxed type for GstSDPMessage
Also added some tests of this improvement.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697808
2013-04-15 14:27:47 +02:00
Matej Knopp
90620b236a riff: add format=WMV3 for WMV 3 caps
https://bugzilla.gnome.org/show_bug.cgi?id=697665
2013-04-15 12:39:25 +02:00
Sreerenj Balachandran
9b33c75cd4 playbin: use ascending order for name based sorting of pluginfeatures.
The compare_factories_func() should return negative value
if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:22 +02:00
Sreerenj Balachandran
f07eb23728 decodebin: use ascending order for name based sorting of pluginfeatures.
The _decode_bin_compare_factories_func() should return negative
value if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:16 +02:00
Sebastian Dröge
98f41f1c39 audioringbuffer: Also reset segbase 2013-04-15 10:13:14 +02:00
Paul HENRYS
587b2721c8 audioringbuffer: Reset segdone when releasing audioringbuffer
https://bugzilla.gnome.org/show_bug.cgi?id=697723
2013-04-15 10:09:49 +02:00
Tom Greenwood
789ddf42a9 rtpbasedepayload: Ignore caps events if the caps did not change
https://bugzilla.gnome.org/show_bug.cgi?id=697672
2013-04-15 10:00:05 +02:00
Sebastian Dröge
0b83d13231 videoencoder: Ignore caps events if the caps did not change 2013-04-15 09:44:37 +02:00
Tom Greenwood
3023521366 videodecoder: Ignore caps events if the caps did not change
https://bugzilla.gnome.org/show_bug.cgi?id=697672
2013-04-15 09:44:36 +02:00
Sebastian Dröge
6e01d1869b ogg: Prevent some symbol conflicts between the ogg plugin and schroedinger 2013-04-15 08:38:34 +02:00
Tim-Philipp Müller
05c7cd1113 Automatic update of common submodule
From 2736592 to 3cb3d3c
2013-04-14 17:54:43 +01:00
Tim-Philipp Müller
e230cd8c63 Automatic update of common submodule
From aed87ae to 2736592
2013-04-14 17:26:13 +01:00
Tim-Philipp Müller
1c0288db38 playbin: fix jpeg passthrough to decoder sinks by marking image/* as video stream 2013-04-12 11:51:30 +01:00
Jonas Holmberg
4ff3972aa7 tests: avoid assert in adder test if no audio sources work
The array of factories should not contain a NULL element at the end
since the number of arguments is determined via G_N_ELEMENTS and the
NULL will be used as an argument to gst_element_factory_make() if
the other sources in the list weren't usable.
2013-04-12 11:06:49 +01:00
Víctor Manuel Jáquez Leal
52d269b6b1 videometa: gst_buffer_add_meta() can return NULL
https://bugzilla.gnome.org/show_bug.cgi?id=697824
2013-04-11 23:47:36 +01:00
Stefan Sauer
d56f3381a5 Automatic update of common submodule
From 04c7a1e to aed87ae
2013-04-09 20:59:51 +02:00
Alexander Schrab
c32756a9be ximagesink: Fix coompiler error without HAVE_XSHM
https://bugzilla.gnome.org/show_bug.cgi?id=697628
2013-04-09 20:02:08 +02:00
Sebastian Dröge
3de4200f61 videoscale: Fix unit test after latest videoconvert changes 2013-04-09 14:04:47 +02:00
Sebastian Dröge
99551d806c videoconvert: Fix unit test after latest videoconvert changes 2013-04-09 13:59:34 +02:00
Thomas Scheuermann
9a78542ded rtsp: Don't use / as path if no path was provided
RTSP does not mandate that a non-zero-length path is used and
some devices (e.g. IQinVision IQeye 1080p) requires that a
zero-length path is used.
2013-04-08 09:09:33 +02:00
Sebastian Dröge
882677eb8e videoscale: Allow passthrough for ANY caps features 2013-04-08 08:30:38 +02:00
Sebastian Dröge
d0133a2d11 videoconvert: Allow passthrough for ANY caps features 2013-04-08 08:30:38 +02:00
David Schleef
c07efdabd8 videoscale: set reasonable limits on properties
Properties sharpen, sharpness, and envelope are only useful
near their default values.  Decrease ranges to avoid brokenness.

https://bugzilla.gnome.org/show_bug.cgi?id=682171
2013-04-06 13:19:44 -07:00