From 0c9b655477331f9e5cc25bd90b7a3a1a19b43cbc Mon Sep 17 00:00:00 2001 From: Oliver Freyermuth Date: Wed, 13 Jan 2016 01:47:12 +0100 Subject: demux_lavf: update metadata with information from AV_PROGRAM on switch. Need to trigger demux_changed() manually since metadata of tracks and streams is not changed, but demuxer-metadata is still changed on program switch. --- demux/demux_lavf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c index e054d29bbd..1b3105170d 100644 --- a/demux/demux_lavf.c +++ b/demux/demux_lavf.c @@ -1062,6 +1062,12 @@ redo: goto redo; } priv->cur_program = prog->progid = program->id; + + mp_tags_copy_from_av_dictionary(demuxer->metadata, priv->avfc->programs[p]->metadata); + update_metadata(demuxer, NULL); + // Enforce metadata update even if no explicit METADATA_UPDATED since we switched program. + demux_changed(demuxer, DEMUX_EVENT_METADATA); + return DEMUXER_CTRL_OK; } case DEMUXER_CTRL_RESYNC: -- cgit v1.2.3