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
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
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
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
Sebastian Dröge
24b7d2500c
factorylist: Use gst_caps_can_intersect() instead of _intersect()
...
This is faster and results in less allocations.
2009-10-07 07:23:20 +02:00
Sebastian Dröge
999483b454
decodebin2: Don't set the external ghostpads blocked but only their targets
...
Pad blocks should never be done on external pads as outside elements
might want to use their own pad blocks on them and this will lead to
conflicts and deadlocks.
2009-10-07 07:23:20 +02:00
Sebastian Dröge
0dcc0857aa
decodebin2: Only use the object lock for protecting the subtitle elements
...
Using the decodebin lock will result in deadlocks if the subtitle encoding
is accessed from a pad-added handler.
2009-10-07 07:23:19 +02:00
Sebastian Dröge
9be848d04f
playbin2: Improve debugging of pad blocks
2009-10-07 07:21:38 +02:00
Sebastian Dröge
a4f454dc24
playbin2/playsink: Use gst_object_ref_sink() instead of calling both separately
2009-10-07 07:21:37 +02:00
Wim Taymans
a8d7e6a490
playsink: make the lock recursive for now
...
Fixes #583255
2009-10-01 09:35:54 +02:00
Wim Taymans
f18ed7abf9
playsink: fix the vis property getter
2009-10-01 09:35:54 +02:00
Edward Hervey
b565a3088c
playsink: Expose mute,volume,vis-plugin and font-desc properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=594623
2009-09-14 12:26:05 +02:00
Edward Hervey
377e781ad5
GstPlaySink: Expose 'reconfigure' as an action signal.
2009-09-14 10:40:00 +02:00
Edward Hervey
bafe9082fd
GstPlaySink: Expose flags as a gobject property.
2009-09-14 10:40:00 +02:00
Edward Hervey
02c50388c4
playback: Register playsink as an element.
...
This allows using playsink from outside the playback plugin.
Add code to be able to request the sink pads using standard GStreamer API.
TODO : expose GObject properties/signals.
2009-09-14 10:39:59 +02:00
Sebastian Dröge
91c3a23963
playbin2: Implement GstStreamVolume interface
2009-09-11 16:37:35 +02:00
Sebastian Dröge
6e23ea172f
interfaces: API: Add GstStreamVolume interface
...
Fixes bug #567660 .
2009-09-11 16:37:34 +02:00
Sebastian Dröge
662a31983f
playbin(2): Document that the volume property uses a linear scale
...
Fixes bug #571610 .
2009-09-10 16:56:14 +02:00
Stefan Kost
7a3797f332
docs: tell a biit more about uri-decodebin and buffering
2009-09-10 10:30:23 +03:00
Wim Taymans
2a5cd16eb1
fix whitespace
2009-09-08 13:02:46 +02:00
Wim Taymans
9e83339cf6
uridecodebin: do buffering for more uris
...
Add ssh://, ftp://, sftp://, myth:// to the list of uris that require
buffering.
Fixes #594020
2009-09-04 11:33:04 +02:00
Sebastian Dröge
2194166e05
decodebin2: Post missing plugin messages before any error messages
2009-08-31 11:10:55 +02:00
Sebastian Dröge
460dc94d23
playbin: The internally linked pad of the selector might be NULL in some cases
2009-08-26 16:56:19 +02:00
Sebastian Dröge
67a0ef9b3a
playbin: Fix iterate internal linked pads functions for the stream selectors
...
This now used the new gst_iterator_new_single() function and as a side effect
fixes bug #592864 .
2009-08-26 16:45:49 +02:00
David Schleef
0e9bc5125a
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Wim Taymans
c3ebeec5a5
playbin2: fix refcounting of _get_sink()
...
g_value_set_object() increases the refcount of the sink, which is not needed
because the object should already be refcounted. Make sure this is always the
case and use g_value_take_object().
Fixes : #592884
2009-08-24 15:08:36 +02:00
Sebastian Dröge
0c1fa2e8ab
streamselector/inputselector: Use iterate internal links instead of deprecated get internal links
2009-08-19 17:23:21 +02:00
Sebastian Dröge
b7fa34a279
playsink: Also send SEEK events directly to a subpicture sink
2009-08-18 11:15:41 +02:00
Sebastian Dröge
b5f84c0637
playsink: If a custom text sink is used, send events to it too
...
Before, SEEK events would be sent to the video sink, which wouldn't
be linked in any way to the subtitle part of the pipeline and
subparse would never see the SEEK event. This would then seek
the audio/video but the subtitles would continue from the old
position instead.
Fixes bug #591664 .
2009-08-18 08:39:02 +02:00
Sebastian Dröge
6aa731cb48
uridecodebin: Make missing plugins emit a warning message, not an error message
...
The problem with an error message is, that it will stop playback completely
while it could be that only a audio decoder plugin is missing and the video
could be played with the available plugins.
See bug #591677 .
2009-08-18 08:20:28 +02:00