diff options
author | Max Kellermann <max@duempel.org> | 2013-01-05 02:05:50 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-01-05 02:40:29 +0100 |
commit | 46ed91b53d4ee6df3f9b98bcfb4e36a97420b885 (patch) | |
tree | 2b1bfed19c42545822dcc524edaaadf11c1fc94f | |
parent | 73f6fc428a2d9b58564f0dabdbc59080a731ed5c (diff) | |
download | mpd-46ed91b53d4ee6df3f9b98bcfb4e36a97420b885.tar.gz mpd-46ed91b53d4ee6df3f9b98bcfb4e36a97420b885.tar.xz mpd-46ed91b53d4ee6df3f9b98bcfb4e36a97420b885.zip |
DecoderAPI: _replay_gain() returns void
Let the function decoder_replay_gain() update
decoder_control::replay_gain_db instead of letting each decoder plugin
take care for that.
-rw-r--r-- | src/DecoderAPI.cxx | 10 | ||||
-rw-r--r-- | src/decoder/FLACCommon.cxx | 5 | ||||
-rw-r--r-- | src/decoder/mad_decoder_plugin.c | 5 | ||||
-rw-r--r-- | src/decoder_api.h | 6 | ||||
-rw-r--r-- | test/dump_playlist.cxx | 5 | ||||
-rw-r--r-- | test/read_tags.c | 4 | ||||
-rw-r--r-- | test/run_decoder.c | 5 |
7 files changed, 12 insertions, 28 deletions
diff --git a/src/DecoderAPI.cxx b/src/DecoderAPI.cxx index 9ea222005..c703faa6c 100644 --- a/src/DecoderAPI.cxx +++ b/src/DecoderAPI.cxx @@ -519,11 +519,10 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, struct input_stream *is, return cmd; } -float +void decoder_replay_gain(struct decoder *decoder, const struct replay_gain_info *replay_gain_info) { - float return_db = 0; assert(decoder != NULL); if (replay_gain_info != NULL) { @@ -532,7 +531,7 @@ decoder_replay_gain(struct decoder *decoder, serial = 1; if (REPLAY_GAIN_OFF != replay_gain_mode) { - return_db = 20.0 * log10f( + decoder->dc->replay_gain_db = 20.0 * log10f( replay_gain_tuple_scale( &replay_gain_info->tuples[replay_gain_get_real_mode()], replay_gain_preamp, replay_gain_missing_preamp, @@ -551,19 +550,16 @@ decoder_replay_gain(struct decoder *decoder, } } else decoder->replay_gain_serial = 0; - - return return_db; } void -decoder_mixramp(struct decoder *decoder, float replay_gain_db, +decoder_mixramp(struct decoder *decoder, char *mixramp_start, char *mixramp_end) { assert(decoder != NULL); struct decoder_control *dc = decoder->dc; assert(dc != NULL); - dc->replay_gain_db = replay_gain_db; dc_mixramp_start(dc, mixramp_start); dc_mixramp_end(dc, mixramp_end); } diff --git a/src/decoder/FLACCommon.cxx b/src/decoder/FLACCommon.cxx index 97743f332..25fd1f964 100644 --- a/src/decoder/FLACCommon.cxx +++ b/src/decoder/FLACCommon.cxx @@ -109,7 +109,6 @@ void flac_metadata_common_cb(const FLAC__StreamMetadata * block, struct replay_gain_info rgi; char *mixramp_start; char *mixramp_end; - float replay_gain_db = 0; switch (block->type) { case FLAC__METADATA_TYPE_STREAMINFO: @@ -118,10 +117,10 @@ void flac_metadata_common_cb(const FLAC__StreamMetadata * block, case FLAC__METADATA_TYPE_VORBIS_COMMENT: if (flac_parse_replay_gain(&rgi, block)) - replay_gain_db = decoder_replay_gain(data->decoder, &rgi); + decoder_replay_gain(data->decoder, &rgi); if (flac_parse_mixramp(&mixramp_start, &mixramp_end, block)) - decoder_mixramp(data->decoder, replay_gain_db, + decoder_mixramp(data->decoder, mixramp_start, mixramp_end); if (data->tag != nullptr) diff --git a/src/decoder/mad_decoder_plugin.c b/src/decoder/mad_decoder_plugin.c index c1a0c4b0f..0c27ac119 100644 --- a/src/decoder/mad_decoder_plugin.c +++ b/src/decoder/mad_decoder_plugin.c @@ -359,15 +359,14 @@ static void mp3_parse_id3(struct mp3_data *data, size_t tagsize, struct replay_gain_info rgi; char *mixramp_start; char *mixramp_end; - float replay_gain_db = 0; if (parse_id3_replay_gain_info(&rgi, id3_tag)) { - replay_gain_db = decoder_replay_gain(data->decoder, &rgi); + decoder_replay_gain(data->decoder, &rgi); data->found_replay_gain = true; } if (parse_id3_mixramp(&mixramp_start, &mixramp_end, id3_tag)) - decoder_mixramp(data->decoder, replay_gain_db, + decoder_mixramp(data->decoder, mixramp_start, mixramp_end); } diff --git a/src/decoder_api.h b/src/decoder_api.h index 6e011c395..76cf03920 100644 --- a/src/decoder_api.h +++ b/src/decoder_api.h @@ -152,9 +152,8 @@ decoder_tag(struct decoder *decoder, struct input_stream *is, * @param decoder the decoder object * @param rgi the replay_gain_info object; may be NULL to invalidate * the previous replay gain values - * @return the replay gain adjustment used */ -float +void decoder_replay_gain(struct decoder *decoder, const struct replay_gain_info *replay_gain_info); @@ -162,12 +161,11 @@ decoder_replay_gain(struct decoder *decoder, * Store MixRamp tags. * * @param decoder the decoder object - * @param replay_gain_db the ReplayGain adjustment used for this song * @param mixramp_start the mixramp_start tag; may be NULL to invalidate * @param mixramp_end the mixramp_end tag; may be NULL to invalidate */ void -decoder_mixramp(struct decoder *decoder, float replay_gain_db, +decoder_mixramp(struct decoder *decoder, char *mixramp_start, char *mixramp_end); #endif diff --git a/test/dump_playlist.cxx b/test/dump_playlist.cxx index 427052b6c..7d4aa96e6 100644 --- a/test/dump_playlist.cxx +++ b/test/dump_playlist.cxx @@ -113,7 +113,7 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, return DECODE_COMMAND_NONE; } -float +void decoder_replay_gain(G_GNUC_UNUSED struct decoder *decoder, const struct replay_gain_info *replay_gain_info) { @@ -127,13 +127,10 @@ decoder_replay_gain(G_GNUC_UNUSED struct decoder *decoder, if (replay_gain_tuple_defined(tuple)) g_printerr("replay_gain[track]: gain=%f peak=%f\n", tuple->gain, tuple->peak); - - return 0.0; } void decoder_mixramp(G_GNUC_UNUSED struct decoder *decoder, - G_GNUC_UNUSED float replay_gain_db, char *mixramp_start, char *mixramp_end) { g_free(mixramp_start); diff --git a/test/read_tags.c b/test/read_tags.c index 09032efc7..2471610e6 100644 --- a/test/read_tags.c +++ b/test/read_tags.c @@ -118,16 +118,14 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, return DECODE_COMMAND_NONE; } -float +void decoder_replay_gain(G_GNUC_UNUSED struct decoder *decoder, G_GNUC_UNUSED const struct replay_gain_info *replay_gain_info) { - return 0.0; } void decoder_mixramp(G_GNUC_UNUSED struct decoder *decoder, - G_GNUC_UNUSED float replay_gain_db, char *mixramp_start, char *mixramp_end) { g_free(mixramp_start); diff --git a/test/run_decoder.c b/test/run_decoder.c index c25e727ba..3da5216d5 100644 --- a/test/run_decoder.c +++ b/test/run_decoder.c @@ -139,7 +139,7 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, return DECODE_COMMAND_NONE; } -float +void decoder_replay_gain(G_GNUC_UNUSED struct decoder *decoder, const struct replay_gain_info *replay_gain_info) { @@ -153,13 +153,10 @@ decoder_replay_gain(G_GNUC_UNUSED struct decoder *decoder, if (replay_gain_tuple_defined(tuple)) g_printerr("replay_gain[track]: gain=%f peak=%f\n", tuple->gain, tuple->peak); - - return 0.0; } void decoder_mixramp(G_GNUC_UNUSED struct decoder *decoder, - G_GNUC_UNUSED float replay_gain_db, char *mixramp_start, char *mixramp_end) { g_free(mixramp_start); |