diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c index b6db9f4e2f..e517250ddc 100644 --- a/libs/gst/base/gstcollectpads.c +++ b/libs/gst/base/gstcollectpads.c @@ -2058,7 +2058,9 @@ gst_collect_pads_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) unlock_done: GST_COLLECT_PADS_STREAM_UNLOCK (pads); - unref_data (data); + /* data is definitely NULL if pad_removed goto was run. */ + if (data) + unref_data (data); if (buffer) gst_buffer_unref (buffer); return ret;