From d108bc0882f75caf4182fd498cd64c12ea5b4f65 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 20 Oct 2005 10:35:06 +0000 Subject: [PATCH] gst/playback/gstplaybasebin.c: Fix leak. Original commit message from CVS: * gst/playback/gstplaybasebin.c: (group_destroy), (gst_play_base_bin_change_state): Fix leak. Handle case where playbasebin is now ASYNC because decodebin is. --- ChangeLog | 8 ++++++++ gst/playback/gstplaybasebin.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c98911c..24672bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-10-20 Wim Taymans + + * gst/playback/gstplaybasebin.c: (group_destroy), + (gst_play_base_bin_change_state): + Fix leak. + Handle case where playbasebin is now ASYNC because + decodebin is. + 2005-10-19 Tim-Philipp Müller * gst/audioconvert/Makefile.am: diff --git a/gst/playback/gstplaybasebin.c b/gst/playback/gstplaybasebin.c index ef9c4f7..f51ba91 100644 --- a/gst/playback/gstplaybasebin.c +++ b/gst/playback/gstplaybasebin.c @@ -311,7 +311,7 @@ group_destroy (GstPlayBaseGroup * group) fakesrc = (GstElement *) g_object_get_data (G_OBJECT (pad), "fakesrc"); if (fakesrc != NULL) { GST_LOG ("removing fakesrc from %s:%s", - GST_PAD_NAME (pad), GST_ELEMENT_NAME (gst_pad_get_parent (pad))); + GST_PAD_NAME (pad), GST_ELEMENT_NAME (GST_PAD_PARENT (pad))); gst_element_set_state (fakesrc, GST_STATE_NULL); gst_bin_remove (GST_BIN (play_base_bin), fakesrc); } @@ -1701,7 +1701,7 @@ gst_play_base_bin_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_READY_TO_PAUSED: - if (ret == GST_STATE_CHANGE_SUCCESS) { + if (ret != GST_STATE_CHANGE_FAILURE) { finish_source (play_base_bin); } else { /* clean up leftover groups */ -- 2.7.4