mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-01 05:39:51 +00:00
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
This commit is contained in:
parent
76b29367e7
commit
8d617f4037
2 changed files with 2 additions and 8 deletions
|
@ -351,10 +351,7 @@ gst_play_sink_audio_convert_getcaps (GstPad * pad)
|
|||
GstPad *otherpad, *peer;
|
||||
|
||||
GST_PLAY_SINK_AUDIO_CONVERT_LOCK (self);
|
||||
if (pad == self->srcpad)
|
||||
otherpad = gst_object_ref (self->sinkpad);
|
||||
else
|
||||
otherpad = gst_object_ref (self->srcpad);
|
||||
otherpad = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (pad));
|
||||
GST_PLAY_SINK_AUDIO_CONVERT_UNLOCK (self);
|
||||
|
||||
peer = gst_pad_get_peer (otherpad);
|
||||
|
|
|
@ -331,10 +331,7 @@ gst_play_sink_video_convert_getcaps (GstPad * pad)
|
|||
GstPad *otherpad, *peer;
|
||||
|
||||
GST_PLAY_SINK_VIDEO_CONVERT_LOCK (self);
|
||||
if (pad == self->srcpad)
|
||||
otherpad = gst_object_ref (self->sinkpad);
|
||||
else
|
||||
otherpad = gst_object_ref (self->srcpad);
|
||||
otherpad = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (pad));
|
||||
GST_PLAY_SINK_VIDEO_CONVERT_UNLOCK (self);
|
||||
|
||||
peer = gst_pad_get_peer (otherpad);
|
||||
|
|
Loading…
Reference in a new issue