[FFmpeg-devel] [PATCH 5/8] lavu: add a JSON writer API (WIP)

Michael Niedermayer michael at niedermayer.cc
Sun Apr 30 18:06:36 EEST 2023


On Sat, Apr 29, 2023 at 08:27:32PM +0200, Anton Khirnov wrote:
> Quoting Nicolas George (2023-04-29 19:11:52)
> > Anton Khirnov (2023-04-29):
> > > As far as I can see, there are exactly two places in the codebase that
> > > produce JSON: af_loudnorm and ffprobe.
> > 
> > I think I remember finding a few other places, but it does not matter
> > much.
> > 
> > Users have been asking¹ for parse-friendly output from filters for years,
> > and JSON is often the format they prefer. Therefore, all the filters
> > that log useful information are candidates where a JSON writing API is
> > useful.
> 
> libavfilter is a C library with a C API. Any structured output from
> filters should be in the form of a C object, typically a struct. I do
> not see why are you so in love with strings, they make for terrible
> APIs.

There are many projects which use libavcodec, format, filter
Human users use these projects

If the standarization is at a C struct level only then the human interface
for each application can be different.
Thats fine if the 2 cases use fundamentally different interfaces like a
GUI draging, droping and connecting components vs some command line
interface.
But if 2 applications both use command line / string based interfaces
it would be nice to the human user if she could use/learn the same syntax
and transfer a working example / script from one to the other.

So i think strings do matter for C libs because of that.

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The day soldiers stop bringing you their problems is the day you have stopped 
leading them. They have either lost confidence that you can help or concluded 
you do not care. Either case is a failure of leadership. - Colin Powell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230430/33e77959/attachment.sig>


More information about the ffmpeg-devel mailing list