[FFmpeg-devel] [PATCH] avformat/demux: Add allow_codec_changes option to AVFormatContext (v2)

Pavel Koshevoy pkoshevoy at gmail.com
Tue Jun 17 22:38:51 EEST 2025


On Tue, Jun 17, 2025 at 12:42 PM Marton Balint <cus at passwd.hu> wrote:

>
>
> On Tue, 17 Jun 2025, Pavel Koshevoy wrote:
>
> > Make runtime AVStream.codecpar codec_id updates optional and disabled
> > by default, so that avformat API clients can enable this feature
> explicitly
> > when they add support for runtime codec changes.
> >
> > Accordingly, codec_close should not assume that the codec_id cannot
> change.
> > This fixes 'ffprobe 1_poc.mp4' segfault introduced with
> > commit 0021484d05f9b0f032fa319399de6e24eea0c04f.
> > ---
> > doc/APIchanges              |  3 +++
> > doc/formats.texi            |  6 ++++++
> > libavformat/avformat.h      | 10 ++++++++++
> > libavformat/demux.c         |  8 +++++++-
> > libavformat/mpegts.c        |  4 +++-
> > libavformat/options_table.h |  1 +
> > libavformat/version.h       |  2 +-
> > tests/fate/demux.mak        |  2 +-
> > 8 files changed, 32 insertions(+), 4 deletions(-)
> >
> > diff --git a/doc/APIchanges b/doc/APIchanges
> > index 91710bb27d..29b3389094 100644
> > --- a/doc/APIchanges
> > +++ b/doc/APIchanges
> > @@ -2,6 +2,9 @@ The last version increases of all libraries were on
> 2025-03-28
> >
> > API changes, most recent first:
> >
> > +2025-06-17 - xxxxxxxxxx - lavf 62.2.100 - avformat.h
> > +  Add AVFormatContext.allow_codec_changes AVOption.
>
> Considering that this is a simple boolean option, maybe you should use
> AVFormatContext->flags instead, so no new field need to be added, only a
> new flag.
>

Are you referring to AVFMT_FLAG_...  flags?
Are they controllable from the command line, as an AVOption?
I referenced AVFormatContext.skip_estimate_duration_from_pts as an example,
and that's not a flag.

I'd like a second opinion on this.

Thank you,
    Pavel.


More information about the ffmpeg-devel mailing list