Re: [FFmpeg-devel] [PATCH] avformat/movenc: fixed fmp4 packets containing incorrect flags after transcoding
Steven Liu 于2023年4月23日周日 09:54写道: > > <1035567...@qq.com> 于2023年4月10日周一 20:43写道: > > > > From: Wang Yaqiang > > > > When write multi-trun box, the MOV_TRUN_FIRST_SAMPLE_FLAGS flag > > need judge by first param, not 0. > > If the original video contains consecutive I frames, > > this will cause the packets of fmp4 have error sample_flags , > > and then incorrect keyframes were generated, > > and then error packet will be seeked. > > > > Signed-off-by: Wang Yaqiang > > --- > > libavformat/movenc.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > > index c370922c7d..946e79c5ac 100644 > > --- a/libavformat/movenc.c > > +++ b/libavformat/movenc.c > > @@ -4858,8 +4858,8 @@ static int mov_write_trun_tag(AVIOContext *pb, > > MOVMuxContext *mov, > > if (i > first && get_sample_flags(track, &track->cluster[i]) != > > track->default_sample_flags) > > flags |= MOV_TRUN_SAMPLE_FLAGS; > > } > > -if (!(flags & MOV_TRUN_SAMPLE_FLAGS) && track->entry > 0 && > > - get_sample_flags(track, &track->cluster[0]) != > > track->default_sample_flags) > > +if (!(flags & MOV_TRUN_SAMPLE_FLAGS) && track->entry > first && > > + get_sample_flags(track, &track->cluster[first]) != > > track->default_sample_flags) > > flags |= MOV_TRUN_FIRST_SAMPLE_FLAGS; > > if (track->flags & MOV_TRACK_CTTS) > > flags |= MOV_TRUN_SAMPLE_CTS; > > -- > > 2.39.2 > > > > ___ > > 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". > > > Test ok here. Applied. Thanks Steven ___ 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".
Re: [FFmpeg-devel] [PATCH] avformat/movenc: fixed fmp4 packets containing incorrect flags after transcoding
<1035567...@qq.com> 于2023年4月10日周一 20:43写道: > > From: Wang Yaqiang > > When write multi-trun box, the MOV_TRUN_FIRST_SAMPLE_FLAGS flag > need judge by first param, not 0. > If the original video contains consecutive I frames, > this will cause the packets of fmp4 have error sample_flags , > and then incorrect keyframes were generated, > and then error packet will be seeked. > > Signed-off-by: Wang Yaqiang > --- > libavformat/movenc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index c370922c7d..946e79c5ac 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -4858,8 +4858,8 @@ static int mov_write_trun_tag(AVIOContext *pb, > MOVMuxContext *mov, > if (i > first && get_sample_flags(track, &track->cluster[i]) != > track->default_sample_flags) > flags |= MOV_TRUN_SAMPLE_FLAGS; > } > -if (!(flags & MOV_TRUN_SAMPLE_FLAGS) && track->entry > 0 && > - get_sample_flags(track, &track->cluster[0]) != > track->default_sample_flags) > +if (!(flags & MOV_TRUN_SAMPLE_FLAGS) && track->entry > first && > + get_sample_flags(track, &track->cluster[first]) != > track->default_sample_flags) > flags |= MOV_TRUN_FIRST_SAMPLE_FLAGS; > if (track->flags & MOV_TRACK_CTTS) > flags |= MOV_TRUN_SAMPLE_CTS; > -- > 2.39.2 > > ___ > 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". Test ok here. Thanks Steven ___ 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".