if (ret >= 0) {
uint8_t field, cc1, cc2;
uint8_t *cap = s1->a53_buf_ref->data;
+
+ memset(s1->a53_buf_ref->data + old_size, 0, cc_count * 3);
for (i = 0; i < cc_count && get_bits_left(&gb) >= 26; i++) {
skip_bits(&gb, 2); // priority
field = get_bits(&gb, 2);
s2->current_picture_ptr = NULL;
if (s2->timecode_frame_start != -1 && *got_output) {
+ char tcbuf[AV_TIMECODE_STR_SIZE];
AVFrameSideData *tcside = av_frame_new_side_data(picture,
AV_FRAME_DATA_GOP_TIMECODE,
sizeof(int64_t));
return AVERROR(ENOMEM);
memcpy(tcside->data, &s2->timecode_frame_start, sizeof(int64_t));
+ av_timecode_make_mpeg_tc_string(tcbuf, s2->timecode_frame_start);
+ av_dict_set(&picture->metadata, "timecode", tcbuf, 0);
+
s2->timecode_frame_start = -1;
}
}