mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
vaapidecoder_h265: plug leak of h265 parsing info
If something goes wrong while parsing, the info object is being leaked https://bugzilla.gnome.org/show_bug.cgi?id=763121
This commit is contained in:
parent
2b47bf8c74
commit
0a9161ac3a
1 changed files with 6 additions and 2 deletions
|
@ -2828,7 +2828,7 @@ gst_vaapi_decoder_h265_parse (GstVaapiDecoder * base_decoder,
|
|||
buf, 0, buf_size, &pi->nalu);
|
||||
status = get_status (result);
|
||||
if (status != GST_VAAPI_DECODER_STATUS_SUCCESS)
|
||||
return status;
|
||||
goto exit;
|
||||
switch (pi->nalu.type) {
|
||||
case GST_H265_NAL_VPS:
|
||||
status = parse_vps (decoder, unit);
|
||||
|
@ -2866,7 +2866,7 @@ gst_vaapi_decoder_h265_parse (GstVaapiDecoder * base_decoder,
|
|||
break;
|
||||
}
|
||||
if (status != GST_VAAPI_DECODER_STATUS_SUCCESS)
|
||||
return status;
|
||||
goto exit;
|
||||
flags = 0;
|
||||
if (at_au_end) {
|
||||
flags |= GST_VAAPI_DECODER_UNIT_FLAG_FRAME_END |
|
||||
|
@ -2941,6 +2941,10 @@ gst_vaapi_decoder_h265_parse (GstVaapiDecoder * base_decoder,
|
|||
pi->flags = flags;
|
||||
gst_vaapi_parser_info_h265_replace (&priv->prev_pi, pi);
|
||||
return GST_VAAPI_DECODER_STATUS_SUCCESS;
|
||||
|
||||
exit:
|
||||
gst_vaapi_parser_info_h265_unref (pi);
|
||||
return status;
|
||||
}
|
||||
|
||||
static GstVaapiDecoderStatus
|
||||
|
|
Loading…
Reference in a new issue