From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id ED8444A3AC for ; Sat, 3 Aug 2024 19:18:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C9D668D91A; Sat, 3 Aug 2024 22:18:30 +0300 (EEST) Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D047C68D077 for ; Sat, 3 Aug 2024 22:18:23 +0300 (EEST) Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-70949118d26so6122127a34.0 for ; Sat, 03 Aug 2024 12:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722712701; x=1723317501; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=7KFNVEYGFUihVOIMj3dVzr+TbVyQ2/nEe3Ec4Ev4OIw=; b=iIVdtqZ2WkX8TBuwHuNXJ2/yvtoJXz1DYCtWI193RHAujbvl+/jx0Ba7J+/IJs7g3Q VUf23YR36bi44yUUJBvL+0m0/GOaYS8nzltI8apFybLv1J1eNYbS9OBv74aja4Suay/A MyI9929usDUMPftPNgz0qdabh8pb/MPuQE+WG3sVRtSmRxr0ow36iK3zl5+gfD8Bv/8D UpSYYGIFfYZJZn0qRW3yFZPQ6zG6csNwXA4agTMtcI+7Nkh8TbLbgT9E/vMxnz/ZVjcu MV24isH1HpbmclQuyj/jpAO1B/xrou/nLEWLGDL4tQN4Iwy6/8H7oKmFsBDDDCJpRram ZIwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722712701; x=1723317501; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7KFNVEYGFUihVOIMj3dVzr+TbVyQ2/nEe3Ec4Ev4OIw=; b=dxQAmHsWz+d9+dnoH86kI+BNL71JMhkJTeGFCGi/t0JgRtXILs7X45mRPmx7uw1O0y Oa+XhwJALFWOTw0wKs97BywDfKe1XMcbNqunyA3mR2RRZRYCxiMOR9zKAsKc2+dHbfy4 yUV4Dj6VwthUkrfx1Vlvg5OgYbMqndKMBfJD+NIuIpMtjriYht9HXghWfN2452yRj/6x ogy2/x0vwt98uZX0LKgxUjPqovFFVeIDpE7WMguErUA7gvj6E2RF0Q37IBrzDgxaTSFu 03YZY3ULyXno/GXBkLvm/4kt7p/gz2+iD8atm/F5hADK8e9quQZUe5t42x837nEap0Tm Qthw== X-Gm-Message-State: AOJu0Yw04nShtZ5++w0L73xsBKz9uQyYoCymvJAGOHVUhfH8lNcdarXb 9Jwq5OZ9Ep0JY4Pi5mnaQY4WlgwceLDncKdOkzPYFxGKbfX2NQl451zRKQ== X-Google-Smtp-Source: AGHT+IGpU028RcI0twe+OCRbSuEco7yBnl4miZg+QDpko2sqs7yebj/iNd8fnmXsg9QK/3KQDaiyeA== X-Received: by 2002:a05:6830:40c3:b0:703:6e87:a7d4 with SMTP id 46e09a7af769-709b323d308mr8419701a34.19.1722712701337; Sat, 03 Aug 2024 12:18:21 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7b830f296d4sm1904033a12.68.2024.08.03.12.18.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Aug 2024 12:18:20 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sat, 3 Aug 2024 16:19:00 -0300 Message-ID: <20240803191900.41511-1-jamrial@gmail.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/movenc: use stream indexes when generating track ids X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: In some scenarios nb_tracks isn't the same as nb_streams, so a given id may end up being used for two separate streams. e.g. when muxing an IAMF track followed by a video track, if the IAMF track consists of several streams, the video track would end up having an id of 2, which may also be used by one of the IAMF streams. Signed-off-by: James Almer --- libavformat/movenc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8e4a037e46..8d91059081 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -4944,11 +4944,15 @@ static int mov_setup_track_ids(MOVMuxContext *mov, AVFormatContext *s) mov->tracks[i].track_id = i >= mov->nb_streams ? ++next_generated_track_id : mov->tracks[i].st->id; } } else { + int last_track_id = 0; for (i = 0; i < mov->nb_tracks; i++) { if (mov->tracks[i].entry <= 0 && !(mov->flags & FF_MOV_FLAG_FRAGMENT)) continue; - mov->tracks[i].track_id = i + 1; + last_track_id = + mov->tracks[i].track_id = (mov->tracks[i].st + ? FFMAX(mov->tracks[i].st->index, last_track_id) + : FFMAX((i ? mov->tracks[i - 1].track_id : i), last_track_id)) + 1; } } -- 2.46.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-request@ffmpeg.org with subject "unsubscribe".