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) {
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;
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);
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;