mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 00:06:36 +00:00
qtdemux: fix caps leak
If the QtDemuxStream are re-used they may already have caps which used to be leaked. Reproduced using the validate.dash.playback.seek_forward.dash_exMPD_BIP_TC1 validate scenario. https://bugzilla.gnome.org/show_bug.cgi?id=756561
This commit is contained in:
parent
8283337e73
commit
360a6509c7
1 changed files with 6 additions and 0 deletions
|
@ -8803,6 +8803,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stream->caps)
|
||||||
|
gst_caps_unref (stream->caps);
|
||||||
|
|
||||||
stream->caps =
|
stream->caps =
|
||||||
qtdemux_video_caps (qtdemux, stream, fourcc, stsd_data, &codec);
|
qtdemux_video_caps (qtdemux, stream, fourcc, stsd_data, &codec);
|
||||||
if (G_UNLIKELY (!stream->caps)) {
|
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);
|
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,
|
stream->caps = qtdemux_audio_caps (qtdemux, stream, fourcc,
|
||||||
stsd_data + 32, len - 16, &codec);
|
stsd_data + 32, len - 16, &codec);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue