On Tue, 27 May 2014 15:37:04 -0400
Andrew Stone <[email protected]> wrote:

> Hey guys and gals,
> 
> I'm currently working on a project that involves demuxing live streams and
> working with the metadata found in the streams, but I haven't been able to
> find a unified way of doing this. For example:
> 
> * icecast (http protocol): metadata is set as "icy_metadata_packet" as an
> option

This is a problem, because it works on the stream layer. It would
somehow have to communicate this to the demuxer, but how? Also, ICY
metdata is often very inconsistent, and it's not clear how it should be
even exposed.

> * flv (demuxer): metadata is set on the AVFormatContext every time it
> changes
> * ogg: set on the stream (AVFormatContext->streams[...]->metadata) and
> updated on change

I'm not aware that these demuxers actually do this. FFmpeg has an API
for OGG metadata update (which works differently and includes a
notification mechanism), but AFAIK Libav doesn't.

> Each of these is changed without ever informing the application of any
> changes, so that application constantly has to poll to see if anything has
> changed. Beyond all of that, the metadata doesn't include any information
> about _when_ it occurred, which is really useful for scheduling metadata
> display.
> 
> Am I overlooking something here? If not, are there any plans to get some
> unified metadata implemented, or is there even willingness to entertain a
> change-set with unified live metadata handling?

No, you're not overlooking something. As for FFmpeg, look at
AV_PKT_DATA_METADATA_UPDATE. Yes, I think there's always "willingness" for
patches. From a contributor point of view, there's of course always the
danger that the changes might be rejected or that you're asked to redo
the patches, so just ask on libav-devel if you want to implement
something. Tell how you want to implement it (and what the API will
look like), and then you might get some feedback.
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to