Commit graph

1260 commits

Author SHA1 Message Date
Wim Taymans
4370d42cb9 playback: find raw caps correctly 2012-02-20 15:21:37 +01:00
Wim Taymans
6d5882754f subtitle: avoid deadlock 2012-02-17 14:37:18 +01:00
Wim Taymans
e44dd9db8f Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/pbutils/gstdiscoverer.c
2012-02-16 14:23:28 +01:00
Olivier Aubert
c79d2d314c docs: fix playbin2 documentation about DVD URIs
and playbin => playbin2 in example pipelines.

https://bugzilla.gnome.org/show_bug.cgi?id=668081
2012-02-15 12:04:19 +00:00
Vincent Penquerc'h
e16d8e3b19 subtitleoverlay: log why an overlay element cannot be used 2012-02-14 00:06:53 +00:00
Vincent Penquerc'h
169c697114 playbin2: fix old style raw A/V caps
They're now {audio,video}/x-raw, not {audio,video}/x-raw-*

https://bugzilla.gnome.org/show_bug.cgi?id=668682
2012-02-14 00:06:37 +00:00
Vincent Penquerc'h
bc9b231905 subtitleoverlay: fix probing of raw video caps
They're now video/x-raw, not video/x-raw-* anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=668682
2012-02-14 00:06:33 +00:00
Vincent Penquerc'h
66e05c04b8 subtitleoverlay: add a couple drive by const
https://bugzilla.gnome.org/show_bug.cgi?id=668682
2012-02-14 00:06:17 +00:00
Wim Taymans
0dd59060d9 subtitleoverlay: fix merge error
Fix merge error from commit fb6d09055a
2012-02-09 15:51:10 +01:00
Wim Taymans
b3eb4e5bd4 playsink: call the right default query handler
We need to call the default query handler of the proxy pad because only that one
will forward the query to the target pad in case of the allocation query.
2012-02-02 12:14:15 +01:00
Tim-Philipp Müller
4738e02bbf playback: suppress GValueArray deprecation warnings for the time being
until this gets sorted out and we have a viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 15:50:52 +00:00
Wim Taymans
15b7375c44 subtitle: fix merge 2012-01-25 12:33:03 +01:00
Sebastian Dröge
130a8335a0 Merge branch 'master' into 0.11
Conflicts:
	gst/playback/gstdecodebin2.c
2012-01-25 12:29:11 +01:00
Sebastian Dröge
711e6a12ef Revert "decodebin2: Prune old groups before switching to the new one"
This reverts commit e2a038acee.

This wasn't entirely correct yet and needs some changes here
and there.
2012-01-25 12:25:05 +01:00
Sebastian Dröge
7e5aeba02f decodebin2: Fix merge error 2012-01-25 12:04:24 +01:00
Sebastian Dröge
68c0790817 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/interfaces/propertyprobe.c
	sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
Vincent Penquerc'h
c433ef9b70 playbin2: do not try to deactivate an inactive group
A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).

https://bugzilla.gnome.org/show_bug.cgi?id=666395
2012-01-23 11:56:50 +00:00
Anssi Hannula
dd8f9aca92 subtitleoverlay: fix state change stall on PAUSED->READY->PAUSED
After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.

Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.

Fixes bug #668097.
2012-01-20 17:29:06 +00:00
Mark Nauwelaerts
71f70c98ef streamsynchronizer: avoid unlikely NULL dereference 2012-01-19 16:43:40 +01:00
Mark Nauwelaerts
be34d4c78e playsink: verify linking to overlay element 2012-01-19 16:43:32 +01:00
Mark Nauwelaerts
e5f6675ea3 playsink: avoid finding sink in NULL bin in corner case 2012-01-19 16:43:30 +01:00
Wim Taymans
3d42f0f6ed port to new glib thread API 2012-01-19 11:36:17 +01:00
Youness Alaoui
e2a038acee decodebin2: Prune old groups before switching to the new one
In order to allow for proper functionality when a decoder only supports
one instance at a time (dsp), we must block the demuxer pads when they
get created if they are not part of the active group, preventing buffers
from being sent to the decoder (and initializing it through setcaps),
then after we switch to a new group, we unblock the demuxer pads for
the active groups. In the callback for the unblock, we prune the old
groups, making sure the previous decoder instance is destroyed before
we push a buffer to the new instance.
2012-01-19 09:04:52 +01:00
Mark Nauwelaerts
345b6a58f4 playsinkconvertbin: release extra ref on converter elements 2012-01-12 13:57:18 +01:00
Sebastian Dröge
a4104c54eb streamsynchronizer: Don't unref the parent in the event function 2012-01-10 15:59:27 +01:00
Sebastian Dröge
dc8984d76c Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/app/gstappsrc.c
	gst-libs/gst/audio/multichannel.h
	gst-libs/gst/video/videooverlay.c
	gst/playback/gstplaysink.c
	gst/playback/gststreamsynchronizer.c
	tests/check/Makefile.am
	win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Mark Nauwelaerts
e8fd305623 playback: document DEINTERLACE flag 2012-01-09 12:34:07 +01:00
Edward Hervey
f5f781e8fb Revert "decodebin2: Try harder to get initial topology caps"
This reverts commit 6b3e3544d4.

I really shouldn't put WIP commits in my main branch ...
2012-01-06 15:40:06 +01:00
Edward Hervey
6b3e3544d4 decodebin2: Try harder to get initial topology caps
Since caps are no longer 'shared' between two pads (but forwarded from
source pad to sink pad) we end up with the first chain pad not having
specified caps (i.e. typefind:src).

This solves the issues by getting the pad's peer caps.

It is not optimal since it will (for most demuxers) return the pad
template caps, which might contain non-fixed caps (ex : with
qtdemux "video/quicktime; video/mj2; audio/x-m4a; application/x-3gp")

https://bugzilla.gnome.org/show_bug.cgi?id=667337
2012-01-06 14:40:25 +01:00
Havard Graff
95be60de15 Fix various unlikely, but still potential memoryleaks in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Mark Nauwelaerts
3e0d35aec4 streamsynchronizer: force fallback buffer_alloc when other pad not available
... to avoid unnecessary spurious errors (upon e.g. shutdown).
If a real error is applicable in this unusual circumstance (missing other pad),
other (STREAM_LOCK protected) call paths can take care of that.
2012-01-03 11:07:17 +01:00
Mark Nauwelaerts
af28016d0a streamsynchronizer: avoid crashing when operating on released pad 2012-01-03 11:07:15 +01:00
Tim-Philipp Müller
26e612aeda playback, mixerutils: gst_registry_get_default() -> gst_registry_get() 2012-01-02 14:32:11 +00:00
Edward Hervey
f562a29284 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
	gst-libs/gst/tag/gstexiftag.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/playback/gstdecodebin2.c
	gst/playback/gstsubtitleoverlay.c
	tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Wim Taymans
db4d5af9b6 subtitle: don't use GST_CAPS_NONE macro
This macro returns a singleton.
2011-12-20 12:53:16 +01:00
Mark Nauwelaerts
60d5d08fbb decodebin2: tweak chain topology description
... to also properly indicate chain's endpad if no elements are in the
chain (due to the endpad being a raw demuxer pad, or one setup without
decoders since uridecodebin or higher up decided not to need those).
2011-12-14 17:53:38 +01:00
Sebastian Dröge
cd11d68716 subtitleoverlay: Refactor code to check if a property exists on an element 2011-12-13 13:31:03 +01:00
Sebastian Dröge
87a4cbd0e3 subtitleoverlay: Refactor autoplugging code and select overlay element by rank too
Previously we always used textoverlay for rendering the output of
a parser, now the same code as for the renderers is used and the
element with the highest rank is used.

Fixes bug #663822.
2011-12-13 13:31:03 +01:00
Tim-Philipp Müller
fb6d09055a Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsadeviceprobe.c
	ext/alsa/gstalsamixer.c
	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
	gst-libs/gst/audio/gstaudiobasesink.c
	gst-libs/gst/audio/gstaudioringbuffer.c
	gst-libs/gst/audio/gstaudiosrc.c
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst/encoding/gststreamcombiner.c
	gst/encoding/gststreamsplitter.c
	gst/playback/gstplaybasebin.c
	gst/playback/gststreamsynchronizer.c
	gst/playback/gstsubtitleoverlay.c
	gst/playback/gsturidecodebin.c
	sys/xvimage/xvimagesink.c
	tests/examples/Makefile.am
	win32/common/libgstvideo.def

Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Thibault Saunier
8728023f00 subtitleoverlay: add suport for hardware accelerated videos
Don't plug converters for non-raw video.
2011-12-06 12:44:24 +00:00
Tim-Philipp Müller
5440ae3c18 Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
0d98aa25b8 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Tim-Philipp Müller
177525f89f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/netbuffer/gstnetbuffer.c
	gst/ffmpegcolorspace/avcodec.h
	gst/ffmpegcolorspace/gstffmpegcodecmap.c
	gst/ffmpegcolorspace/imgconvert.c
	gst/ffmpegcolorspace/imgconvert_template.h
	gst/ffmpegcolorspace/mem.c
	gst/playback/README
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybasebin.h
	gst/playback/gstplaybin.c
	sys/v4l/v4lmjpegsrc_calls.c
	sys/v4l/videodev_mjpeg.h
	tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Tim-Philipp Müller
ec0d3566bf Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsasrc.c
	ext/alsa/gstalsasrc.h
	gst/adder/gstadder.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysinkconvertbin.c
	win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Wim Taymans
59113af604 Use the new GstSample for snapshots
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Tim-Philipp Müller
1bf8fa1e5f playbin2: tone down debug message about file URIs with spaces
Complain a bit less loudly about URIs that have not been
escaped properly.
2011-11-30 23:58:19 +00:00
Sebastian Dröge
21b252727d playsinkconvertbin: Don't send undefined NEWSEGMENT events to the internal elements
This happens when the internal elements are added before any NEWSEGMENT
event arrived and in that case we shouldn't send a NEWSEGMENT event
to the internal elements at all. They will get the NEWSEGMENT event
from upstream later.
2011-11-30 14:25:11 +01:00
Wim Taymans
47cbb230e9 audio: move audio interfaces
Move the audio related interfaces to the audio library.
2011-11-30 07:57:02 +01:00
Sebastian Dröge
e7853d3a3d playbin2: Fix decoder-sink compatibility check for raw audio/video formats
If the sink supports raw audio/video, we first check
if the decoder could output any raw audio/video format
and assume it is compatible with the sink then. We don't
do a complete compatibility check here if converters
are plugged between the decoder and the sink because
the converters will convert between raw formats and
even if the decoder format is not supported by the decoder
a converter will convert it.

We assume here that the converters can convert between
any raw format.

Fixes bug #665120.
2011-11-29 14:15:45 +01:00
Tim-Philipp Müller
0d87fd7146 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/fft/gstffts16.h
2011-11-28 21:25:11 +00:00
Sebastian Dröge
f179213aa0 playsinkconvertbin: Fix stupid mistake in last commit 2011-11-28 19:06:57 +01:00
Sebastian Dröge
c1b1e2b44e playsinkconvertbin: Only return the converter caps if we actually have raw caps
Fixes bug #664818 (hopefully).
2011-11-28 19:03:54 +01:00
Wim Taymans
b4cdf008dd fix for element flag cleanups 2011-11-28 16:55:32 +01:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Matej Knopp
2c55cc7bcb uridecodebin: fix debug message printf format compiler warning
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2011-11-27 22:43:20 +00:00
Tim-Philipp Müller
32b14c6ed3 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisenc.c
	gst/playback/gstdecodebin2.c
	gst/playback/gstplaysinkconvertbin.c
	gst/videorate/gstvideorate.c
2011-11-26 12:12:59 +00:00
Josep Torra
05ecdc1246 playsinkconvertbin: make identiy silent 2011-11-25 15:35:39 +01:00
Tim-Philipp Müller
2dc7c2f676 docs: mention explicitly that playbin2 signals are emitted from a streaming thread 2011-11-25 13:01:47 +00:00
Sebastian Dröge
a5535e76e0 decodebin2: Set the multiqueue limits to the playing limits after overrun too
We don't expect any new pads anymore and prerolling is finished now.
2011-11-25 11:12:10 +01:00
Sebastian Dröge
494b2cb1a7 decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits
After preroll the multiqueue limits are still set to the preroll
limits if use-buffering is set to TRUE. In that case we only want
time limits on the multiqueue if upstream is seekable.
2011-11-25 11:12:10 +01:00
Vincent Penquerc'h
59f5d980f6 decodebin2: fix prerolling for low bitrate streams from hlsdemux
Such streams were detected as seekable, as the query on the typefind
element was testing the m3u8 file listing the actual streams, and
not going through the demuxer(s).

We now check for seekability for each multiqueue following a demuxer,
so the query will flow through the elements which might prevent seeking.

https://bugzilla.gnome.org/show_bug.cgi?id=647769
2011-11-25 11:12:10 +01:00
Sebastian Dröge
683735a01e playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
We might need to add converters and worked in passthrough mode before.
2011-11-24 12:38:54 +01:00
Sebastian Dröge
113546b777 playsinkconvertbin: Override acceptcaps function for the two ghostpads
The ghostpad acceptcaps functions are not valid in this case because
we don't only accept the caps accepted by the target but could also
insert converters. Fixes bug #663892.
2011-11-24 12:37:58 +01:00
Sebastian Dröge
8f165b6206 playsinkaudioconvert: use-volume and use-converters are no construct-only properties anymore
Fixes bug #663893.
2011-11-24 11:34:12 +01:00
Tim-Philipp Müller
95138db216 uridecodebin: double-check property type before blindly setting/proxying values 2011-11-24 01:30:50 +00:00
Tim-Philipp Müller
16f6d13980 playbin2, uridecodebin: make connection-speed property a guint64 2011-11-24 01:18:38 +00:00
Wim Taymans
7b45a7367b Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggmux.c
2011-11-23 10:50:53 +01:00
René Stadler
da69993a49 playsinkconvertbin: avoid removing children from bin twice
GstBin base class removes children in dispose, so we need to do the same.
2011-11-22 10:05:33 +01:00
Wim Taymans
e302833e65 add parent to pad functions 2011-11-17 12:48:25 +01:00
Wim Taymans
9e8e01502e add parent to internal links 2011-11-16 17:50:03 +01:00
Wim Taymans
2202511e77 add parent to query function 2011-11-16 17:25:17 +01:00
Wim Taymans
28157e6f21 _query_peer_*() -> _peer_query_*() 2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2 update for _get_caps() -> _query_caps() 2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5 change getcaps to query
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Wim Taymans
2886955d18 Merge branch 'master' into 0.11 2011-11-11 19:36:23 +01:00
Tim-Philipp Müller
7b5e1666a4 playsinkconvertbin: fix visualisations again
Make caps writable before merging other caps into them.
2011-11-11 13:32:23 +00:00
Wim Taymans
6781587784 make the identity silent 2011-11-11 13:12:27 +01:00
Wim Taymans
f2ab0b8f19 upates for new ACCEPT_CAPS query 2011-11-09 17:37:31 +01:00
Wim Taymans
36dce0ffda remove streamselector
It was only used by playbin, which is gone now
2011-11-09 11:06:10 +01:00
Wim Taymans
8c6a2340e7 streamselector: GstSelectorPad -> GstStreamSelectorPad
Rename object to avoid conflicts with an object of the same name in core.
2011-11-09 10:53:38 +01:00
Wim Taymans
21bee358b2 streamselector: cleanups 2011-11-09 10:37:02 +01:00
Wim Taymans
308f6301a8 update for pad probe api changes 2011-11-08 11:08:21 +01:00
Wim Taymans
616e9b706e fix for new pad probe types
Restore the previous behaviour by only blocking downstream items and not
upstream events.
2011-11-07 17:10:48 +01:00
Wim Taymans
ef0247ae42 convertbin: port to 0.11 again 2011-11-07 12:43:52 +01:00
Wim Taymans
7ac25e9b26 Merge branch 'master' into 0.11
Conflicts:
	common
	configure.ac
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst/playback/gstdecodebin2.c
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkaudioconvert.h
	gst/playback/gstplaysinkvideoconvert.c
	gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Wim Taymans
b56ac475d3 playback: name conversion elements differently 2011-11-04 17:41:01 +01:00
Wim Taymans
7d9ccab8c6 uridecodebin: fix template name 2011-11-04 13:00:36 +01:00
Wim Taymans
cf8481b990 fix pad template names for request pads 2011-11-04 10:49:48 +01:00
Sebastian Dröge
7875ee11a5 subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
This keeps the caps order and is more efficient.
2011-11-04 10:38:39 +01:00
Sebastian Dröge
6e9a302eca playsinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()
This keeps the caps order and is more efficient.
2011-11-04 10:38:38 +01:00
Wim Taymans
57fe2addef update for request pads change. 2011-11-03 17:58:57 +01:00
Mart Raudsepp
5c58bcfd15 decodebin2: Post all source pads in stream-topology messages as "element-srcpad" values
This allows us to easily get ahold of all pads on a stream-topology message, including
pre-decoder ones, while "pad" only gives us access to the raw pads (as used by discoverer).
2011-11-03 14:41:08 +01:00
Mart Raudsepp
cee8710817 decodebin2: Use existing "caps" quark for one of the structure sets 2011-11-03 14:40:51 +01:00
Sebastian Dröge
b29a3d3cff playsinkconvertbin: Don't add identity multiple times 2011-11-03 10:07:27 +01:00
Vincent Penquerc'h
7eb8a9aaf6 playsink: send flush start/stop event when we switch elements
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:05:44 +01:00
Vincent Penquerc'h
0cac680fac playsink: re-add identity where appropriate
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:05:26 +01:00
Vincent Penquerc'h
c3e94d1c08 playsink: lock the new {set,get}_property functions
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:04:07 +01:00
Thiago Santos
0a07701164 playsinkconvertbin: Be more consistent with ghostpad targets
Set up targets on READY->PAUSED state change to passthrough by
default. This prevents the targets from being unset on the
first run, while the 'raw' variable would mean that some
target is set.
2011-11-03 10:03:07 +01:00
Thiago Santos
f9ea3fdda8 playsinkconvertbin: No need to remove the identity
The identity element should be handled by the GstBin's cleanup,
removing it on the remove_elements function might remove it
too soon, as this function can be called directly from playsink
2011-11-03 10:02:58 +01:00
Thiago Santos
34f72da9cc playsinkconvertbin: Adding some debug messages
Adds a couple debug messages and some g_assert to make debugging
easier
2011-11-03 10:02:49 +01:00
Thiago Santos
80971a3b33 playsink-videoconvert: Fix warning on build
Remove unused variable
2011-11-03 10:02:39 +01:00
Vincent Penquerc'h
ae3ba53391 playsink: handle after-the-fact changes in converters/volume booleans
The playsink was nastily poking a boolean in the structure.
Make those booleans properties, so we are told when they change,
and rebuild the conversion bin when they do.

Some cleanup to go with it too.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:02:31 +01:00
Vincent Penquerc'h
c08a23169d playsink: handle NULL cached caps in getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:02:01 +01:00
Vincent Penquerc'h
3939457b00 playsink: consider both passthrough and converter caps in getcaps
Since we can switch between both modes.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:01:52 +01:00
Vincent Penquerc'h
b34dac9a87 playsink: cache inner converter bin caps
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:58:03 +01:00
Vincent Penquerc'h
6925c02bc2 playsink: keep both raw and non raw pipelines at all times
and switch between them as needed.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:46 +01:00
Vincent Penquerc'h
69d98d08c1 playsink: only compare against the media type we expect
ie, audio/x-raw- for audio, video/x-raw- for video.

Add a trailing - to be more specific. I doubt there's anything
like audio/x-rawhide or something, but you never know.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:32 +01:00
Vincent Penquerc'h
fd27e34582 playsink: refactor the converter bins since they are almost identical
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:21 +01:00
Vincent Penquerc'h
c8e0d215cb playsink: fix passthrough mode (hopefully)
The code was doing counterintuitive rewiring of pads when the
bin did not contain any elements. We now add an identity element
in that case, which makes it simpler, and should fix the AC3
passthrough mode when using pulseaudio (but I don't see the bug
here so can't test).

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:56:40 +01:00
Vincent Penquerc'h
2b84b328b1 playsink: handle NULL ghost pad target
For the src pad anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:56:26 +01:00
Sebastian Dröge
a583b63722 Revert "playsinkaudioconvert: Fix warning when there is no target pad yet"
This reverts commit f35c51c149.

Better patch coming soon.
2011-11-03 09:56:14 +01:00
Wim Taymans
5bdfd6d899 structure: fix for api update 2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
b52c5819fb Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:34:28 +00:00
Tim-Philipp Müller
edc7b45dc6 subtitleoverlay: don't include header that's been removed 2011-10-31 14:26:09 +00:00
Tim-Philipp Müller
d06ad8e95e Merge remote-tracking branch 'origin/master' into 0.11 2011-10-31 14:22:58 +00:00
Tim-Philipp Müller
b6c424018b subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run() 2011-10-30 20:00:47 +00:00
Wim Taymans
016d036137 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst/audioconvert/channelmixtest.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstsubtitleoverlay.c
	tests/examples/Makefile.am
	tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
Jan Schmidt
f35c51c149 playsinkaudioconvert: Fix warning when there is no target pad yet 2011-10-27 00:23:27 +11:00
Nicolas Dufresne
cf9da5c280 decodebin2: Link elements before testing if they can reach the READY state
This is made possible by filtering errors. This is required to let
harware accelerated element query the video context. The video context
is used to determine if the HW is capable, and thus if the element is
supported or not.

Fixes bug #662330.
2011-10-22 08:27:31 +02:00
René Stadler
54be243757 playbasebin: remove avoidable call to gst_object_set_name 2011-10-21 22:24:14 +02:00
René Stadler
6ffaccd284 subtitleoverlay: fix leaks of pad templates and internal proxy pads 2011-10-19 19:47:38 +02:00
René Stadler
56419cce77 subtitleoverlay: fix leak of element reference through pad block
If the pad block never happens because there is no data flow at all, the
callback is never fired and the reference is never released. This causes a
reference cycle between the pad and element, so valgrind is not very vocal
about it (memory is still reachable).
2011-10-19 19:47:38 +02:00
René Stadler
becba526d9 subtitleoverlay: fix event unref in (rare) error case 2011-10-18 13:02:43 +02:00
Vincent Penquerc'h
5e9862b2ba decodebin2: fire drained signal where appropriate
This will allow playbin2 to send its about-to-finish signal.
Taken out (apparently by mistake) by the EOS rewrite in july.

https://bugzilla.gnome.org/show_bug.cgi?id=661202
2011-10-17 15:36:25 +02:00
Wim Taymans
73b894107a Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisdec.c
	ext/vorbis/gstvorbisenc.c
	ext/vorbis/gstvorbisenc.h
	gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Vincent Penquerc'h
8d617f4037 playsink: fix caps negotiation through the new convenience bins
The bins' getcaps was bypassing the inner elements, and thus
failing to account for the caps transformations they allow,
which caused YUV video pipelines to fail with ximagesink, which
does not support YUV, even though the convenience bin includes
a colorspace converter for just this purpose.

https://bugzilla.gnome.org/show_bug.cgi?id=660816
2011-10-06 20:43:43 +02:00
Vincent Penquerc'h
76b29367e7 playbin2: fix mismatch between video/ and video/x-dvd-subpicture
The new code was checking for a prefix, and would find video/
first. Check in two passes, first checking for a perfect match,
and falling back to a prefix check if nothing was found.

https://bugzilla.gnome.org/show_bug.cgi?id=657261
2011-10-06 20:41:53 +02:00
Robert Swain
ef4a4a0e94 playsink: Add audio- and text-sink props 2011-10-05 12:45:49 +02:00
Wim Taymans
1261c08a2f playbin2: port new bits to 0.11 2011-10-04 18:06:07 +02:00
Wim Taymans
a00927ad03 Merge branch 'master' into 0.11 2011-10-04 17:58:49 +02:00
Robert Swain
ddcda53714 playsink: Add video-sink property
The video-sink property allows manual specification via g_object_set ()
of the video sink element to be used.
2011-10-04 16:24:01 +02:00
Sebastian Dröge
12a54ae4dd playbin2: Minor cleanup of decoder-sink compatibility checking code 2011-10-03 15:20:06 +02:00
Thibault Saunier
a123195dd0 playbin2: Make sure that the decoders we plug are compatible with the fixed sink
The fact that a decoder is not compatible with the fixed sink
is currently happenning in the case where we have hardware accelerated
video decoders on the system (especially vaapi elements that are actually plugged),
and the user is providing a sink that doesn't support the surface.

A simple example that shows how it used to crash on a system where gstreamer-vaapi
is installed:
    gst-launch playbin2 video-sink=xvimagesink uri=/codec/supported/by/vaapi

What we are now doing in this case, is avoid using the accelerated
decoder and plug a "normal" decoder instead (if avalaible).

This commit doesn't handle the case where we have hardware accelerated
demuxing.
2011-10-03 15:17:54 +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
Wim Taymans
bf57108e6a Revert "sbutitleoverlay: fix compiler warning"
This reverts commit ed792293e7.

Not needed anymore because of another commit
2011-09-30 11:45:51 +02:00
Wim Taymans
ed792293e7 sbutitleoverlay: fix compiler warning 2011-09-30 11:04:19 +02:00
Tim-Philipp Müller
4b43972cf4 subitleoverlay: fix compiler warning
gstsubtitleoverlay.c: In function 'gst_subtitle_overlay_video_sink_event':
gstsubtitleoverlay.c:1736:22: error: 'target' may be used uninitialized in this function
2011-09-29 21:30:52 +01:00
Wim Taymans
19346c2c3b Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudioencoder.c
	gst/playback/gstplaybin2.c
	gst/videotestsrc/videotestsrc.c
2011-09-28 11:35:46 +02:00
Raimo Järvi
c0956342b2 playbin2: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660301.
2011-09-27 23:54:04 +01: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
Sebastian Dröge
01d37532b6 subtitleoverlay: Get the target of the video sinkpad, not the target sinkpad in the video setcaps handler 2011-09-19 14:02:00 +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
b1bb1e9b26 subtitleoverlay: Implement support for switching between raw and non-raw video streams 2011-09-19 11:24:47 +02:00
Alessandro Decina
a330ff0721 playbin2: fix compiler warning
Remove a check for gchar >= 128
2011-09-15 22:05:34 +02:00
Sebastian Dröge
bd52f00796 Revert "playbin2: autoplug sink if stream is incompatible to the configured one"
This reverts commit b0b4e286c8.

We agreed that the previous (pre-.35) behaviour is broken and a bug and the
current behaviour is correct, deterministic and allows the application to
handle stuff properly while the old behaviour can't be handled properly by
applications and just worked in some applications by luck.

The solution to the problem that was solved by relying on the old, broken
behaviour would be, to make decodebin2/playbin2 more aware of decoders and
improve the autoplugging of decoders by considering the caps supported by the
sink instead of just using something with the highest rank.

See bug #656923.
2011-09-15 14:27:35 +02:00