Sreerenj Balachandran
9b33c75cd4
playbin: use ascending order for name based sorting of pluginfeatures.
...
The compare_factories_func() should return negative value
if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:22 +02:00
Sreerenj Balachandran
f07eb23728
decodebin: use ascending order for name based sorting of pluginfeatures.
...
The _decode_bin_compare_factories_func() should return negative
value if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:16 +02:00
Tim-Philipp Müller
1c0288db38
playbin: fix jpeg passthrough to decoder sinks by marking image/* as video stream
2013-04-12 11:51:30 +01:00
Wim Taymans
92b77c5aa4
decodebin2: forward all sticky events to decodepad
...
Forward all sticky events to the decodepad before exposing the pads. This makes
sure all sticky events are on the exposed pad.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696915
2013-04-04 15:00:52 +02:00
Wim Taymans
c082c06b6c
decodebin: debug sticky events on exposed pads
2013-04-04 14:53:32 +02:00
Wim Taymans
08dd2454cd
decodebin2: small cleanup
...
Take the event from the probe just once.
2013-04-04 14:37:15 +02:00
Wim Taymans
34eea4d5f2
streamsynchronizer: update position for reverse
...
When doing reverse playback the positino advances from timestamp_end to
timestamp.
2013-03-31 12:57:35 +02:00
Sebastian Dröge
3475d4f457
decodebin: Remove GstdecodePads that are not going to be exposed
...
This makes sure that they're unlnked and don't cause any errors or
block the pipeline.
2013-03-30 17:17:04 +01:00
Sebastian Dröge
7f78f7f9e3
playbin: Ignore caps from audio/video sink factories if there are fixed sinks already
2013-03-30 12:15:38 +01:00
Sebastian Dröge
57a0806b3a
playbin: Handle caps queries from unlinked elements
...
Pass them to all possible sinks and the current sinks to
allow elements to chose a more optimal initial caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
0932391d3f
decodebin: Add autoplug-query signal to handle queries for yet unconnected elements
...
This allows playbin to answer the CAPS query with the possible sink
caps for example, and allows decoders to chose more optimal caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
9ce0818c7d
decodebin: Don't add a children to a decode group twice
...
This can happen if a demuxer does not provide fixed caps from the
beginning but only sets them later.
2013-03-30 11:49:42 +01:00
Stefan Sauer
f19acfc60b
uridecodebin: remove commented code
...
This is dead since ~6 years.
2013-03-28 12:36:51 +01:00
Sebastian Dröge
383f58b0ed
subtitleoverlay: Return ANY caps for the GET_CAPS query
...
subtitleoverlay handles any caps, not just the ones
for which a subtitle parser/renderer exist. It will
just ignore any unsupported streams instead of causing
an error.
https://bugzilla.gnome.org/show_bug.cgi?id=688476
2013-03-21 15:37:31 +01:00
Sebastian Dröge
9084bc151b
playsinkconvertbin: Make sure to return all allowed caps in the GET_CAPS query
...
Add all the caps that we can convert to to the filter caps,
otherwise downstream might just return EMPTY caps because
it doesn't handle the filter caps but we could still convert
to these caps, causing us to return EMPTY caps although
conversion would be possible.
https://bugzilla.gnome.org/show_bug.cgi?id=688803
2013-03-21 13:42:41 +01:00
Sebastian Dröge
d06c332655
playsinkconvertbin: Use gst_caps_is_subset() for handling the ACCEPT_CAPS query
2013-03-21 11:42:43 +01:00
Tim-Philipp Müller
7dd2fad888
uridecodebin: minor GValue handling optimisation
2013-03-03 17:44:11 +00:00
Matej Knopp
1e5b50e94c
decodebin: don't block on caps
2013-02-14 11:37:54 +01:00
Sebastian Dröge
cfd73a8cf7
decodebin: Remove left-over line from last commit
2013-02-14 11:25:37 +01:00
Matej Knopp
872cc295a6
decodebin: Check if value is set before unsetting it
...
https://bugzilla.gnome.org/show_bug.cgi?id=693401
2013-02-14 11:22:34 +01:00
Alexander Schrab
e7caef6b29
decodebin: Push caps event immediately to ghost pad to avoid exposing pads without caps
2013-02-12 10:12:14 +01:00
Marc Leeman
f704b3f975
decodebin: g_mutex_new -> g_mutex_init
...
Don't use deprecated GLib API.
https://bugzilla.gnome.org/show_bug.cgi?id=693302
2013-02-07 13:51:17 +00:00
Tim-Philipp Müller
500b864899
decodebin: try harder to always expose pads in the same order
...
Use stream-id as sort criterion in addition to the media type.
https://bugzilla.gnome.org/show_bug.cgi?id=634407
2013-01-19 13:03:03 +00:00
Wim Taymans
0feecef275
decodebin2: use NO_RESYNC flag
...
to avoid the state change function from messing with the state of the elements
that we add.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690420
2012-12-21 16:38:36 +01:00
Wim Taymans
66cafcc34d
playsink: fix vis switch with format change
...
Block the pad before the resample and convertor elements to give the a chance to
negotiate new caps with the newly switched vis plugin.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976
2012-12-13 11:34:54 +01:00
Tim-Philipp Müller
7c89a7298a
streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
...
When the input buffers for a stream don't have a duration set,
timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
EOSed streams via GAP events (with other streams not yet EOS), we
would then use the invalid timestamp_end to calculate the duration
of the gap. This in turn would make baseaudiosink abort, because it
would try to allocate memory for a trizillion samples.
So if buffers don't have a duration set, assume a duration of
one second for stream catch-up purposes, just so we can still
continue to catch up in those cases. And make sure that
timestamp_end is valid before doing calculations with it.
http://bugzilla.gnome.org/show_bug.cgi?id=678530
2012-11-26 19:03:38 +00:00
Tim-Philipp Müller
601aabdf9c
streamsynchronizer: reduce debug log spam a bit
...
Log locking/unlocking with TRACE debug level.
2012-11-25 18:07:04 +00:00
Sebastian Dröge
830b500d40
decodebin: Set element to NULL state before removing it from the bin
2012-11-22 13:09:46 +01:00
Sebastian Dröge
2faef82b9a
decodebin: Check if the element really accepts the caps after setting it to READY
...
It might know the caps constraints for sure only after opening a decoder.
2012-11-22 13:07:11 +01:00
Sebastian Dröge
4f480612e9
streamsynchronizer: Make the element public
...
https://bugzilla.gnome.org/show_bug.cgi?id=688240
2012-11-21 10:29:44 +01:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
b9d4d0cd29
streamsynchronizer: Also send a GAP event to let audio sinks start their clock in case they did not have enough data yet
2012-10-24 13:34:15 +02:00
Sebastian Dröge
6a31051feb
streamsynchronizer: Use correct timestamp/duration for the GAP events
2012-10-24 13:29:45 +02:00
Sebastian Dröge
3c1041d5eb
Revert "gst: Add better support for static plugins"
...
This reverts commit d2d79e3bc2
,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
52d48109bc
streamsynchronizer: Send GAP events to advance streams
2012-10-24 13:25:19 +02:00
Sebastian Dröge
d2d79e3bc2
gst: Add better support for static plugins
2012-10-24 12:10:44 +02:00
Sebastian Dröge
7b12afa4cb
streamsynchronizer: Create a GAP event with a sensible timestamp
2012-10-24 11:19:06 +02:00
Sebastian Dröge
356579157e
streamsynchronizer: Also propagate return value of pushing GAP event upstream
2012-10-23 18:21:32 +02:00
Sebastian Dröge
120c7be970
streamsynchronizer: Return TRUE from the EOS handler
2012-10-23 17:38:43 +02:00
David Corvoysier
87fd43aaaa
decodebin2: Fix group switching algorithm
...
There were two issues with the previous decodebin2 group switching algorithm:
Issue 1: It operated with no memory of what has been drained or not, leading to
multiple checks for chains/groups that were already drained.
Issue 2: When receiving an EOS, it only detected that a higher-level chain
was drained if it contained the pad receiving the EOS.
The following modifications have been applied:
- a new drained property has been added to GstDecodeChain
- both drained properties of chain/group are set as soon as they are detected
- the algorithm now tests agains these values
See https://bugzilla.gnome.org/show_bug.cgi?id=685938
2012-10-14 10:58:18 +02:00
Sebastian Dröge
80e4f3e912
playsinkconvertbin: Change GST_WARNING to GST_INFO
...
It's not a problem if we have no converters, this only means
that none were requested at this point.
2012-10-10 11:50:12 +02:00
Wim Taymans
3591df23b1
docs: playbin2 -> playbin
2012-10-09 12:20:10 +02:00
Tim-Philipp Müller
81097f485a
playback: class_ref() some types so we can create multiple playback elements at the same time
...
Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
and subsequent errors when creating multiple players at the same time.
Conflicts:
gst/playback/gststreamselector.c
2012-10-03 11:48:25 +01:00
Tim-Philipp Müller
6842698f0d
Purge all references to liboil
...
And remove unused ffmpegcolorspace tests in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 11:47:52 +01:00
Sebastian Dröge
b19944d1e4
gst: Update for link/unlink function API change
2012-09-17 13:24:52 +02:00
Mark Nauwelaerts
e491d24341
use gst_element_factory_get_metadata to replace obsolete API
2012-09-15 18:57:09 +02:00
Andreas Frisch
6e469b2ac5
playbin: subtitleoverlay: don't segfault in incorrectly init'ed plugins
...
https://bugzilla.gnome.org/show_bug.cgi?id=683865
2012-09-14 08:49:47 +01:00
Tim-Philipp Müller
082cedef79
streamsynchronizer: don't shadow function parameter
2012-09-14 00:39:09 +01:00
Edward Hervey
b5090d2aca
streamsynchronizer: Don't wait on non-time streams
...
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.
Fixes blocking issue when using playbin suburi feature
2012-09-11 16:29:21 +02:00
Tim-Philipp Müller
952f347146
playback: port to new GLib thread API
2012-09-10 01:10:24 +01:00
Tim-Philipp Müller
2079a8c12b
Remove glib-compat-private.h stuff we don't need any more
...
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Mark Nauwelaerts
782adaf3ab
streamsynchronizer: do not leak EOS events
2012-09-06 15:03:49 +02:00
Wim Taymans
b26f35c3a4
streamsync: only remove DISCONT when needed
...
Check if the buffer is DISCONT before making a potentially expensive copy to
unset the DISCONT flag.
2012-09-06 13:37:11 +02:00
Mark Nauwelaerts
d3a0269695
streamsynchronizer: use GAP event to trigger preroll
...
... rather than an empty buffer
2012-09-05 16:59:12 +02:00
Wim Taymans
f3158569c6
streamsync: unblock gcond on flush-stop
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680441
2012-09-04 11:09:50 +02:00
Wim Taymans
ac61fb5221
playsink: unblock pads before releasing
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679823
2012-09-04 10:06:01 +02:00
Tim-Philipp Müller
7c2e7b1a4f
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
0301aaa30d
playbin: automatically deinterlace interlaced content by default
2012-08-26 22:26:08 +01:00
Tim-Philipp Müller
5b715cdb90
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 21:36:15 +01:00
Edward Hervey
d86f6132ed
streamsynchronizer: Handle stream switching
...
* Update outgoing segment.base with accumulated time, ensuring all
streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
2012-08-14 18:56:30 +02:00
Sebastian Dröge
628bc44ca5
streamsynchronizer: Unblock streams on FLUSH_START events
2012-07-27 12:59:20 +02:00
Edward Hervey
2f37ba60a2
decodebin2: Mark streams as complete on CAPS event but don't block
...
This allows the following use-cases to expose the group and pads
before an ALLOCATION query comes through:
* Single stream use-cases
* Multi stream use-cases where all streams sent the CAPS event before
the first ALLOCATION query
Some cases will still make the initial ALLOCATION query fail though,
which isn't optimal, but not fatal (it will recover when pads are
exposed, a RECONFIGURE event is sent upstream and elements can
re-send an ALLOCATION query which will reach downstream elements).
https://bugzilla.gnome.org/show_bug.cgi?id=680262
2012-07-24 10:53:19 +02:00
Edward Hervey
f72f4c09c9
streamsynchronizer: Re-enable stream update
...
Not 100% perfect yet, but allows people to test
2012-07-19 16:12:22 +02:00
Edward Hervey
c5901cebca
decodebin: Block on caps event
...
A caps event is also used to establish that a stream has prerolled.
Without this, we end up allowing negotiation queries to fail, ending
in decoders (and other elements) to not be configured right from the
start with the most optimal settings.
2012-07-18 18:17:57 +02:00
Wim Taymans
0423329f91
playback: update for ghostpad changes
2012-07-18 17:50:28 +02:00
Tim-Philipp Müller
0615794300
playbin: use avdeinterlace for deinterlacing until deinterlace is ported
2012-07-17 13:45:13 +01:00
Wim Taymans
04c4ca23b1
playsink: remove old marshal remains
2012-07-13 12:35:44 +02:00
Edward Hervey
dad72182a0
decodebin2: Demote WARNING to DEBUG
...
Delaying auto-plugging is quite common
2012-07-12 09:51:36 +02:00
Edward Hervey
a0fbf92d43
playback: Remove custom stream-change event
...
Applications can now use the STREAM_START message to know if a new
stream has started
2012-07-12 09:51:35 +02:00
Wim Taymans
a476b6cbfb
decodebin2: improve debug
2012-07-11 15:39:37 +02:00
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
Sebastian Dröge
69b18ab09d
gst-libs: Remove interfaces libs and mixer/tuner interfaces
...
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Tim-Philipp Müller
3c6a3ad629
Use new gst_element_class_set_static_metadata()
2012-04-10 00:45:16 +01:00
Sebastian Dröge
ec2e470ecc
playback: Remove gstdecodebin.c, which is nowaday unused anyway
2012-04-06 10:54:42 +02:00
Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Thiago Santos
6eee006e82
Merge branch '0.10'
2012-04-04 13:56:17 -03:00
Thiago Santos
4b349306b0
playbin2: Use new playsink send-event-mode property
...
Set playsink's send-event-mode to MODE_FIRST as playbin2 only
needs one event going to the demuxer for its operation
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Thiago Santos
84abbe0d52
playsink: add send-event-mode property
...
Adds a property for playsink to define how it should handle
events sent in send_event function. The default is the same as
GstBin's, sending events to all internal sinks. There is also
mode-first, that will send to sinks until the one handles the
event successfully.
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Sebastian Dröge
9e13d70b2c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Sebastian Dröge
4872c7bf75
playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink
2012-03-23 11:07:49 +01:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Vincent Penquerc'h
73605cb33d
playsink: send navigation event to the sink as a fallback
...
When the video sink is a fakesink, which does not implement the
navigation interface, playsink will drop the navigation command.
In this case, send to the video sink as a fallback. It breaks
the interface abstraction, but is better than just dropping the
navigation event.
2012-03-15 13:02:34 +00:00
Mark Nauwelaerts
9fc640b9e0
playsink: remove circular ref between bin and internal pad
...
... by not assigning an additional ref to an async blocked callback,
which should not be called anyway by the time the object is gone.
Fixes #672006 .
2012-03-14 17:32:10 +01:00
Mark Nauwelaerts
d13e1b49f6
playsink: provide fresh copy for gst_caps_merge
...
... since it is documented to modify provided caps.
2012-03-13 15:28:00 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Mark Nauwelaerts
8c99412a0d
playbin2: do not take a superfluous ref on uridecodebin instances
...
... which are no longer FLOATING.
2012-03-09 14:19:41 +01:00
Mark Nauwelaerts
5fee17ac8f
uridecodebin: restore FLOATING flag when reusing decodebin instance
...
... which avoids leaking these due to an extra ref later on.
2012-03-09 14:19:14 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts
b2a162ca77
playsink: audio convert bin need not be unconditionally present
...
... so avoid NULL manipulation when setting up chain again
(e.g. after having partially gone down to READY in native audio flag
configuration).
2012-03-08 17:58:17 +01:00
Mark Nauwelaerts
5462536a36
playsink: plug element leak
2012-03-08 15:35:46 +01:00
Sebastian Dröge
15091ad124
playsink: Chain up to the parent's GstBin::handle_message() for non-prepare-xoverlay element messages
2012-03-05 15:24:20 +01:00
Sebastian Dröge
a80c82cd80
playback: Link to libgstinterfaces too for the navigation interface
2012-03-02 11:31:23 +01:00
Sebastian Dröge
006f8f8275
gst: Update for gstmarshal.[ch] removal
2012-03-02 11:15:02 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Edward Hervey
59918e841f
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:28:15 +01:00
Sebastian Dröge
361e1e2e98
playsink: Use g_signal_handlers_block_by_func()/unblock_by_func() instead of disconnecting and reconnecting
2012-02-23 13:41:25 +01:00
Sebastian Dröge
0ef49c5275
playbin2: Proxy colorbalance interface
2012-02-23 13:32:00 +01:00
Sebastian Dröge
4289c0c899
playsink: Proxy colorbalance interface
2012-02-23 13:32:00 +01:00
Sebastian Dröge
46a3ea011d
playbin2: Proxy navigation interface
2012-02-23 11:56:37 +01:00
Sebastian Dröge
d5779c96c4
playsink: Proxy navigation interface
2012-02-23 11:54:27 +01:00