hevc/sei: return INVALIDDATA when a referenced SPS is not available

The code previously returned ENOMEM, despite this not being an
allocation problem, but rather a bitstream problem referring to data not
currently available.

Fixes playback of such streams, as it allows further processing of NAL
units after skipping the broken SEI NAL.
release/7.1
Hendrik Leppkes 4 months ago
parent eda3fc6053
commit d4cfbf329c
No known key found for this signature in database
GPG Key ID: 846079A4B0A7C1B5
  1. 2
      libavcodec/hevc/sei.c

@ -56,7 +56,7 @@ static int decode_nal_sei_pic_timing(HEVCSEI *s, GetBitContext *gb,
const HEVCSPS *sps = ps->sps_list[s->active_seq_parameter_set_id]; const HEVCSPS *sps = ps->sps_list[s->active_seq_parameter_set_id];
if (!sps) if (!sps)
return(AVERROR(ENOMEM)); return AVERROR_INVALIDDATA;
if (sps->vui.frame_field_info_present_flag) { if (sps->vui.frame_field_info_present_flag) {
int pic_struct = get_bits(gb, 4); int pic_struct = get_bits(gb, 4);

Loading…
Cancel
Save