playsink: Don't set sink to NULL if a new one is set while the old one is still in use
authorSebastian Dröge <slomo@circular-chaos.org>
Wed, 14 Aug 2013 13:43:23 +0000 (15:43 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 14 Aug 2013 13:43:53 +0000 (15:43 +0200)
gst/playback/gstplaysink.c

index 8c025a4..aa44fee 100644 (file)
@@ -842,7 +842,8 @@ gst_play_sink_set_sink (GstPlaySink * playsink, GstPlaySinkType type,
   GST_PLAY_SINK_UNLOCK (playsink);
 
   if (old) {
-    if (old != sink)
+    /* Set the old sink to NULL if it is not used any longer */
+    if (old != sink && !GST_OBJECT_PARENT (old))
       gst_element_set_state (old, GST_STATE_NULL);
     gst_object_unref (old);
   }