[FFmpeg-devel] [PATCH 0/4] ogg/{vorbis, opus, flac}: Decode metadata from secondary chained streams.

Romain Beauxis romain.beauxis at gmail.com
Sun Jun 1 19:49:26 EEST 2025


This is a redo of a previous patchset. It is pending the review and
commit of
https://ffmpeg.org/pipermail/ffmpeg-devel/2025-June/344442.html but I
wanted to send right away for early review.

After removing ogg header packets from the demuxer, the changes are
really nice:
* Factor out vorbis metadata update mechanism
* Switch oggdec to use AV_PKT_DATA_STRINGS_METADATA for metadata update
  through extradata since this is the mechanism already implemented.
--> At this point, vorbis chained metadata start working!
* Use newly factored out function in ogg/flac parser to enable metadata
  updates.
* Use newly factored out function in ogg/opus parser to enable metadata
  updates.

Voila!

Romain Beauxis (4):
  libavformat/oggdec.h, libavformat/oggparsevorbis.c: Factor out vorbis
    metadata update mechanism.
  libavformat/oggdec.c: Use AV_PKT_DATA_STRINGS_METADATA to pass
    metadata updates.
  libavformat/oggparseflac.c: Parse ogg/flac comments in new ogg
    packets, add them to ogg stream new_metadata.
  libavformat/oggparseopus.c: Parse comments from secondary chained
    streams header packet.

 libavformat/oggdec.c                       |  2 +-
 libavformat/oggdec.h                       | 14 ++++++++++++
 libavformat/oggparseflac.c                 |  7 ++++++
 libavformat/oggparseopus.c                 |  5 +++++
 libavformat/oggparsevorbis.c               | 25 +++++++++++++++-------
 tests/ref/fate/ogg-flac-chained-meta.txt   |  3 ++-
 tests/ref/fate/ogg-opus-chained-meta.txt   |  3 ++-
 tests/ref/fate/ogg-vorbis-chained-meta.txt |  2 +-
 8 files changed, 49 insertions(+), 12 deletions(-)

-- 
2.39.5 (Apple Git-154)



More information about the ffmpeg-devel mailing list