diff --git a/subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.c b/subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.c index 8164c0d2f3..9f6096e4ae 100644 --- a/subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.c +++ b/subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.c @@ -655,9 +655,11 @@ gst_tag_demux_chain_buffer (GstTagDemux * demux, GstBuffer * buf, /* Trim the buffer and adjust offset for typefinding */ typefind_buf = demux->priv->collect; - gst_buffer_ref (typefind_buf); - if (!gst_tag_demux_trim_buffer (demux, &typefind_buf, &typefind_size)) - return GST_FLOW_EOS; + if (typefind_buf) { + gst_buffer_ref (typefind_buf); + if (!gst_tag_demux_trim_buffer (demux, &typefind_buf, &typefind_size)) + return GST_FLOW_EOS; + } if (typefind_buf == NULL) break; /* Still need more data */