mbox series

[FFmpeg-devel,v2,0/2] Support for stream dispositions in MP4

Message ID 20210830111407.5655-1-jeebjp@gmail.com
Headers show
Series Support for stream dispositions in MP4 | expand

Message

Jan Ekström Aug. 30, 2021, 11:14 a.m. UTC
First patch implements the CMAF specified way of flagging what in FFmpeg
are are called stream dispositions. Other identifiers such as HTML media track
kinds are allowed, but if there is a DASH identifier for something, it should
be utilized in stead.

Second patch is a compatibility patch for one of the vendors that supports this
feature. If this is considered a too bad of a hack, we can drop it from being
upstreamed, but at least I wanted to bring it up :) . The compatibility mode
is not the default, so it should also not proliferate such behavior.

Compared to first version:
* Missed unused variables causing additional warnings were removed.

Best regards,
Jan

Jan Ekström (2):
  avformat/{isom,mov,movenc}: add support for CMAF DASH roles
  avformat/{isom,movenc}: add kind box compatibility mode for Unified
    Origin

 libavformat/isom.c                            | 32 ++++++++
 libavformat/isom.h                            | 18 +++++
 libavformat/mov.c                             | 67 +++++++++++++++
 libavformat/movenc.c                          | 57 +++++++++++++
 libavformat/movenc.h                          |  2 +
 tests/fate/mov.mak                            | 17 ++++
 .../ref/fate/mov-mp4-disposition-mpegts-remux | 81 +++++++++++++++++++
 ...p4-disposition-unified-origin-mpegts-remux | 81 +++++++++++++++++++
 8 files changed, 355 insertions(+)
 create mode 100644 tests/ref/fate/mov-mp4-disposition-mpegts-remux
 create mode 100644 tests/ref/fate/mov-mp4-disposition-unified-origin-mpegts-remux

Comments

Jan Ekström Sept. 6, 2021, 1:55 p.m. UTC | #1
On Mon, Aug 30, 2021 at 2:14 PM Jan Ekström <jeebjp@gmail.com> wrote:
>
> First patch implements the CMAF specified way of flagging what in FFmpeg
> are are called stream dispositions. Other identifiers such as HTML media track
> kinds are allowed, but if there is a DASH identifier for something, it should
> be utilized in stead.
>
> Second patch is a compatibility patch for one of the vendors that supports this
> feature. If this is considered a too bad of a hack, we can drop it from being
> upstreamed, but at least I wanted to bring it up :) . The compatibility mode
> is not the default, so it should also not proliferate such behavior.
>

Would welcome comments on the second bit, whether the second patch
idea-wise is too bad for inclusion in upstream or not.

Additionally, I note that I've been way too focused on API-changing
changes with regards to library versions (major/minor), so while I
missed this during the TTML-in-mp4 muxing addition, would this sort of
a change be good to have a micro version bump for when applying?

Jan