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

FATE samples for the new tests can be found here: 
https://www.dropbox.com/scl/fo/xrtrna2rxr1j354hrtymq/AGwemlxHYecBLNmQ8Fsy--4?rlkey=lzilr4m9w4gfdqygoe172vvy8&dl=0

## Changes since last version:
* Fixed fate test run in cross-compiled environments.
* Switched to av_tree to store pending metadata as pts->metadata
  mappings in case packets arrive in non-linear order or metadata
  updates are split accross multiple packets for a single frame.

Romain Beauxis (8):
  libavcodec/decode.c: intercept `AV_PKT_DATA_METADATA_UPDATE` packet
    extra data, attach them to the next decoded frame with the same PTS.
  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                        | 131 +++++++++++++++
 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      | 175 +++++++++++++++++++++
 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, 465 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-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to