h264parse: try harder to update timecode

NumClockTS is the maximum number of timecodes the pic_timing SEI
can carry, but it is perfectly OK for it to carry fewer, and have
one of the clock_timestamp_flags set to 0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1804>
This commit is contained in:
Mathieu Duponchelle 2020-11-12 22:27:08 +01:00 committed by GStreamer Merge Bot
parent e93558efac
commit c969239c7c

View file

@ -2841,16 +2841,16 @@ gst_h264_parse_create_pic_timing_sei (GstH264Parse * h264parse,
num_clock_ts = num_clock_ts_table[h264parse->sei_pic_struct]; num_clock_ts = num_clock_ts_table[h264parse->sei_pic_struct];
if (num_meta != num_clock_ts) { if (num_meta > num_clock_ts) {
GST_LOG_OBJECT (h264parse, GST_LOG_OBJECT (h264parse,
"The number of timecode meta %d is not equal to required %d", "The number of timecode meta %d is superior to required %d",
num_meta, num_clock_ts); num_meta, num_clock_ts);
return NULL; return NULL;
} }
GST_LOG_OBJECT (h264parse, GST_LOG_OBJECT (h264parse,
"The number of timecode meta %d is equal", num_meta); "The number of timecode meta %d is compatible", num_meta);
memset (&sei, 0, sizeof (GstH264SEIMessage)); memset (&sei, 0, sizeof (GstH264SEIMessage));
sei.payloadType = GST_H264_SEI_PIC_TIMING; sei.payloadType = GST_H264_SEI_PIC_TIMING;