On Wed, Nov 20, 2024, 12:27 PM James Almer <jamr...@gmail.com> wrote:
> From: Thierry Foucu <tfo...@gmail.com> > > Fixes ticket #11312. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavformat/isom.h | 1 + > libavformat/mov.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/libavformat/isom.h b/libavformat/isom.h > index ff08f2a48d..9a086b05c2 100644 > --- a/libavformat/isom.h > +++ b/libavformat/isom.h > @@ -62,6 +62,7 @@ typedef struct MOVStts { > typedef struct MOVCtts { > unsigned int count; > int offset; > + int duration; // used when handling fragments > } MOVCtts; > > typedef struct MOVStsc { > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 3e94a21418..c5c9fb10a6 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -4089,6 +4089,7 @@ static int64_t add_ctts_entry(MOVCtts** ctts_data, > unsigned int* ctts_count, uns > > ctts_buf_new[*ctts_count].count = count; > ctts_buf_new[*ctts_count].offset = offset; > + ctts_buf_new[*ctts_count].duration = 0; > > *ctts_count = (*ctts_count) + 1; > return *ctts_count; > @@ -5910,6 +5911,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > sti->index_entries[index_entry_pos].flags = index_entry_flags; > > sc->ctts_data[index_entry_pos].count = 1; > + sc->ctts_data[index_entry_pos].duration = sample_duration; > sc->ctts_data[index_entry_pos].offset = ctts_duration; > index_entry_pos++; > > @@ -10722,6 +10724,8 @@ static int mov_finalize_packet(AVFormatContext *s, > AVStream *st, AVIndexEntry *s > } > if (sc->ctts_data && sc->ctts_index < sc->ctts_count) { > pkt->pts = av_sat_add64(pkt->dts, av_sat_add64(sc->dts_shift, > sc->ctts_data[sc->ctts_index].offset)); > + if (sc->ctts_data[sc->ctts_index].duration) > + pkt->duration = sc->ctts_data[sc->ctts_index].duration; > > /* update ctts context */ > sc->ctts_sample++; > -- > 2.47.0 > > _______________________________________________ > 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". > Thanks. This patch does fix the ticket #11312 > _______________________________________________ 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".