playsink: make sure we remain a sink
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 17 Nov 2009 15:37:57 +0000 (16:37 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 17 Nov 2009 15:37:57 +0000 (16:37 +0100)
When we remove our elements, we could lose our sink flag. Make sure we remain a
sink by setting the flag again after removing elements.

gst/playback/gstplaysink.c

index a6afa2e..c72b9fe 100644 (file)
@@ -720,8 +720,11 @@ add_chain (GstPlayChain * chain, gboolean add)
 
   if (add)
     gst_bin_add (GST_BIN_CAST (chain->playsink), chain->bin);
-  else
+  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_IS_SINK);
+  }
 
   chain->added = add;