aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder_thread.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2010-01-03 22:44:23 +0100
committerMax Kellermann <max@duempel.org>2010-01-04 20:42:49 +0100
commitcd8f92c9285e9b3b460ff47d2f251bfabce544da (patch)
tree594de0f646b0fc69405132c3a9e2f05060399abf /src/decoder_thread.c
parente58b4f773f28ad7b8e26c14c9c853fc2798408a1 (diff)
downloadmpd-cd8f92c9285e9b3b460ff47d2f251bfabce544da.tar.gz
mpd-cd8f92c9285e9b3b460ff47d2f251bfabce544da.tar.xz
mpd-cd8f92c9285e9b3b460ff47d2f251bfabce544da.zip
decoder_api: added function decoder_replay_gain()
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
Diffstat (limited to '')
-rw-r--r--src/decoder_thread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/decoder_thread.c b/src/decoder_thread.c
index de095216a..f793fd032 100644
--- a/src/decoder_thread.c
+++ b/src/decoder_thread.c
@@ -31,6 +31,7 @@
#include "mapper.h"
#include "path.h"
#include "uri.h"
+#include "replay_gain.h"
#include <glib.h>
@@ -302,6 +303,7 @@ decoder_run_song(struct decoder_control *dc,
{
struct decoder decoder = {
.dc = dc,
+ .replay_gain = NULL,
};
int ret;
@@ -329,6 +331,9 @@ decoder_run_song(struct decoder_control *dc,
pcm_convert_deinit(&decoder.conv_state);
/* flush the last chunk */
+ if (decoder.replay_gain != NULL)
+ replay_gain_info_free(decoder.replay_gain);
+
if (decoder.chunk != NULL)
decoder_flush_chunk(&decoder);