Wim Taymans
7ab778199e
uridecodebin: don't use 2 buffering elements
...
Only use the multiqueue buffering when we don't have a stream (and thus are
using queue2 to do the buffering already).
2009-10-24 16:10:00 -04:00
Wim Taymans
660fc111d1
playbin2: add flag to enable decodebin buffering
...
Add a flag that enables buffering in decodebin.
2009-10-24 16:10:00 -04:00
Wim Taymans
f998858192
decodebin2: buffering is implemented now
2009-10-24 16:09:59 -04:00
Wim Taymans
26290f44d6
uridecodebin: buffering is implemented now
2009-10-24 16:09:59 -04:00
Wim Taymans
3d2b3dd268
decodebin2: configure use-buffering on multiqueue
2009-10-24 16:09:59 -04:00
Wim Taymans
d5add83976
uridecodebin: use 0 for max buffer size
2009-10-24 16:09:59 -04:00
Wim Taymans
1fa7f049f1
uridecodebin: set some reasonable defaults
2009-10-24 16:09:59 -04:00
Wim Taymans
3883fac8d8
uridecodebin: set buffering properties on decodebin2
...
Propagate the buffering properties on decodebin2 but only if we are not already
doing download buffering.
2009-10-24 16:09:59 -04:00
Wim Taymans
adba87539f
uridecodebin: add use-buffering property
...
Add a use-buffering property that will perform buffering on the parsed or
demuxed media.
2009-10-24 16:07:36 -04:00
Wim Taymans
baecd335b2
decodebin2: refactor queue size configuration.
...
Refactor the queue size configuration into a new method.
Use the same queue values for buffering as for preroll.
2009-10-24 16:07:36 -04:00
Wim Taymans
cffe4d7bd3
decodebin2: move error path down
2009-10-24 16:07:36 -04:00
Wim Taymans
1c982d0dbe
decodebin2: implement max queue size properties
2009-10-24 16:07:36 -04:00
Wim Taymans
3fffb0e2dd
decodebin2: add properties for buffering
...
Add properties that can be used to configure the multiqueue buffers and
buffering methods
2009-10-24 16:07:36 -04:00
Sebastian Dröge
4de2ab48ea
playbin2: Don't destroy the suburidecodebin on errors
...
It can still be reused
2009-10-24 13:08:07 +02:00
Sebastian Dröge
497d0a4793
playbin2: If setting the state of the suburidecodebin fails just warn, don't error out
2009-10-24 13:07:45 +02:00
Sebastian Dröge
cd5475aa6f
playbin2: Don't set uridecodebin states to NULL before reusing them
...
This makes sure that the internal decodebin2 and everything else can
be reused without reinstantiation.
2009-10-24 12:54:11 +02:00
Edward Hervey
80b37c614a
uridecodebin: Store unused decodebin2 instances for further usage.
...
This allows faster re-use of uridecodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=599471
2009-10-24 11:48:33 +02:00
Thiago Santos
e55bf9bdd8
audiorate: move debug calculation into debug macro
...
Remove in_duration and move its calculation to
GST_LOG_OBJECT macro. This way it will only be calculated
if we have debug enabled.
2009-10-22 09:14:30 -03:00
Thiago Santos
d95b607e23
audiorate: Removing unused variable
...
The in_stop variable was never read. Removing it.
2009-10-22 09:14:30 -03:00
Thiago Santos
44d6ebc48f
audiorate: be more accurate on offset math
...
Replace gst_util_uint64_scale_int for its rounding version
to improve accuracy and avoid inserting samples where
they aren't needed.
Fixes #499181
2009-10-22 09:14:29 -03:00
Iago Toral
f63643bd54
subparse: Add support for DKS subtitle format
...
Fixes bug #598936 .
2009-10-22 10:02:11 +02:00
Wim Taymans
bdfb4b46d7
inputselector: set output caps before pushing
...
Set the output caps on the srcpad before pushing the buffer because else core
will do a rather expensive check to see if we can actually accept those caps on
the srcpad.
2009-10-21 16:24:29 -04:00
Wim Taymans
5b72f2adf9
inputselector: install an acceptcaps function
...
Install a custom acceptcaps function instead of using the default expensive
check. We accept whatever downstream accepts so we pass along the acceptcaps
call to the downstream peer.
2009-10-21 15:58:11 -04:00
Tim-Philipp Müller
37f8957181
typefind: fix typo in previous mxf typefinder change
2009-10-21 20:36:23 +01:00
Edward Hervey
d48d47e683
typefind: speed up mxf_type_find over 300 times for worst case scenarios
...
* memcmp is expensive and was being abused, reduce calling it by checking
the first byte.
* iterating one byte at at time over 64 kbites introduces a certain overhead,
therefore we now do it in chunks of 1024 bytes
And I do mean over 300 times. The average instruction call per mxf_type_find
was previously 785685 and it's now down to 2458 :)
2009-10-21 21:04:45 +02:00
Wim Taymans
c489fb01ca
decodebin2: avoid type checks
2009-10-20 17:14:40 -04:00
Edward Hervey
891c54f6f8
gst/decodebin2: Ensure we get fixed caps for topology message
...
There are some corner cases (like with dvdemux amongst others) where
the caps won't be negotiated, but the pad has fixed caps.
2009-10-20 10:15:57 +02:00
Edward Hervey
64c8b1d5d9
gst/decodebin2: Don't expose chains if we're shutting down.
...
This avoids adding flushing pads to ourself
2009-10-20 10:15:48 +02:00
Stefan Kost
f1c32d0fbb
build: fix previous commit to fully accomodate the glib-gen.mak changes
...
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
2009-10-16 10:56:56 +03:00
Stefan Kost
a89c1de0ea
build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
...
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 10:23:09 +03:00
Sebastian Dröge
efcca84bac
decodebin2: Post a element message on the bus with the stream topology
...
Fixes bug #598533 .
2009-10-15 13:35:29 +02:00
Sebastian Dröge
50fdbcd9ea
decodebin2: Store the "endcaps" of a chain
...
This are the caps that either resulted in a deadend if
no plugin for them could be found or raw caps.
2009-10-15 13:35:29 +02:00
Sebastian Dröge
366aaae825
decodebin2: Store for every chain, which pad resulted in its creation
2009-10-15 13:35:28 +02:00
Sebastian Dröge
2b3741403e
playbin2: Use gst_object_has_ancestor() instead of our own implementation of it
2009-10-14 08:36:54 +02:00
Sebastian Dröge
a4bc39ef48
playbin2: Don't stop completely on initialization errors from subtitle elements
...
Instead disable the subtitles and play the other parts of the stream.
Fixes bug #587704 .
2009-10-13 16:53:50 +02:00
Sebastian Dröge
d40246ff7d
decodebin2: Ignore no-more-pads from non-demuxer elements
...
instead of printing an error that no corresponding group could
be found. no-more-pads from non-demuxer elements doesn't give
any additional information because there can only be a single srcpad.
Fixes bug #598288 .
2009-10-13 16:52:43 +02:00
Stefan Kost
319baefeba
audioconvert: track active conversion in perf log
2009-10-12 21:43:42 +03:00
Josep Torra
7bba1217a5
audioconvert: fixes warning: format not a string literal and no format arguments
...
redo of valid part of my previous revert.
2009-10-09 15:29:15 +02:00
Josep Torra
7b77138667
Revert "audioconvert: fixes warning: format not a string literal and no format arguments"
...
Revert this commit as unintentionally I've changed common.
This reverts commit 49ea013822
.
2009-10-09 15:19:42 +02:00
Josep Torra
9c335ec185
videorate: fix warning in macosx
2009-10-09 14:23:36 +02:00
Josep Torra
99db7845c7
audiorate: fix warning in macosx
2009-10-09 14:20:47 +02:00
Josep Torra
49ea013822
audioconvert: fixes warning: format not a string literal and no format arguments
2009-10-09 14:14:15 +02:00
Stefan Kost
e81303b733
ffmpegcolorspace: chwck formats just once per _chain()
2009-10-08 18:10:08 +03:00
Stefan Kost
f2d1c9b0b7
ffmpegcolorspace: add perf-log-category and log suboptimal operation
...
Log if we use an intermediate colorspace for conversion.
2009-10-08 18:09:52 +03:00
Jan Schmidt
592b8ecb09
decodebin2: Fix type-punning warning
2009-10-08 00:17:21 +01:00
Sebastian Dröge
9bd6fe41cb
decodebin2: Chains with an exposed endpad are complete too
...
This allows partial group changes, i.e. demuxer2 in the example below
goes EOS but has a next group and audio2 stays the same.
/-- >demuxer2---->video
demuxer--- \--->audio1
\--->audio2
2009-10-07 17:46:30 +02:00
Sebastian Dröge
bf7cd0ed81
decodebin2: Use the iterate internal links function instead of string magic to get multiqueue srcpads
2009-10-07 17:46:29 +02:00
Sebastian Dröge
674e2309ac
uridecodebin: Don't post missing plugin messages twice
...
decodebin2 already posts them after emitting the unknown-type signal,
there's no need to post another one.
2009-10-07 17:46:29 +02:00
Sebastian Dröge
cf9c6a2271
decodebin2: Rewrite autoplugging and how groups of pads are exposed
...
This now keeps track of everything that is going on, creates
a tree of chains and groups to allow "demuxer after demuxer" scenarios
and allows chained Oggs with multiple streams (needs oggdemux or playbin2 fixes).
Also document everything in detail and give a general overview of what
decodebin2 is doing at the top of the sources.
Fixes bug #596183 , #563828 and #591677 .
2009-10-07 17:46:28 +02:00
Stefan Kost
ccf5d6551a
build: sprintf, sscanf need stdio.h
2009-10-07 11:56:35 +03:00