summaryrefslogtreecommitdiffstats
path: root/demux/stheader.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-12 21:39:32 +0200
committerwm4 <wm4@nowhere>2016-08-12 21:39:32 +0200
commitb9ba9a898a9354b52c2154e25a0b5afcb359c5b1 (patch)
tree17c2ff9e075b26165de788e469fe40b44b2bfaba /demux/stheader.h
parente2a54bb1ca319652b8c742877a313e378b24e407 (diff)
downloadmpv-b9ba9a898a9354b52c2154e25a0b5afcb359c5b1.tar.bz2
mpv-b9ba9a898a9354b52c2154e25a0b5afcb359c5b1.tar.xz
demux: add per-track metadata
...and ignore it. The main purpose is for retrieving per-track replaygain tags. Other than that per-track tags are not used or accessed by the playback core yet. The demuxer infrastructure is still not really good with that whole synchronization thing (at least in part due to being inherited from mplayer's single-threaded architecture). A convoluted mechanism is needed to transport the tags from demuxer thread to user thread. Two factors contribute to the complexity: tags can change during playback, and tracks (i.e. struct sh_stream) are not duplicated per thread. In particular, we update the way replaygain tags are retrieved. We first try to use per-track tags (common in Matroska) and global tags (effectively formats like mp3). This part fixes #3405.
Diffstat (limited to 'demux/stheader.h')
-rw-r--r--demux/stheader.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/demux/stheader.h b/demux/stheader.h
index 77d0eb1da3..f9d564c230 100644
--- a/demux/stheader.h
+++ b/demux/stheader.h
@@ -46,6 +46,8 @@ struct sh_stream {
bool forced_track; // container forced track flag
int hls_bitrate;
+ struct mp_tags *tags;
+
bool missing_timestamps;
// stream is a picture (such as album art)