playsink: fix ts_offset refcounting

This commit is contained in:
Wim Taymans 2011-08-29 13:33:49 +02:00
parent e694528155
commit 811a8961bf

View file

@ -2304,8 +2304,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink)
add_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE); add_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE);
activate_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE); activate_chain (GST_PLAY_CHAIN (playsink->videochain), FALSE);
g_object_unref (playsink->videochain->ts_offset); gst_object_replace ((GstObject **) & playsink->videochain->ts_offset,
playsink->videochain->ts_offset = NULL; NULL);
} }
if (playsink->videodeinterlacechain) { if (playsink->videodeinterlacechain) {
@ -2358,8 +2358,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink)
disconnect_chain (playsink->audiochain, playsink); disconnect_chain (playsink->audiochain, playsink);
playsink->audiochain->volume = NULL; playsink->audiochain->volume = NULL;
playsink->audiochain->mute = NULL; playsink->audiochain->mute = NULL;
g_object_unref (playsink->audiochain->ts_offset); gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset,
playsink->audiochain->ts_offset = NULL; NULL);
free_chain ((GstPlayChain *) playsink->audiochain); free_chain ((GstPlayChain *) playsink->audiochain);
playsink->audiochain = NULL; playsink->audiochain = NULL;
playsink->volume_changed = playsink->mute_changed = FALSE; playsink->volume_changed = playsink->mute_changed = FALSE;
@ -2429,8 +2429,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink)
disconnect_chain (playsink->audiochain, playsink); disconnect_chain (playsink->audiochain, playsink);
playsink->audiochain->volume = NULL; playsink->audiochain->volume = NULL;
playsink->audiochain->mute = NULL; playsink->audiochain->mute = NULL;
g_object_unref (playsink->audiochain->ts_offset); gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset,
playsink->audiochain->ts_offset = NULL; NULL);
} }
add_chain (GST_PLAY_CHAIN (playsink->audiochain), FALSE); add_chain (GST_PLAY_CHAIN (playsink->audiochain), FALSE);
activate_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); disconnect_chain (playsink->audiochain, playsink);
playsink->audiochain->volume = NULL; playsink->audiochain->volume = NULL;
playsink->audiochain->mute = NULL; playsink->audiochain->mute = NULL;
g_object_unref (playsink->audiochain->ts_offset); gst_object_replace ((GstObject **) & playsink->audiochain->ts_offset,
playsink->audiochain->ts_offset = NULL; NULL);
} }
ret = GST_STATE_CHANGE_SUCCESS; ret = GST_STATE_CHANGE_SUCCESS;
break; break;