diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index e36e4be760..082da382a8 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -8803,6 +8803,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) } } + if (stream->caps) + gst_caps_unref (stream->caps); + stream->caps = qtdemux_video_caps (qtdemux, stream, fourcc, stsd_data, &codec); if (G_UNLIKELY (!stream->caps)) { @@ -9533,6 +9536,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) GST_WARNING_OBJECT (qtdemux, "unknown audio STSD version %08x", version); } + if (stream->caps) + gst_caps_unref (stream->caps); + stream->caps = qtdemux_audio_caps (qtdemux, stream, fourcc, stsd_data + 32, len - 16, &codec);