avformat/mov: add support for sync group in sbgp box

release/5.1
Clément Bœsch 3 years ago
parent 954f488ea3
commit eb947471b2
  1. 2
      libavformat/isom.h
  2. 5
      libavformat/mov.c

@ -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;

@ -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);

Loading…
Cancel
Save