Wim Taymans
a00927ad03
Merge branch 'master' into 0.11
2011-10-04 17:58:49 +02:00
Sebastian Dröge
9117681b35
decodebin2: Use a TIME limit for pre-rolling in live streams and not in non-live streams
...
Fixes bug #647769 for real.
2011-10-03 10:55:53 +02:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Sebastian Dröge
61c6fcb2cd
decodebin2: Only check if this is a discarded type if we have fixed caps
...
For unfixed caps we will get here again later when the caps are fixed.
2011-09-20 14:06:51 +02:00
Sebastian Dröge
8e114c427a
decodebin2: Only call autoplug-continue with fixed caps
...
With unfixed caps we can't reliably decide if the final caps
are going to be "raw" (e.g. supported by a sink) or not.
We will get here again later when the caps are fixed.
2011-09-20 14:06:42 +02:00
Youness Alaoui
27058c1bc6
decodebin2: Initialize variable correctly
...
If subdrained isn't initialized to FALSE then a chain might think
that its group is drained when in fact it's not and this can cause
a switch too early or even cause a deadlock.
2011-09-19 12:36:48 +02:00
Edward Hervey
9d2bcb08fe
decodebin2: Rewrite EOS-handling code
...
This is now really threadsafe and improves switching
between different groups.
2011-09-19 12:34:51 +02:00
Sebastian Dröge
936e87cdcf
decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
...
Fixes bug #658846 .
2011-09-19 11:54:27 +02:00
Sebastian Dröge
21bc8ddcb7
Revert "Revert "decodebin2: Do a subset check before actually using a factory""
...
This reverts commit 5f5d832a3b
.
2011-09-08 14:42:13 +02:00
Sebastian Dröge
0f654f3feb
Merge branch 'master' into 0.11
...
Conflicts:
docs/libs/Makefile.am
tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Sebastian Dröge
5f5d832a3b
Revert "decodebin2: Do a subset check before actually using a factory"
...
This reverts commit 50a88396ae
.
See bug #658541 .
2011-09-08 13:25:27 +02:00
Sebastian Dröge
9e2ce5bbb5
decodebin2: Make sure to fixate Parser/Converter caps before continuing autoplugging
2011-09-07 16:44:59 +02:00
Sebastian Dröge
46e26824d4
decodebin2: Intersect the factory caps with the current caps for the capsfilter
...
Otherwise we'll include many incompatible caps in the capsfilter that
will only slow down negotiation.
2011-09-07 14:20:36 +02:00
Tim-Philipp Müller
f93748fbd4
decodebin2: fix element factory refcounting
...
g_value_get_object() does not give us our own ref.
Fixes "Trying to dispose object "flacparse", but it still has a parent "registry0".
You need to let the parent manage the object instead of unreffing the object directly."
and similar warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=658416
2011-09-07 12:34:06 +01:00
Wim Taymans
8ee3da5bba
Merge branch 'master' into 0.11
...
Conflicts:
gst/playback/gstsubtitleoverlay.c
tests/check/elements/decodebin2.c
2011-09-06 15:31:53 +02:00
Wim Taymans
7012e88090
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudiodecoder.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudioencoder.h
gst/playback/Makefile.am
gst/playback/gstplaybin.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
gst/videoscale/gstvideoscale.c
win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Sebastian Dröge
50a88396ae
decodebin2: Do a subset check before actually using a factory
...
This prevents autoplugging if the caps have a non-empty intersection
but are not accepted by the next element's pad.
2011-09-06 14:16:10 +02:00
Sebastian Dröge
4be8c44b08
decodebin2: Fix memory leak
2011-09-06 13:16:44 +02:00
Sebastian Dröge
20f9d0bec5
decodebin2: Correctly negotiate format for parsers that can convert different stream formats
...
This is done by adding a capsfilter after every parser/converter that contains
all possible caps supported by downstream elements. A capsfilter is necessary
here because the decoder is only selected after the parser selected a format
and the parser can't know what downstream would support otherwise.
2011-09-06 13:16:44 +02:00
Sebastian Dröge
de4fc848fa
decodebin2: Actually iterate over the factories instead of only taking the first one
2011-09-05 20:32:42 +02:00
Sebastian Dröge
425d3ae7bc
decodebin2: Keep the chain mutex locked while connecting to the notify::caps signal
2011-08-31 12:40:30 +02:00
Wim Taymans
33467d9629
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Wim Taymans
e904c529e3
fix for _negotiated_caps() change
2011-08-15 12:18:15 +02:00
Tim-Philipp Müller
bb65192151
ext,gst: update for query API changes
2011-07-27 01:16:53 +01:00
Edward Hervey
38a6919a7b
decodebin2: Allow all EOS to go through if we don't have a next group
...
Only drop them if the current group isn't drained .. AND there is a
next group to switch to.
Should Fix #655268
2011-07-26 12:33:56 +02:00
Edward Hervey
c91928f7a2
decodebin2: Properly handle multi-stream chains
...
When we have a multi-stream (i.e. audio and video) input and the demuxer
adds/removes pads for a new stream (common in a mpeg-ts stream when the
program stream mapping is updated), the algorithm for EOS handling was
previously wrong (it would only drop the EOS of the *last* pad but would
let the EOS on the other pads go through).
The logic has only been changed a tiny bit for EOS handling resulting in:
* If there is no next group, let the EOS go through
* If there is a next group, but not all pads are drained in the active
group, drop the EOS event
* If there is a next group and all pads are drained, then the ghostpads
will be removed and the EOS event will be dropped automatically.
2011-07-25 10:45:36 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Tim-Philipp Müller
59581d464f
uridecodebin, decodebin: remove new-decoded-pad and removed-decoded-pad signals
...
They were deprecated, use "pad-added" and "pad-removed" instead.
2011-06-15 00:32:23 +01:00
Tim-Philipp Müller
5fd073e070
playback: merge playbin and decodebin plugins into one single playback plugin again
2011-06-15 00:02:13 +01:00
Tim-Philipp Müller
b5ef8efa1a
decodebin2: rename decodebin2 to decodebin
...
But don't rename source file for now, which hopefully
makes merging from master easier.
2011-06-14 23:53:38 +01:00
Wim Taymans
f565812e25
playback: changes for message API changes
2011-06-08 13:45:41 +02:00
Wim Taymans
f91c753959
probes: port to new API for blocking and probes
2011-06-01 19:34:54 +02:00
Wim Taymans
c7428aeaae
playbin: fixed for new pad block API
2011-05-30 18:36:14 +02:00
Wim Taymans
8501753033
-base: change for changed set_blocked API
2011-05-26 16:18:16 +02:00
Sebastian Dröge
8549dd352d
Revert "decodebin2: Update for GstQuery related API changes"
...
This reverts commit 549128c2a3
.
2011-05-17 11:24:18 +02:00
Sebastian Dröge
549128c2a3
decodebin2: Update for GstQuery related API changes
2011-05-16 17:13:14 +02:00
Sebastian Dröge
d0362c2b87
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/alsa/gstalsasrc.c
gst-libs/gst/audio/gstbaseaudiosink.c
gst-libs/gst/tag/gstxmptag.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
616181901e
playback: Update for negotiation related API changes
2011-05-16 15:35:40 +02:00
Andoni Morales Alastruey
dd36e4cd0e
decodebin2: fix preroll for streams at low bitrates
...
For streams at low bitrates we need to set a limit in time because the limit
in bytes might not reached too late, sometimes more than 30 seconds.
This limit can only be set if upstream is seekable (see #584104 )
Closes #647769
2011-05-14 11:42:33 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
64851f12c0
gst: Update for new GstIterator API
2011-05-05 16:03:52 +02:00
Wim Taymans
95f7fd8edf
Merge branch 'master' into 0.11-fdo
2011-03-15 11:11:56 +01:00
Stefan Kost
63be375c21
plaback: trim trailing whitespace
2011-03-14 10:43:42 +02:00
Stefan Kost
7f1382112e
decodebin2: reflow configuring new multiqueue instance
...
Use a single g_object_set to configure the new multiqueue instance. Also don't
needlessly set "use-buffering" if it is the default.
2011-03-14 10:43:42 +02:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Sebastian Dröge
4ac6f5ff83
decodebin2: Only prevent to autoplug the same parser multiple times for the same chain
...
Parsers are the only element class that are not changing the data and
could lead to an infinite loop. Other element classes like demuxers,
e.g. id3demux, can be used multiple times in a row and sometimes are.
2011-02-27 09:32:55 +01:00
Sebastian Dröge
c7f5290247
decodebin2: Break the double-factory checking loop immediately if the factory was used already
2011-02-26 23:43:39 +01:00
Sebastian Dröge
5058f79226
decodebin2: Don't use the same element multiple times in the same chain
...
This is going to lead to an infinite loop of this element and can easily
happen with parsers that accept their own src caps on the sinkpad.
2011-02-26 23:40:48 +01:00
Sebastian Dröge
32c30b88ff
decodebin2: Improve detection of raw caps in expose-all-streams=false mode
...
Previously we only checked against the raw caps but we should also
check against the return value of autoplug-continue. Additionally fix
a thread-safety issue with accessing the raw caps.
2011-02-26 23:24:11 +01:00
Sebastian Dröge
2a6602d994
decodebin2: Return NULL from the default autoplug-sort handler
...
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:01:05 +01:00