mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
playbin: When activating a fixed sink, proxy error messages too
If activating a fixed sink fails, everything will fail later anyway and we can just error out early.
This commit is contained in:
parent
44352deadb
commit
4465741222
1 changed files with 16 additions and 1 deletions
|
@ -3926,6 +3926,21 @@ static GstBusSyncReply
|
|||
activate_sink_bus_handler (GstBus * bus, GstMessage * msg, GstPlayBin * playbin)
|
||||
{
|
||||
if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
|
||||
/* Only proxy errors from a fixed sink. If that fails we can just error out
|
||||
* early as stuff will fail later anyway */
|
||||
if (playbin->audio_sink
|
||||
&& gst_object_has_ancestor (GST_MESSAGE_SRC (msg),
|
||||
GST_OBJECT_CAST (playbin->audio_sink)))
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
else if (playbin->video_sink
|
||||
&& gst_object_has_ancestor (GST_MESSAGE_SRC (msg),
|
||||
GST_OBJECT_CAST (playbin->video_sink)))
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
else if (playbin->text_sink
|
||||
&& gst_object_has_ancestor (GST_MESSAGE_SRC (msg),
|
||||
GST_OBJECT_CAST (playbin->text_sink)))
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
else
|
||||
gst_message_unref (msg);
|
||||
} else {
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
|
|
Loading…
Reference in a new issue