diff mbox series

[FFmpeg-devel] avformat/movenc: Remove experimental status of flac-in-MP4 muxing

Message ID 20220806083942.166569-1-mvanb1@gmail.com
State Accepted
Commit ed07ba641afeaa3ace9c6a424818614325e18d61
Headers show
Series [FFmpeg-devel] avformat/movenc: Remove experimental status of flac-in-MP4 muxing | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Martijn van Beurden Aug. 6, 2022, 8:39 a.m. UTC
The fLaC and dfLa box IDs have been registered with the MP4 RA
(they are now listed at https://mp4ra.org/#/codecs) and support
for muxing FLAC in MP4 has been experimental in ffmpeg for
6 years now, since Nov 21, 2016

This patch removes the experimental status and removes the MP4
object type, as none has been registered for FLAC as it was not
deemed necessary.
---
 libavformat/isom.c      | 1 -
 libavformat/isom_tags.c | 2 +-
 libavformat/movenc.c    | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

Comments

Anton Khirnov Aug. 6, 2022, 1:31 p.m. UTC | #1
Quoting Martijn van Beurden (2022-08-06 10:39:42)
> The fLaC and dfLa box IDs have been registered with the MP4 RA
> (they are now listed at https://mp4ra.org/#/codecs) and support
> for muxing FLAC in MP4 has been experimental in ffmpeg for
> 6 years now, since Nov 21, 2016
> 
> This patch removes the experimental status and removes the MP4
> object type, as none has been registered for FLAC as it was not
> deemed necessary.
> ---
>  libavformat/isom.c      | 1 -
>  libavformat/isom_tags.c | 2 +-
>  libavformat/movenc.c    | 2 +-
>  3 files changed, 2 insertions(+), 3 deletions(-)

Looks reasonable, will push soonish of nobody objects.
diff mbox series

Patch

diff --git a/libavformat/isom.c b/libavformat/isom.c
index cf27f58082..6d019881e5 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -61,7 +61,6 @@  const AVCodecTag ff_mp4_obj_type[] = {
     { AV_CODEC_ID_DTS         , 0xA9 }, /* mp4ra.org */
     { AV_CODEC_ID_OPUS        , 0xAD }, /* mp4ra.org */
     { AV_CODEC_ID_VP9         , 0xB1 }, /* mp4ra.org */
-    { AV_CODEC_ID_FLAC        , 0xC1 }, /* nonstandard, update when there is a standard value */
     { AV_CODEC_ID_TSCC2       , 0xD0 }, /* nonstandard, camtasia uses it */
     { AV_CODEC_ID_EVRC        , 0xD1 }, /* nonstandard, pvAuthor uses it */
     { AV_CODEC_ID_VORBIS      , 0xDD }, /* nonstandard, gpac uses it */
diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c
index c5fd7987f6..362cb77e8f 100644
--- a/libavformat/isom_tags.c
+++ b/libavformat/isom_tags.c
@@ -332,7 +332,7 @@  const AVCodecTag ff_codec_movaudio_tags[] = {
     { AV_CODEC_ID_SPEEX,           MKTAG('S', 'P', 'X', 'N') }, /* ZygoAudio (quality 10 mode) */
     { AV_CODEC_ID_EVRC,            MKTAG('s', 'e', 'v', 'c') }, /* 3GPP2 */
     { AV_CODEC_ID_SMV,             MKTAG('s', 's', 'm', 'v') }, /* 3GPP2 */
-    { AV_CODEC_ID_FLAC,            MKTAG('f', 'L', 'a', 'C') }, /* nonstandard */
+    { AV_CODEC_ID_FLAC,            MKTAG('f', 'L', 'a', 'C') },
     { AV_CODEC_ID_TRUEHD,          MKTAG('m', 'l', 'p', 'a') }, /* mp4ra.org */
     { AV_CODEC_ID_OPUS,            MKTAG('O', 'p', 'u', 's') }, /* mp4ra.org */
     { AV_CODEC_ID_MPEGH_3D_AUDIO,  MKTAG('m', 'h', 'm', '1') }, /* MPEG-H 3D Audio bitstream */
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 5608afde42..c8b2e141cb 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -7160,7 +7160,7 @@  static int mov_init(AVFormatContext *s)
                     av_log(s, AV_LOG_ERROR, "%s only supported in MP4.\n", avcodec_get_name(track->par->codec_id));
                     return AVERROR(EINVAL);
                 }
-                if (track->par->codec_id != AV_CODEC_ID_OPUS &&
+                if (track->par->codec_id == AV_CODEC_ID_TRUEHD &&
                     s->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
                     av_log(s, AV_LOG_ERROR,
                            "%s in MP4 support is experimental, add "