diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index f95e3e951c..23c92e7b2d 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -2304,8 +2304,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink) add_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE); activate_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE); - g_object_unref (playsink->videochain->ts_offset); - playsink->videochain->ts_offset = NULL; + gst_object_replace ((GstObject **) & playsink->videochain->ts_offset, + NULL); } if (playsink->videodeinterlacechain) { @@ -2358,8 +2358,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink) disconnect_chain (playsink->audiochain, playsink); playsink->audiochain->volume = NULL; playsink->audiochain->mute = NULL; - g_object_unref (playsink->audiochain->ts_offset); - playsink->audiochain->ts_offset = NULL; + gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset, + NULL); free_chain ((GstPlayChain *) playsink->audiochain); playsink->audiochain = NULL; playsink->volume_changed = playsink->mute_changed = FALSE; @@ -2429,8 +2429,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink) disconnect_chain (playsink->audiochain, playsink); playsink->audiochain->volume = NULL; playsink->audiochain->mute = NULL; - g_object_unref (playsink->audiochain->ts_offset); - playsink->audiochain->ts_offset = NULL; + gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset, + NULL); } add_chain (GST_PLAY_CHAIN (playsink->audiochain), FALSE); activate_chain (GST_PLAY_CHAIN (playsink->audiochain), FALSE); @@ -3422,8 +3422,8 @@ gst_play_sink_change_state (GstElement * element, GstStateChange transition) disconnect_chain (playsink->audiochain, playsink); playsink->audiochain->volume = NULL; playsink->audiochain->mute = NULL; - g_object_unref (playsink->audiochain->ts_offset); - playsink->audiochain->ts_offset = NULL; + gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset, + NULL); } ret = GST_STATE_CHANGE_SUCCESS; break;