[FFmpeg-devel] [PATCH] avformat/lc3: Add file format for LC3/LC3plus transport

Stefano Sabatini stefasab at gmail.com
Thu Apr 11 00:22:21 EEST 2024


On date Wednesday 2024-04-10 20:26:01 +0200, Andreas Rheinhardt wrote:
> Antoine Soulier via ffmpeg-devel:
[...]
> > +#if CONFIG_LC3_DEMUXER
> > +const FFInputFormat ff_lc3_demuxer = {
> > +    .p.name         = "lc3",
> > +    .p.long_name    = NULL_IF_CONFIG_SMALL("LC3 (Low Complexity
> > Communication Codec)"),
> > +    .p.extensions   = "lc3",
> > +    .p.flags        = AVFMT_GENERIC_INDEX,
> > +    .priv_data_size = sizeof(LC3DemuxContext),
> > +    .read_probe     = lc3_read_probe,
> > +    .read_header    = lc3_read_header,
> > +    .read_packet    = lc3_read_packet,
> > +};
> > +#endif
> > +
> > +#if CONFIG_LC3_MUXER
> > +const FFOutputFormat ff_lc3_muxer = {
> > +    .p.name        = "lc3",
> > +    .p.long_name   = NULL_IF_CONFIG_SMALL("LC3 (Low Complexity
> > Communication Codec)"),
> > +    .p.extensions  = "lc3",
> > +    .p.audio_codec = AV_CODEC_ID_LC3,
> > +    .p.video_codec = AV_CODEC_ID_NONE,
> > +    .p.flags       = AVFMT_NOTIMESTAMPS,
> > +    .init          = lc3_muxer_init,
> > +    .write_header  = lc3_write_header,
> > +    .write_packet  = lc3_write_packet,
> > +};
> > +#endif
> 

> You only put the muxer and demuxer inside #if guards. If only one of
> these two is enabled, the other's functions will not be used and lead to
> compiler warnings. This can be fixed by putting all the stuff for only
> the muxer/demuxer inside the #if (see argo_cvg.c for an example).

Note: I pointed to codec2.c, which seems to suffer from the same
issue, argo_cvg.c is indeed a better example.


More information about the ffmpeg-devel mailing list