summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_lavf.c6
1 files changed, 6 insertions, 0 deletions
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: