summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
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}
};