summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheermerali@gmail.com>2013-08-14 10:47:31 +0200
committerTim-Philipp Müller <tim@centricular.net>2013-08-28 22:45:16 +0100
commit652ef187f5d5e8baaf1a3d0ac528aa93a7b0c398 (patch)
tree23da567ca738d43c180b6e0a28b6ebea3550adf0
parent56d7fedf55e2b604f3183b506db9438c1711a9d7 (diff)
downloadgstreamer-plugins-bad-652ef187f5d5e8baaf1a3d0ac528aa93a7b0c398.tar.gz
pcapparse: Remove unneeded unref and only set pad caps if we have caps
Fixes crashes due to invalid unrefs. https://bugzilla.gnome.org/show_bug.cgi?id=705957
-rw-r--r--gst/pcapparse/gstpcapparse.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gst/pcapparse/gstpcapparse.c b/gst/pcapparse/gstpcapparse.c
index 85bb178ec..ceb3c079e 100644
--- a/gst/pcapparse/gstpcapparse.c
+++ b/gst/pcapparse/gstpcapparse.c
@@ -494,7 +494,8 @@ gst_pcap_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
GST_CLOCK_TIME_IS_VALID (self->cur_ts)) {
GstSegment segment;
- gst_pad_set_caps (self->src_pad, self->caps);
+ if (self->caps)
+ gst_pad_set_caps (self->src_pad, self->caps);
gst_segment_init (&segment, GST_FORMAT_TIME);
segment.start = self->cur_ts;
gst_pad_push_event (self->src_pad,
@@ -607,7 +608,5 @@ gst_pcap_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
break;
}
- gst_object_unref (self);
-
return ret;
}