diff options
Diffstat (limited to 'gst')
-rw-r--r-- | gst/rtpmux/gstrtpdtmfmux.c | 4 | ||||
-rw-r--r-- | gst/rtpmux/gstrtpmux.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gst/rtpmux/gstrtpdtmfmux.c b/gst/rtpmux/gstrtpdtmfmux.c index 84c53ad5..ea3e1fd4 100644 --- a/gst/rtpmux/gstrtpdtmfmux.c +++ b/gst/rtpmux/gstrtpdtmfmux.c @@ -172,8 +172,10 @@ gst_rtp_dtmf_mux_chain (GstPad * pad, GstBuffer * buffer) GST_OBJECT_UNLOCK (mux); if (parent_class->chain_func) ret = parent_class->chain_func (pad, buffer); - else + else { + gst_buffer_unref (buffer); ret = GST_FLOW_ERROR; + } } gst_object_unref (mux); diff --git a/gst/rtpmux/gstrtpmux.c b/gst/rtpmux/gstrtpmux.c index ba7243e1..34b9fd82 100644 --- a/gst/rtpmux/gstrtpmux.c +++ b/gst/rtpmux/gstrtpmux.c @@ -104,6 +104,8 @@ static void gst_rtp_mux_set_property (GObject * object, guint prop_id, static void gst_rtp_mux_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static gboolean gst_rtp_mux_src_event (GstPad * pad, GstEvent * event); + static GstElementClass *parent_class = NULL; GType @@ -211,6 +213,7 @@ static gboolean gst_rtp_mux_src_event (GstPad * pad, break; case GST_ITERATOR_RESYNC: gst_iterator_resync (iter); + result = FALSE; break; case GST_ITERATOR_ERROR: GST_WARNING_OBJECT (rtp_mux, "Error iterating sinkpads"); @@ -219,7 +222,8 @@ static gboolean gst_rtp_mux_src_event (GstPad * pad, break; } } - + gst_iterator_free (iter); + gst_object_unref (rtp_mux); gst_event_unref (event); return result; |