[FFmpeg-devel] [PATCH 1/2] lavf: fall back to a more meaningful log instance name

Anton Khirnov anton at khirnov.net
Mon Apr 3 13:16:03 EEST 2023


Quoting Stefano Sabatini (2023-04-02 21:06:35)
> On date Thursday 2023-03-30 11:38:07 +0200, Anton Khirnov wrote:
> > An uninitialized AVFormatContext instance with neither iformat nor
> > oformat set will currently log as 'NULL', which is confusing and
> > unhelpful. Print 'AVFormatContext' instead, which provides more
> > information.
> > 
> > This happens e.g. if choosing an output format fails in
> > avformat_alloc_output_context2().
> > ---
> >  libavformat/options.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/libavformat/options.c b/libavformat/options.c
> > index 22ad523b2d..e4a3aceed0 100644
> > --- a/libavformat/options.c
> > +++ b/libavformat/options.c
> > @@ -44,7 +44,7 @@ static const char* format_to_name(void* ptr)
> >      AVFormatContext* fc = (AVFormatContext*) ptr;
> >      if(fc->iformat) return fc->iformat->name;
> >      else if(fc->oformat) return fc->oformat->name;
> > -    else return "NULL";
> > +    else return fc->av_class->class_name;
> >  }
> 
> Do you have an example to show? Anyway LGTM.

./ffmpeg -i /tmp/s.mkv -f foobar -y /dev/null
before: [NULL @ 0x5580377834c0] Requested output format 'foobar' is not a suitable output format
after:  [AVFormatContext @ 0x55fa15bb34c0] Requested output format 'foobar' is not a suitable output format

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list