From d5e8b7df6cb95f93e5b2bbee8086434e7738540b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 12 Sep 2016 18:37:21 +0200 Subject: [PATCH] playback: Use new gst_bin_set_suppressed_flags() API instead of worrying about the flags in multiple places --- gst/playback/gstplaysink.c | 4 ++-- gst/playback/gsturidecodebin.c | 9 ++------- gst/playback/gsturisourcebin.c | 6 ++---- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index 0bca05c85e..eaac018e66 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -677,6 +677,8 @@ gst_play_sink_init (GstPlaySink * playsink) g_rec_mutex_init (&playsink->lock); GST_OBJECT_FLAG_SET (playsink, GST_ELEMENT_FLAG_SINK); + gst_bin_set_suppressed_flags (GST_BIN (playsink), + GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK); channel = GST_COLOR_BALANCE_CHANNEL (g_object_new (GST_TYPE_COLOR_BALANCE_CHANNEL, @@ -1227,8 +1229,6 @@ add_chain (GstPlayChain * chain, gboolean add) gst_bin_add (GST_BIN_CAST (chain->playsink), chain->bin); else { gst_bin_remove (GST_BIN_CAST (chain->playsink), chain->bin); - /* we don't want to lose our sink status */ - GST_OBJECT_FLAG_SET (chain->playsink, GST_ELEMENT_FLAG_SINK); } chain->added = add; diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index 83355ea686..d5c03078b3 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -740,6 +740,8 @@ gst_uri_decode_bin_init (GstURIDecodeBin * dec) dec->ring_buffer_max_size = DEFAULT_RING_BUFFER_MAX_SIZE; GST_OBJECT_FLAG_SET (dec, GST_ELEMENT_FLAG_SOURCE); + gst_bin_set_suppressed_flags (GST_BIN (dec), + GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK); } static void @@ -1680,9 +1682,6 @@ remove_decoders (GstURIDecodeBin * bin, gboolean force) bin->pending_decodebins = NULL; } - - /* Don't loose the SOURCE flag */ - GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_SOURCE); } static void @@ -2060,8 +2059,6 @@ could_not_link: GST_ELEMENT_ERROR (decoder, CORE, NEGOTIATION, (NULL), ("Can't link source to typefind element")); gst_bin_remove (GST_BIN_CAST (decoder), typefind); - /* Don't loose the SOURCE flag */ - GST_OBJECT_FLAG_SET (decoder, GST_ELEMENT_FLAG_SOURCE); do_async_done (decoder); return FALSE; } @@ -2110,8 +2107,6 @@ remove_source (GstURIDecodeBin * bin) g_hash_table_destroy (bin->streams); bin->streams = NULL; } - /* Don't loose the SOURCE flag */ - GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_SOURCE); } /* is called when a dynamic source element created a new pad. */ diff --git a/gst/playback/gsturisourcebin.c b/gst/playback/gsturisourcebin.c index ccdd0b86ca..7720a4c7a7 100644 --- a/gst/playback/gsturisourcebin.c +++ b/gst/playback/gsturisourcebin.c @@ -741,6 +741,8 @@ gst_uri_source_bin_init (GstURISourceBin * urisrc) urisrc->last_buffering_pct = -1; GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE); + gst_bin_set_suppressed_flags (GST_BIN (urisrc), + GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK); } static void @@ -1988,8 +1990,6 @@ could_not_link: GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION, (NULL), ("Can't link source to typefind element")); gst_bin_remove (GST_BIN_CAST (urisrc), typefind); - /* Don't lose the SOURCE flag */ - GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE); do_async_done (urisrc); return FALSE; } @@ -2051,8 +2051,6 @@ remove_source (GstURISourceBin * urisrc) gst_bin_remove (GST_BIN_CAST (urisrc), urisrc->demuxer); urisrc->demuxer = NULL; } - /* Don't lose the SOURCE flag */ - GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE); } /* is called when a dynamic source element created a new pad. */ -- 2.34.1