From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 37CA44CFEF
	for <ffmpegdev@gitmailbox.com>; Tue, 15 Apr 2025 22:23:29 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A7F66687D7B;
	Wed, 16 Apr 2025 01:22:53 +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 43923687CB0;
 Wed, 16 Apr 2025 01:22:41 +0300 (EEST)
Received: by mail-ot1-f52.google.com with SMTP id
 46e09a7af769-72c173211feso1803604a34.1; 
 Tue, 15 Apr 2025 15:22:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744755759; x=1745360559; darn=ffmpeg.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=HoYk3vR7TbIL6eRT23H4PQYjOwtO0cWKD8CQUGv5aGY=;
 b=O/9AGPuCSgjG/8dcw7MQ76JRKwa0AtOe6wq+DQ+Yv4U22jlFiFtslNZTIQy+mmX6jT
 PfDTgFHlAbxbi1Vpn0JRcuvGQAi9FQF1SooX6gL2VWglelHgiC+gBkMGtqiy99lkKOva
 1pk4Td0QJNX1JiaSHpD4JEF6IFIXWcJ9jvlyHqVpasoRcDaa+Q60Tdc7TAz0UV+e5n91
 aGXe0lB4N8NPtesBy9fsMJQ8UIcW1fjVDPl2G3fwu2jP38Ez77hMZQstc7wwv8Hmi9v4
 xG+UXxWWvCihobrY30W4JDzIAjIlqySrX76s6VEV3Mq6K5FKRKDp0mgyJbZPIFhz2Sy+
 4DrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744755759; x=1745360559;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=HoYk3vR7TbIL6eRT23H4PQYjOwtO0cWKD8CQUGv5aGY=;
 b=LAfNaKT1OAsqUV2j0L6wPzGdNtEeJQpGjCQjBpjB7yTlgVNu3G5ysOe2198QfecfhW
 +SkourpqZtkSIep6u1+X5DmaS4pAsu8PrxOIPqeop3wEJb9wNqm3SNTgc0Y7HJ8ri6dd
 iB0d9jrrBgWXfViWpY1cvqWvC+tg8bE2vxcgiVn0H5R93+Nx6hvIAW395yeDAmwaRsvR
 zkAR32HtWygibaZKsFYiFITGHO8D7nhix+8AGVOrCiWuU/SQiqWQa+9TkkWqSd+QuZb9
 rZMfSUenYEo2LSiFV5VG19qLzuBkVWNkCLRg04R4rhQ4PXh0Fv1K34HQt4azklC1/K8Y
 YkQA==
X-Forwarded-Encrypted: i=1;
 AJvYcCUCYCyMpYDXcBJNMjXEi0ITTndkyfvRCE4Or5k7kLy52k9bTLnxw3/RVo+rsH2p5jrNOESGiiezoZAdwWI6KVA=@ffmpeg.org
X-Gm-Message-State: AOJu0YxZflEgJA/d+u7y83qM3jfW+pJ9+h/ffm6hqhFGpzPUv7Udi9qo
 1gbt1ICfFiNb8yTwYR0lWLjNQPUFjExYNripfHL0QTAaK1uku4lZOJANQOhm
X-Gm-Gg: ASbGncs62JIr/ol7NGi8wsS+4Y9VIe7RRyKUAaFpwMOoGywTk9Jx0hZjLIL7VTLoiqp
 F2qkW7R7cdQLlQXZZiyv/y26sRPQxr4Q0EmWmktfmKciHaHYnk8+Yk0cJdF+xYjX9kvhmij62Af
 RHdAqWeY+VCcybMBcbxe3G0cDry9dwD8iAa4/WfSDaKpE+Pwu2RwwdzlM3mGPSDoTFblx/5mkMx
 QfDcASIwcB1DGBUMriOxwcS/0eXKZPIpWzg3cFJsvNXn28fEfgIIAShaPuJ+vCyEQSOxqFGqP8u
 DnD0GgedsR0cLnfulDbUPaDj0PFI+5xSNJdib0zRJY5CiH4GutZqUTcTnQgR3RqqZU7lGvRRHXe
 /baiRxtWs
X-Google-Smtp-Source: AGHT+IHRb1u5ePPbWlBwtwfoQZcWKzJPKqu0uKTZ81riZyD1166LfWNWA5b2k8ZIri75/8XdXS/w2g==
X-Received: by 2002:a05:6830:3747:b0:72c:320c:d960 with SMTP id
 46e09a7af769-72ec1b33d3emr819128a34.15.1744755759199; 
 Tue, 15 Apr 2025 15:22:39 -0700 (PDT)
Received: from mac.lan (ip72-211-125-114.no.no.cox.net. [72.211.125.114])
 by smtp.gmail.com with ESMTPSA id
 46e09a7af769-72e73e4d7edsm2576615a34.47.2025.04.15.15.22.38
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 15 Apr 2025 15:22:38 -0700 (PDT)
From: Romain Beauxis <romain.beauxis@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Date: Tue, 15 Apr 2025 17:22:28 -0500
Message-Id: <20250415222236.78392-1-romain.beauxis@gmail.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH v12 0/8] Properly decode ogg metadata in
 ogg/{vorbis, flac, opus} chained bitstreams.
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: samples-request@ffmpeg.org, Romain Beauxis <romain.beauxis@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250415222236.78392-1-romain.beauxis@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

This is a series of patches to allow proper decoding of ogg metadata in chained
`ogg/vorbis, `ogg/flac` and `ogg/opus` streams.

Samples are available at: https://www.dropbox.com/scl/fo/xrtrna2rxr1j354hrtymq/AGwemlxHYecBLNmQ8Fsy--4?rlkey=lzilr4m9w4gfdqygoe172vvy8&dl=0

## Changes since last version:
* Reverted metadata decoding logic to the previous, simpler
  implementation.

Romain Beauxis (8):
  libavcodec/decode.c: intercept `AV_PKT_DATA_METADATA_UPDATE` packet
    extra data, attach them to the next decoded frame.
  tests: Add stream dump test API util.
  tests: Add chained ogg/vorbis stream dump test.
  libavformat/oggdec.h, libavformat/oggparsevorbis.c: Factor out vorbis
    metadata update mechanism.
  libavformat/oggparseflac.c: Parse ogg/flac comments in new ogg
    packets, add them to ogg stream new_metadata.
  tests: Add chained ogg/flac stream dump test.
  libavformat/oggparseopus.c: Parse comments from secondary chained
    streams header packet.
  tests: Add chained ogg/opus stream dump test.

 libavcodec/decode.c                        |  19 +++
 libavformat/oggdec.h                       |  14 ++
 libavformat/oggparseflac.c                 |  21 +++
 libavformat/oggparseopus.c                 |  13 +-
 libavformat/oggparsevorbis.c               |  25 ++-
 tests/Makefile                             |   4 +
 tests/api/Makefile                         |   2 +-
 tests/api/api-dump-stream-meta-test.c      | 177 +++++++++++++++++++++
 tests/fate/ogg-flac.mak                    |  11 ++
 tests/fate/ogg-opus.mak                    |  11 ++
 tests/fate/ogg-vorbis.mak                  |  11 ++
 tests/ref/fate/ogg-flac-chained-meta.txt   |  13 ++
 tests/ref/fate/ogg-opus-chained-meta.txt   |  27 ++++
 tests/ref/fate/ogg-vorbis-chained-meta.txt |  17 ++
 14 files changed, 355 insertions(+), 10 deletions(-)
 create mode 100644 tests/api/api-dump-stream-meta-test.c
 create mode 100644 tests/fate/ogg-flac.mak
 create mode 100644 tests/fate/ogg-opus.mak
 create mode 100644 tests/fate/ogg-vorbis.mak
 create mode 100644 tests/ref/fate/ogg-flac-chained-meta.txt
 create mode 100644 tests/ref/fate/ogg-opus-chained-meta.txt
 create mode 100644 tests/ref/fate/ogg-vorbis-chained-meta.txt

-- 
2.39.5 (Apple Git-154)

_______________________________________________
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".