[FFmpeg-devel] Input metadata not updated inside mux context

Christo Grozev cgrozev at gmail.com
Mon Jan 2 11:10:38 EET 2017


	
Happy New Year to all!

I am trying to create a patch for metadata-aware hls splitting.
Unfortunately, i cannot seem to get updated metadata from the
AVFormatContext object inside the muxer scope. For example, within hlsenc.c
I have this::

    static int hls_start(AVFormatContext *s)
    { 
    HLSContext *c = s->priv_data;
    AVFormatContext *oc = c->avf;
    AVFormatContext *vtt_oc = c->vtt_avf;
    AVDictionary *options = NULL;
    char *filename, iv_string[KEYSIZE*2 + 1];
    int err = 0;
    int ret = 0;
    AVDictionaryEntry *tag = NULL;
 
    av_log(s, AV_LOG_DEBUG, "Lets check if there's metadata now.. ");   
 
    tag = av_dict_get(oc->metadata, "StreamTitle", tag,
AV_DICT_IGNORE_SUFFIX);
    printf("%s\n",tag->value);

 

However, what is logged is always the original StreamTitle that was valid
when the initial connection to the input url was made, and is not updating
it further. Granted, this is the output stream context, but it does contain
the initial metadata, apparently. What would be the way to update it, or to
access the input context's metadata? Or is the only solution to re-poll the
input stream in a separate process?

 

Thanks in advance

Christo

 



More information about the ffmpeg-devel mailing list