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
