diff mbox series

[FFmpeg-devel] avformat/lc3: Only allow AV_CODEC_ID_LC3 in muxer

Message ID AS8P250MB0744A5B141B0B62D87F56EC48F082@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit 639013aafcd9c534c487070c468e2f5309975fe1
Headers show
Series [FFmpeg-devel] avformat/lc3: Only allow AV_CODEC_ID_LC3 in muxer | 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

Andreas Rheinhardt April 16, 2024, 5:23 p.m. UTC
Also check for the number of streams and the AVCodecID generically
using FF_OFMT_FLAGs.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavformat/lc3.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

Comments

Stefano Sabatini April 16, 2024, 5:42 p.m. UTC | #1
On date Tuesday 2024-04-16 19:23:27 +0200, Andreas Rheinhardt wrote:
> Also check for the number of streams and the AVCodecID generically
> using FF_OFMT_FLAGs.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
>  libavformat/lc3.c | 14 +++-----------
>  1 file changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/libavformat/lc3.c b/libavformat/lc3.c
> index 93ce720af3..16c12a98d7 100644
> --- a/libavformat/lc3.c
> +++ b/libavformat/lc3.c
> @@ -186,16 +186,6 @@ const FFInputFormat ff_lc3_demuxer = {
>  
>  #if CONFIG_LC3_MUXER
>  
> -static av_cold int lc3_muxer_init(AVFormatContext *s)
> -{
> -    if (s->nb_streams != 1) {
> -        av_log(s, AV_LOG_ERROR, "This muxer only supports a single stream.\n");
> -        return AVERROR(EINVAL);
> -    }
> -
> -    return 0;
> -}
> -
>  static int lc3_write_header(AVFormatContext *s)
>  {
>      AVStream *st = s->streams[0];
> @@ -243,8 +233,10 @@ const FFOutputFormat ff_lc3_muxer = {
>      .p.extensions  = "lc3",
>      .p.audio_codec = AV_CODEC_ID_LC3,
>      .p.video_codec = AV_CODEC_ID_NONE,
> +    .p.subtitle_codec = AV_CODEC_ID_NONE,
>      .p.flags       = AVFMT_NOTIMESTAMPS,
> -    .init          = lc3_muxer_init,
> +    .flags_internal   = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
> +                        FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
>      .write_header  = lc3_write_header,
>      .write_packet  = lc3_write_packet,
>  };

LGTM, thanks.
diff mbox series

Patch

diff --git a/libavformat/lc3.c b/libavformat/lc3.c
index 93ce720af3..16c12a98d7 100644
--- a/libavformat/lc3.c
+++ b/libavformat/lc3.c
@@ -186,16 +186,6 @@  const FFInputFormat ff_lc3_demuxer = {
 
 #if CONFIG_LC3_MUXER
 
-static av_cold int lc3_muxer_init(AVFormatContext *s)
-{
-    if (s->nb_streams != 1) {
-        av_log(s, AV_LOG_ERROR, "This muxer only supports a single stream.\n");
-        return AVERROR(EINVAL);
-    }
-
-    return 0;
-}
-
 static int lc3_write_header(AVFormatContext *s)
 {
     AVStream *st = s->streams[0];
@@ -243,8 +233,10 @@  const FFOutputFormat ff_lc3_muxer = {
     .p.extensions  = "lc3",
     .p.audio_codec = AV_CODEC_ID_LC3,
     .p.video_codec = AV_CODEC_ID_NONE,
+    .p.subtitle_codec = AV_CODEC_ID_NONE,
     .p.flags       = AVFMT_NOTIMESTAMPS,
-    .init          = lc3_muxer_init,
+    .flags_internal   = FF_OFMT_FLAG_MAX_ONE_OF_EACH |
+                        FF_OFMT_FLAG_ONLY_DEFAULT_CODECS,
     .write_header  = lc3_write_header,
     .write_packet  = lc3_write_packet,
 };