summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/playback/gstplaybin2.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index 3d7b147d7..f3d8c75f7 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -4006,10 +4006,12 @@ activate_sink (GstPlayBin * playbin, GstElement * sink, gboolean * activated)
gst_context_unref (context);
}
- bus = gst_bus_new ();
- gst_bus_set_sync_handler (bus, (GstBusSyncHandler) activate_sink_bus_handler,
- playbin, NULL);
- gst_element_set_bus (sink, bus);
+ if (!GST_OBJECT_PARENT (sink)) {
+ bus = gst_bus_new ();
+ gst_bus_set_sync_handler (bus,
+ (GstBusSyncHandler) activate_sink_bus_handler, playbin, NULL);
+ gst_element_set_bus (sink, bus);
+ }
sret = gst_element_set_state (sink, GST_STATE_READY);
if (sret == GST_STATE_CHANGE_FAILURE)