Sebastian Dröge
c27cd709bf
playsink: Update comment about why an audio queue is needed
2011-03-24 14:22:00 +01:00
Sebastian Dröge
65320a04ab
Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
...
This reverts commit df886c0622
.
2011-03-24 14:21:01 +01:00
Sebastian Dröge
df886c0622
playsink: Only add a queue before the audio sink if visualizations are enabled
...
The queue is not needed otherwise and will add some delay to track
switches.
2011-03-24 14:04:54 +01:00
Sebastian Dröge
2c057f745f
playsink: Remember automatically created sinks for future reconfigures
...
Also allow reuse of sink elements in error cases.
2011-03-23 15:08:13 +01:00
Sebastian Dröge
9c13edef4e
playbin2: Check if an already existing sink supports the non-raw format too
...
Before we were assuming that a sink will always support all non-raw formats
in a single stream.
2011-03-23 14:43:36 +01:00
Arun Raghavan
b0ef98001f
playbin2: Check if an element accepts requisite caps before selecting
...
In addition to ensuring that an element we want to select in
autoplug-select can enter the READY state, we also now check if it can
accept the caps we wish to plug it for. This is handy for sinks that
need to perform a probe to figure out whether they can actually handle a
given format.
2011-03-23 14:42:05 +01:00
Sebastian Dröge
b76efc7f5d
playbin2: Set sinks to READY before checking if it accept caps
...
Fixes bug #642732 .
2011-03-23 14:33:17 +01:00
Sebastian Dröge
a0ff13217a
playbin2: Always prefer the custom set sink and also set it back to NULL in all cases.
2011-03-23 14:31:40 +01:00
Sebastian Dröge
4e49d58917
playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
...
Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.
2011-03-23 14:28:36 +01:00
Tim-Philipp Müller
e8f5b3a579
uridecodebin: post proper error message if decodebin2/typefind elements are missing
...
Post better error messages in case typefind/decodebin2 are missing or
could not be loaded for some reason (e.g. because they inadvertently
got blacklisted).
https://bugzilla.gnome.org/show_bug.cgi?id=644892
2011-03-16 10:19:42 +00: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
Stefan Kost
cf9aaffcb9
playbin2: set several properties in one go
...
g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
them) by using it accordingly.
2011-03-04 14:43:20 +02: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
Tim-Philipp Müller
c48c193b56
playbin2, uridecodebin: add "source-setup" signal
...
Add "source-setup" signal for convenience and discoverability. No need
to figure out "notify::source", look up the notify callback signature,
then do an g_object_get() to get the source element..
https://bugzilla.gnome.org/show_bug.cgi?id=626152
2011-02-24 16:53:01 +00:00
Mark Nauwelaerts
19052a847d
playsink: release all chains when going to NULL
...
Also fixes #642466 .
2011-02-23 14:33:40 +01:00
Mark Nauwelaerts
102b4feddf
playsink: undo state change side effect on error way out
...
... to avoid subsequent cleanup disposing an element not in NULL state.
2011-02-23 14:33:35 +01:00
Mark Nauwelaerts
948e4d50a6
playsink: avoid crashing on the way out when needed chain missing
2011-02-23 10:33:44 +01:00
Sebastian Dröge
0e3c32ac72
playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
...
This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.
2011-02-18 17:29:07 +01:00
Sebastian Dröge
2fc70442a7
playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
...
This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.
2011-02-18 14:04:38 +01:00
Sebastian Dröge
09750a0132
uridecodebin: Add default handler for autoplug-select
...
uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.
2011-02-18 12:06:30 +01:00
Sebastian Dröge
91122e4efc
uridecodebin: 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:02:18 +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
Sebastian Dröge
da4b5bf9f9
uridecodebin: Update autoplug-* signal docs from decodebin2
...
uridecodebin proxies these signals.
2011-02-18 12:00:34 +01:00
Sebastian Dröge
ef5f73206d
decodebin2: Update documentation of the autoplug-* signals
...
Add notes about the behaviour if multiple signal handlers are connected.
For most autoplug-* signals only the first signal handler will ever
be invoked.
Also add to the autoplug-sort docs that the signal handler can return NULL
to specify that the order should change and other handlers get the chance
to sort the array.
2011-02-18 11:58:44 +01:00
Sebastian Dröge
785f35a48e
decodebin2: Keep the original factory list if the sort signal handlers returned NULL
2011-02-18 11:57:12 +01:00
tskd2@yahoo.co.jp
0641eabeb2
uridecodebin: expose "autoplug-sort" signal
...
It is a proxy of the decodebin2's one, and was missing
in the previous code.
See bug #642433 .
2011-02-18 11:17:11 +01:00
Sebastian Dröge
1351597381
playbin2: Use a recursive mutex for the playbin lock
...
This lock is taken when activating a group, which could result in
calling the autoplug-continue callback, which also needs this lock
to access the sinks.
See bug #642174 .
2011-02-18 10:57:40 +01:00
Sebastian Dröge
6ca5bb72a4
decodebin2: Disconnect signal handlers when removing a failed element
...
This prevents crashes later if one of the signals is emitted after the
element was removed from decodebin2 already, which can happen in discoverer.
2011-02-18 09:44:49 +01:00
Sebastian Dröge
140dca43f3
playbin2: Optimize autoplug-continue handler a bit
...
Don't build merge the caps of all sinks but check them one-by-one
until one supports the caps. Also get reffed caps from the sinkpads
instead of a writable copy and add debug output if a sink claims to
support ANY caps.
2011-02-15 17:46:22 +01:00
Akihiro Tsukada
555e338008
playbin2: Fix handling of non-raw custom sinks
...
When autoplugging elements in decodebin2, check if
the caps are supported by one of the sink before
continuing autoplugging.
Fixes bug #642174 .
2011-02-15 17:24:28 +01:00
Sebastian Dröge
fbf9729795
decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
...
Fixes bug #642381 .
2011-02-15 17:05:42 +01:00
Stefan Kost
fe59f50468
decodebin2: caps can be NULL
...
Don't use and unref NULL caps.
2011-02-08 12:32:23 +02:00
Mark Nauwelaerts
2c017d2a70
uridecodebin: fix copy-and-paste typo in property docs
2011-02-02 15:39:19 +01:00
Wim Taymans
1fb7c7e5dc
uridecodebin: also add https to buffer protocols
...
HTTPS also needs buffering.
2011-01-31 10:34:44 +01:00
Stefan Kost
69436bb8a6
decodebin2: add comment and whitespace trimming
2011-01-25 18:03:58 +02:00
Tim-Philipp Müller
dcd4222716
playbin2: use input-selector from core instead of internal copy
2010-12-31 12:14:22 +00:00
Vincent Penquerc'h
f221466099
playbin2: delay stream-changed messages
...
https://bugzilla.gnome.org/show_bug.cgi?id=637586
2010-12-21 17:42:58 +01:00
Sebastian Dröge
09ff04a00a
decodebin2: Deprecate new-decoded-pad and removed-decoded-pad signals
...
They're really the same as pad-added and pad-removed from GstElement
and it doesn't make sense to have two signals for the same thing.
2010-12-11 17:18:49 +01:00
Sebastian Dröge
42dee942d4
decodebin2: Emit "remove-decoded-pad" signal when pads are removed from decodebin2
...
Fixes bug #636198 .
2010-12-11 17:15:28 +01:00
Stefan Kost
95b259f9c9
playbin2: add some logging for failure case
2010-12-02 23:04:51 +02:00
Stefan Kost
baa2fbbb68
inputselector: log times in human readable form
2010-12-02 23:04:51 +02:00
Stefan Kost
7f787249bb
inputselector: more G_PARAM_STATIC_STRINGS use
2010-12-02 23:04:51 +02:00
Stefan Kost
3b35063ceb
inputselector: move reoccuring logs to LOG and remove a double info
...
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-12-02 23:04:51 +02:00
Sebastian Dröge
66ce6200a8
playsink: gen_video_chain() always returns a bin, no need to check for that
2010-12-02 19:04:28 +01:00
Sebastian Dröge
92133f7ce4
streamsynchronizer: If we get EOS for an unknown stream just do nothing
...
instead of dereferencing NULL pointers. This can happen if the stream
was just removed from the streamsynchronizer in a bad time.
2010-12-02 19:04:28 +01:00
Sebastian Dröge
fe856a3f7c
playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that
2010-12-02 19:04:28 +01:00