summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-13 15:21:09 +0200
committerwm4 <wm4@nowhere>2016-08-13 15:21:09 +0200
commit4b5de33e89d54e6a53229035969790c0c8c76213 (patch)
tree3f6a1e62955569d3d50943a7d9e28eed44f19eb7 /player/command.c
parent9d2bcd2ef98788dd555e1cbe7ba170ad18adb98a (diff)
downloadmpv-4b5de33e89d54e6a53229035969790c0c8c76213.tar.bz2
mpv-4b5de33e89d54e6a53229035969790c0c8c76213.tar.xz
command: add replaygain information properties to track-list
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/player/command.c b/player/command.c
index 584cc11cdc..ac97e1022d 100644
--- a/player/command.c
+++ b/player/command.c
@@ -2010,6 +2010,10 @@ static int get_track_entry(int item, int action, void *arg, void *ctx)
if (track->d_audio)
decoder_desc = track->d_audio->decoder_desc;
+ bool has_rg = track->stream->codec->replaygain_data;
+ struct replaygain_data rg = has_rg ? *track->stream->codec->replaygain_data
+ : (struct replaygain_data){0};
+
struct m_sub_property props[] = {
{"id", SUB_PROP_INT(track->user_tid)},
{"type", SUB_PROP_STR(stream_type_name(track->type)),
@@ -2043,6 +2047,14 @@ static int get_track_entry(int item, int action, void *arg, void *ctx)
{"demux-samplerate", SUB_PROP_INT(p.samplerate),
.unavailable = !p.samplerate},
{"demux-fps", SUB_PROP_DOUBLE(p.fps), .unavailable = p.fps <= 0},
+ {"replaygain-track-peak", SUB_PROP_FLOAT(rg.track_peak),
+ .unavailable = !has_rg},
+ {"replaygain-track-gain", SUB_PROP_FLOAT(rg.track_gain),
+ .unavailable = !has_rg},
+ {"replaygain-album-peak", SUB_PROP_FLOAT(rg.album_peak),
+ .unavailable = !has_rg},
+ {"replaygain-album-gain", SUB_PROP_FLOAT(rg.album_gain),
+ .unavailable = !has_rg},
{0}
};