h266parse: update IDR position in more cases

The IDR position should be updated if we're processing an
IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
is set.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>
This commit is contained in:
Carlos Bentzen 2025-01-24 11:46:38 +01:00 committed by GStreamer Marge Bot
parent 7c29249ca5
commit 8607ccdf2c

View file

@ -854,10 +854,11 @@ gst_h266_parse_process_nal (GstH266Parse * h266parse, GstH266NalUnit * nalu)
else if (h266parse->content_light_level_state ==
GST_H266_PARSE_SEI_ACTIVE)
h266parse->content_light_level_state = GST_H266_PARSE_SEI_EXPIRED;
update_idr_pos (h266parse, nalu);
}
if (ph->gdr_or_irap_pic_flag || h266parse->push_codec)
update_idr_pos (h266parse, nalu);
break;
}
case GST_H266_NAL_SLICE_TRAIL:
@ -916,10 +917,11 @@ gst_h266_parse_process_nal (GstH266Parse * h266parse, GstH266NalUnit * nalu)
else if (h266parse->content_light_level_state ==
GST_H266_PARSE_SEI_ACTIVE)
h266parse->content_light_level_state = GST_H266_PARSE_SEI_EXPIRED;
update_idr_pos (h266parse, nalu);
}
if (is_irap_or_gdr || h266parse->push_codec)
update_idr_pos (h266parse, nalu);
break;
}
case GST_H266_NAL_AUD: