> On Mar 29, 2022, at 12:50 PM, Zhao Zhili <quinkbl...@foxmail.com> wrote:
>
> Fix #8334
> ---
> libavformat/movenc.c | 6 +++++-
> tests/ref/fate/movenc | 10 +++++-----
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index 46d66c29c2..079fc70d4a 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -4753,7 +4753,8 @@ static int mov_write_sidx_tag(AVIOContext *pb,
>
> if (track->entry) {
> entries = 1;
> - presentation_time = track->cluster[0].dts + track->cluster[0].cts;
> + presentation_time = track->cluster[0].dts + track->cluster[0].cts -
> + track->start_dts - track->start_cts;
> duration = track->end_pts -
> (track->cluster[0].dts + track->cluster[0].cts);
> starts_with_SAP = track->cluster[0].flags & MOV_SYNC_SAMPLE;
> @@ -4768,6 +4769,9 @@ static int mov_write_sidx_tag(AVIOContext *pb,
> if (entries <= 0)
> return 0;
> presentation_time = track->frag_info[0].time;
> + /* presentation_time <= 0 is handled by mov_add_tfra_entries() */
> + if (presentation_time > 0)
> + presentation_time -= track->start_dts + track->start_cts;
> }
>
> avio_wb32(pb, 0); /* size */
Will apply tomorrow. The issue in ticket 8334 has been hidden by the
use_tfdt flag, which ignored sidx timestamp. The real issue is in mp4 muxer.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".