Commit graph

1249 commits

Author SHA1 Message Date
Tim-Philipp Müller
1dea99ded3 decodebin: make GValueArray arguments in autoplug-* signals static scope to avoid copies 2012-07-09 08:35:22 +01:00
Tim-Philipp Müller
81213ca040 playbin: don't use deprecated textoverlay properties 2012-07-06 12:37:56 +01:00
Sebastian Dröge
2f3637ca07 uridecodebin: Fix double-unref when iterating over element pads 2012-07-05 15:34:44 +02:00
Tim-Philipp Müller
99103be50c playsink: make extra sure to pass 64-bit integer to g_object_set when setting ts-offset
Might just be paranoia, but better safe than sorry. Make sure
the compiler really always passes a 64-bit integer to the
g_object_set() vararg function.
2012-07-03 20:32:57 +01:00
Sebastian Dröge
6e4d7e466d playsink: The default signal handler should be the one that triggers pad blocks and reconfiguration
Conflicts:

	gst/playback/gstplaysink.c
2012-06-26 11:05:42 +02:00
Sebastian Dröge
78b2fc762b playsink: Make sure to always block all pads before reconfiguring the pipeline
Fixes bug #678762.

Conflicts:

	gst/playback/gstplaysink.c
2012-06-26 10:59:59 +02:00
Sebastian Dröge
7ab77c6b32 playsink: Prevent NULL pointer dereference in last change 2012-06-25 16:08:47 +02:00
Sebastian Dröge
a038e5e583 playsink: Unlink pads when switching between enabling/disabling the deinterlace chain
See bug #678762.
2012-06-25 16:02:23 +02:00
Sebastian Dröge
67bbfdde4e playsink: Connect to the value-changed signal of the child colorbalance element and proxy it 2012-06-25 15:23:19 +02:00
Sebastian Dröge
c290fabf36 playsink: Only remove the xoverlay/colorbalance elements when necessary
They are not added again by every code path, e.g. when switching
only the deinterlace flag and are missing then.

Fixes bug #678763.

Conflicts:

	gst/playback/gstplaysink.c
2012-06-25 15:22:55 +02:00
Tim-Philipp Müller
43e4b44bb1 uridecodebin, tests: update for gst_element_make_from_uri() changes 2012-06-23 14:55:31 +01:00
Arnaud Vrac
b1ff7f95ad playsinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps
Fixes bug #678403.
2012-06-20 11:12:26 +01:00
Sebastian Dröge
ecb22ebd63 playbin2: Proxy the force-aspect-ratio property of video sinks
Fixes bug #678020.

Conflicts:

	gst/playback/gstplaybin2.c
2012-06-14 09:35:44 +02:00
Sebastian Dröge
32db1ea168 playsink: Proxy the force-aspect-ratio property of video sinks 2012-06-14 09:33:29 +02:00
Wim Taymans
655fef3dbf update for message api change 2012-06-13 11:04:34 +02:00
Sebastian Dröge
e729ad1c9c playback: Always prefer parsers over decoders
...and in playbin2 additionally prefer sinks over parsers.

This makes sure that we a) always directly plug a sink if it supports
the (compressed) format and b) always plug parsers in front of decoders.
2012-06-12 11:59:39 +02:00
Vincent Penquerc'h
512f96906e playbin2: remove uridecodebin from bin when it fails to switch to PAUSED
This avoids that bin being leftover and being found when reusing playbin2,
and fixes restarting on a new URI after failing to activate with a previous
URI.

https://bugzilla.gnome.org/show_bug.cgi?id=673888
2012-06-08 17:35:06 +01:00
Wim Taymans
14237251a2 playsink: fix compilation 2012-06-07 10:52:53 +02:00
Andre Moreira Magalhaes (andrunko)
88d3b7aeee playbin2: Send flush events when changing subtitle tracks and use new input-selector modes for subtitle tracks
For audio/video we should flush too for fastest stream switches but this
currently isn't possible because the flushes would need to go to the sink,
which then causes state changes and causes all timing information to be
changed.

Should work out of the box in 0.11 with the flush-stop that doesn't reset
the times.

Conflicts:

	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:09 -03:00
Sebastian Dröge
9d2e50136e playsink: Don't use // comments and prevent unnecessary memory allocation
Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
b41d19fa5f playbin2: Properly change subtitles
Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
605d5c110c playbin2: fix subtitle only seeks when switching to external subs
Sending a non-flushing seek might not be enough for switching
to an external sub that has already been used because the flushes
are needed to reset the state of its decodebin's queue.

For example, if the subtitle is short enough, the queue might get
and EOS and keep its 'unexpected' return state. If the user switches
to another subtitle and back to the external one, the buffers
won't get past the queue.

This patch fixes this by adding the flush flag to the seek and
preventing that this flush leaves the suburidecodebin.

https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstplaybin2.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
bd5cfff9de gstplaysink: Properly reset chain when receiving a custom flush event.
https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
0dfb331cfd playsink: do not store more than a second of subtitles
Use a shorter queue for subtitles to avoid switches for subtitles
taking longer than they already take.

https://bugzilla.gnome.org/show_bug.cgi?id=638168
2012-06-06 16:31:08 -03:00
Thiago Santos
c095dc29fe subtitleoverlay: pass correct parameter to debug message
Get the format name to pass to the debug message, as it expects a string
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
5627aa81bd gstsuboverlay: Convert NewSegment events to always be in the TIME format.
https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:07 -03:00
Wim Taymans
a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Bastien Nocera
02abd19584 uridecodebin: Use cache dir for download buffering
Instead of the temp directory. See:
http://0pointer.de/blog/projects/tmp.html

https://bugzilla.gnome.org/show_bug.cgi?id=677181
2012-05-31 12:54:49 +02:00
Wim Taymans
29d24d4658 playbin: add current-*uri properties
Make the uri property getter return the next uri, like it was configured in the
setter.
Make a new current-uri and current-suburi property that reflects the currently
playing uri and suburi.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676665
2012-05-25 15:18:46 +02:00
Wim Taymans
4ebfa58a70 playbin: fix compilation 2012-05-24 13:43:06 +02:00
Sebastian Dröge
a67d9b349d playbin2: Put sinks before the other element factories in the autoplug factory list
This makes sure that we always prefer sinks that support a format without
decoding, independant of its rank. Previously we only sorted by rank.

Conflicts:

	gst/playback/gstplaybin2.c
2012-05-24 11:50:40 +02:00
Alban Browaeys
71e39c0e84 playsink: do not abort if a property is not found.
If a property is not found (for example last-sample when
gst_debug_bin_to_dot_file is used while the pipeline is
slightly broken (thus no last-sample) the unref of the item
gvalue which is not refed fails. Only unref if it was found.
2012-05-15 09:22:44 +02:00
Alban Browaeys
7e054c9af0 playsink: missing guard around gst pad add probe
This miss prevent from switching from one track to the other.
Issue encountered with rhythmbox and totem ports.
2012-05-15 09:22:12 +02:00
Mark Nauwelaerts
4ce453de97 playbin2: default text element is now subtitleoverlay
... and not so much textoverlay, though the former also uses the latter.
2012-05-14 10:14:36 +02:00
Руслан Ижбулатов
d34b8023e9 playsink: fix printf arguments in debug message 2012-05-12 13:53:40 +01:00
Wim Taymans
6bd0272512 uridecodebin: fix format strings 2012-05-11 16:16:33 +02:00
Wim Taymans
cd1d6f7d2d decodebin2: fix format strings 2012-05-11 15:33:31 +02:00
Wim Taymans
163720246e decodebin2: fix compilation 2012-05-11 09:26:47 +02:00
Thibault Saunier
445c41963b playback: Check type when setting "connection-speed" on unknown elements
Clamp the values if needed
2012-05-10 13:21:04 -04:00
Thibault Saunier
ee4ae0041c decodebin2: Add a connection-speed property to set it on demuxers when needed
Proxy it from uridecodebin
2012-05-10 13:11:47 -04:00
Sebastian Dröge
cc717f1f62 playsink: Initialize variable to silence wrong compiler warning 2012-05-09 12:03:44 +02:00
Sebastian Dröge
d7371bc87c playsink: Port changes to 0.11 2012-05-09 10:30:55 +02:00
Mark Nauwelaerts
e623bea6fa playbin2: properly reconfigure upon subsequent no-more-pads
... such as during switch in chained ogg.
2012-05-09 10:28:35 +02:00
Wim Taymans
7736044d45 playsink: make playsink reusable
The sinkpads are unblocked when going from PAUSED->READY, we need to block them
again when going READY->PAUSED. The blocking of the pad previously only happened
when it was freshly obtained with _request_pad or when the caps changed. If we
don't release the pad when going to READY it was previously never blocked again
causing not-linked errors.
2012-05-01 12:19:11 +02:00
Wim Taymans
f21b7437e7 playsink: don't leak the colorbalance element 2012-05-01 12:09:31 +02:00
Akihiro Tsukada
94beeb713a playbin2: Don't hold the playbin lock in the autoplug-continue callback
It's not necessary there as the group lock already protects everything
we access here and causes deadlocks in some cases.

Fixes bug #673708.
2012-04-17 09:57:17 +02:00
Matej Knopp
b6765417e1 decodebin: Do not block on sticky and oob events 2012-04-16 13:49:07 +02:00
Sebastian Dröge
fe9041bd05 decodebin2: Check that properties have the correct type before using them 2012-04-16 08:27:20 +02:00
Sebastian Dröge
15d92392b5 uridecodebin: Check that properties have the correct type before using them 2012-04-16 08:27:09 +02:00
Julian Scheel
fd4c8d9252 uridecodebin: Never treat live sources as streaming sources.
For streaming sources a queue is added before the demuxer, which can not be
properly filled by live sources. As http source can be live sources, this
caused issues for example with http live sources.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057
2012-04-14 10:52:26 +02:00