From fc8a6a6f4cc3d9b5ca278d181bba97297dd8ee6a Mon Sep 17 00:00:00 2001 From: Limin Wang Date: Mon, 14 Mar 2022 10:05:42 +0800 Subject: avformat/movenc: initialize pts/dts of timecode packet Fix below error message when timecode packet is written. "Application provided duration: -9223372036854775808 / timestamp: -9223372036854775808 is out of range for mov/mp4 format" try to reproduce by: ffmpeg -y -f lavfi -i color -metadata "timecode=00:00:00:00" -t 1 test.mov Note although error message is printed, the timecode packet will be written anyway. So the patch 2/2 will try to change the log level to warning. Fixes ticket #9488 Signed-off-by: Limin Wang --- libavformat/movenc.c | 1 + 1 file changed, 1 insertion(+) (limited to 'libavformat') diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 2d521cb362..4e9ce1b952 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6359,6 +6359,7 @@ static int mov_create_timecode_track(AVFormatContext *s, int index, int src_inde pkt->data = data; pkt->stream_index = index; pkt->flags = AV_PKT_FLAG_KEY; + pkt->pts = pkt->dts = av_rescale_q(tc.start, av_inv_q(rate), (AVRational){1,mov->movie_timescale}); pkt->size = 4; AV_WB32(pkt->data, tc.start); ret = ff_mov_write_packet(s, pkt); -- cgit v1.2.3