This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 8b1d0643c9c9c8a694c7a77632d70072bf57f82f Author: James Almer <[email protected]> AuthorDate: Mon Oct 5 18:33:14 2026 -0300 Commit: James Almer <[email protected]> CommitDate: Mon Oct 12 10:36:26 2026 -0300 avformat/movenc: stop using deprecated AVStreamGroup fields Signed-off-by: James Almer <[email protected]> --- libavformat/movenc.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 6492f4ffb3..7cdbf6bd59 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -8228,9 +8228,9 @@ static int mov_init_iamf_track(AVFormatContext *s) const AVStreamGroup *stg = s->stream_groups[i]; switch(stg->type) { case AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: - for (int j = 0; j < stg->nb_streams; j++) { - first_iamf_idx = FFMIN(stg->streams[j]->index, first_iamf_idx); - last_iamf_idx = FFMAX(stg->streams[j]->index, last_iamf_idx); + for (int j = 0; j < stg->nb_entries; j++) { + first_iamf_idx = FFMIN(stg->entries[j]->stream->index, first_iamf_idx); + last_iamf_idx = FFMAX(stg->entries[j]->stream->index, last_iamf_idx); } ret = ff_iamf_add_audio_element(iamf, stg, s); @@ -8258,8 +8258,8 @@ static int mov_init_iamf_track(AVFormatContext *s) AVStreamGroup *stg = s->stream_groups[i]; if (stg->type != AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT) continue; - for (int j = 0; j < stg->nb_streams; j++) - stg->streams[j]->priv_data = track; + for (int j = 0; j < stg->nb_entries; j++) + stg->entries[j]->stream->priv_data = track; } ret = avio_open_dyn_buf(&track->iamf_buf); @@ -8415,15 +8415,24 @@ static int mov_init(AVFormatContext *s) for (i = 0; i < s->nb_stream_groups; i++) { AVStreamGroup *stg = s->stream_groups[i]; + for (int j = 0; j < stg->nb_entries; j++) { + if (stg->entries[j]->type != AV_STREAM_GROUP_ENTRY_STREAM) { + av_log(s, AV_LOG_ERROR, "Unsupported Stream Group entry #%d " + "in Stream Group id %"PRId64"\n", + i, stg->id); + return AVERROR(EINVAL); + } + } + if (stg->type == AV_STREAM_GROUP_PARAMS_LCEVC) { - if (stg->nb_streams != 2) { + if (stg->nb_entries != 2) { av_log(s, AV_LOG_ERROR, "Exactly two Streams are supported for Stream Groups of type LCEVC\n"); return AVERROR(EINVAL); } AVStreamGroupLayeredVideo *lcevc = stg->params.layered_video; if (lcevc->el_index > 1) return AVERROR(EINVAL); - AVStream *st = stg->streams[lcevc->el_index]; + AVStream *st = stg->entries[lcevc->el_index]->stream; if (st->codecpar->codec_id != AV_CODEC_ID_LCEVC) { av_log(s, AV_LOG_ERROR, "Stream #%u is not an LCEVC stream\n", lcevc->el_index); return AVERROR(EINVAL); @@ -8434,8 +8443,8 @@ static int mov_init(AVFormatContext *s) if (stg->type != AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT) continue; - for (int j = 0; j < stg->nb_streams; j++) { - AVStream *st = stg->streams[j]; + for (int j = 0; j < stg->nb_entries; j++) { + AVStream *st = stg->entries[j]->stream; if (st->priv_data) { av_log(s, AV_LOG_ERROR, "Stream %d is present in more than one Stream Group of type " @@ -8790,13 +8799,13 @@ static int mov_init(AVFormatContext *s) switch (stg->type) { case AV_STREAM_GROUP_PARAMS_LCEVC: { AVStreamGroupLayeredVideo *lcevc = stg->params.layered_video; - AVStream *st = stg->streams[lcevc->el_index]; + AVStream *st = stg->entries[lcevc->el_index]->stream; MOVTrack *track = st->priv_data; for (int j = 0; j < mov->nb_tracks; j++) { MOVTrack *trk = &mov->tracks[j]; - if (trk->st == stg->streams[!lcevc->el_index]) { + if (trk->st == stg->entries[!lcevc->el_index]->stream) { track->src_track = av_malloc(sizeof(*track->src_track)); if (!track->src_track) return AVERROR(ENOMEM); @@ -8814,12 +8823,12 @@ static int mov_init(AVFormatContext *s) const AVStreamGroupTREF *tref = stg->params.tref; MOVTrack *track; - if (tref->metadata_index >= stg->nb_streams) + if (tref->metadata_index >= stg->nb_entries) return AVERROR(EINVAL); - track = stg->streams[tref->metadata_index]->priv_data; - for (int j = 0; j < stg->nb_streams; j++) { - const AVStream *st2 = stg->streams[j]; + track = stg->entries[tref->metadata_index]->stream->priv_data; + for (int j = 0; j < stg->nb_entries; j++) { + const AVStream *st2 = stg->entries[j]->stream; int index = -1; if (j == tref->metadata_index) -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
