diff options
author | Clément Bœsch <u@pkh.me> | 2022-02-18 22:52:31 +0100 |
---|---|---|
committer | Clément Bœsch <u@pkh.me> | 2022-03-04 15:50:51 +0100 |
commit | eb947471b245d0c2563c057fca5d1a18e57b3643 (patch) | |
tree | e84d2ef04c9bb30d8d9a91446c7ad040b059deea /libavformat | |
parent | 954f488ea3b1127be9f705516215a7860d198e9f (diff) | |
download | ffmpeg-eb947471b245d0c2563c057fca5d1a18e57b3643.tar.gz |
avformat/mov: add support for sync group in sbgp box
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/isom.h | 2 | ||||
-rw-r--r-- | libavformat/mov.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/isom.h b/libavformat/isom.h index 625dea8421..e326f4f27f 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -218,6 +218,8 @@ typedef struct MOVStreamContext { int start_pad; ///< amount of samples to skip due to enc-dec delay unsigned int rap_group_count; MOVSbgp *rap_group; + unsigned int sync_group_count; + MOVSbgp *sync_group; int nb_frames_for_fps; int64_t duration_for_fps; diff --git a/libavformat/mov.c b/libavformat/mov.c index cd587cc510..6221bb0490 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -3152,6 +3152,9 @@ static int mov_read_sbgp(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (grouping_type == MKTAG('r','a','p',' ')) { tablep = &sc->rap_group; table_count = &sc->rap_group_count; + } else if (grouping_type == MKTAG('s','y','n','c')) { + tablep = &sc->sync_group; + table_count = &sc->sync_group_count; } else { return 0; } @@ -4371,6 +4374,7 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) av_freep(&sc->stps_data); av_freep(&sc->elst_data); av_freep(&sc->rap_group); + av_freep(&sc->sync_group); return 0; } @@ -7710,6 +7714,7 @@ static int mov_read_close(AVFormatContext *s) av_freep(&sc->stps_data); av_freep(&sc->elst_data); av_freep(&sc->rap_group); + av_freep(&sc->sync_group); av_freep(&sc->display_matrix); av_freep(&sc->index_ranges); |