summaryrefslogtreecommitdiffstats
path: root/gst/rtpmux
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rtpmux')
-rw-r--r--gst/rtpmux/gstrtpdtmfmux.c4
-rw-r--r--gst/rtpmux/gstrtpmux.c6
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;