mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-24 16:18:16 +00:00
h264parse: Clear SPS info after processing.
The SPS struct might be filled out by a call to gst_h264_parser_parse_subset_sps, which fills out dynamically allocated data and requires a call to gst_h264_sps_clear() to free it. Also make sure to clear out any allocated SPS data when returning an error. https://bugzilla.gnome.org/show_bug.cgi?id=753306
This commit is contained in:
parent
7a2f5d6b03
commit
fdac09d843
2 changed files with 5 additions and 1 deletions
|
@ -1845,8 +1845,10 @@ gst_h264_parser_parse_subset_sps (GstH264NalParser * nalparser,
|
|||
if (res == GST_H264_PARSER_OK) {
|
||||
GST_DEBUG ("adding sequence parameter set with id: %d to array", sps->id);
|
||||
|
||||
if (!gst_h264_sps_copy (&nalparser->sps[sps->id], sps))
|
||||
if (!gst_h264_sps_copy (&nalparser->sps[sps->id], sps)) {
|
||||
gst_h264_sps_clear (sps);
|
||||
return GST_H264_PARSER_ERROR;
|
||||
}
|
||||
nalparser->last_sps = &nalparser->sps[sps->id];
|
||||
}
|
||||
return res;
|
||||
|
@ -1899,6 +1901,7 @@ gst_h264_parse_subset_sps (GstH264NalUnit * nalu, GstH264SPS * sps,
|
|||
|
||||
error:
|
||||
GST_WARNING ("error parsing \"Subset sequence parameter set\"");
|
||||
gst_h264_sps_clear (sps);
|
||||
sps->valid = FALSE;
|
||||
return GST_H264_PARSER_ERROR;
|
||||
}
|
||||
|
|
|
@ -746,6 +746,7 @@ gst_h264_parse_process_nal (GstH264Parse * h264parse, GstH264NalUnit * nalu)
|
|||
}
|
||||
|
||||
gst_h264_parser_store_nal (h264parse, sps.id, nal_type, nalu);
|
||||
gst_h264_sps_clear (&sps);
|
||||
h264parse->state |= GST_H264_PARSE_STATE_GOT_SPS;
|
||||
h264parse->header |= TRUE;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue