audio: log replaygain values in af_volume instead demuxer

The demuxer layer usually doesn't log per-stream information, and even
the replaygain information was logged only if it came from tags.

So log it in af_volume instead.
This commit is contained in:
wm4
2016-08-13 15:06:07 +02:00
parent b9ba9a898a
commit 78d808c5bd
2 changed files with 11 additions and 12 deletions

View File

@@ -71,15 +71,19 @@ static int control(struct af_instance *af, int cmd, void *arg)
if (af_fmt_is_planar(in->format))
mp_audio_set_format(af->data, af_fmt_to_planar(af->data->format));
s->rgain = 1.0;
if ((s->rgain_track || s->rgain_album) && af->replaygain_data) {
float gain, peak;
struct replaygain_data *rg = af->replaygain_data;
if ((s->rgain_track || s->rgain_album) && rg) {
MP_VERBOSE(af, "Replaygain: Track=%f/%f Album=%f/%f\n",
rg->track_gain, rg->track_peak,
rg->album_gain, rg->album_peak);
float gain, peak;
if (s->rgain_track) {
gain = af->replaygain_data->track_gain;
peak = af->replaygain_data->track_peak;
gain = rg->track_gain;
peak = rg->track_peak;
} else {
gain = af->replaygain_data->album_gain;
peak = af->replaygain_data->album_peak;
gain = rg->album_gain;
peak = rg->album_peak;
}
gain += s->rgain_preamp;

View File

@@ -1002,13 +1002,8 @@ static void demux_update_replaygain(demuxer_t *demuxer)
struct replaygain_data *rg = decode_rgain(demuxer->log, sh->tags);
if (!rg)
rg = decode_rgain(demuxer->log, demuxer->metadata);
if (rg) {
MP_VERBOSE(demuxer, "Replaygain/%d: Track=%f/%f Album=%f/%f\n",
sh->index,
rg->track_gain, rg->track_peak,
rg->album_gain, rg->album_peak);
if (rg)
sh->codec->replaygain_data = talloc_steal(in, rg);
}
}
}
}