aboutsummaryrefslogtreecommitdiffstats
path: root/src/player_thread.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-07-06 22:00:50 +0200
committerMax Kellermann <max@duempel.org>2009-07-06 22:00:50 +0200
commit0275690b5cd133f992e9e34d6c76eb134aef26bd (patch)
tree3ce67839d522420ff7b99224cdc8892c86395036 /src/player_thread.c
parentda8095db546544bb9fe3a455ef5742bfef9c2f4f (diff)
downloadmpd-0275690b5cd133f992e9e34d6c76eb134aef26bd.tar.gz
mpd-0275690b5cd133f992e9e34d6c76eb134aef26bd.tar.xz
mpd-0275690b5cd133f992e9e34d6c76eb134aef26bd.zip
output: use the software mixer plugin
Do all the software volume stuff inside each output thread, not in the player thread. This allows one software mixer per output device, and also allows the user to configure the mixer type (hardware or software) for each audio output. This moves the global "mixer_type" setting into the "audio_output" section, deprecating the "mixer_enabled" flag.
Diffstat (limited to '')
-rw-r--r--src/player_thread.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/src/player_thread.c b/src/player_thread.c
index 7fc55d3d1..657968f6c 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -423,8 +423,6 @@ static bool
play_chunk(struct song *song, struct music_chunk *chunk,
const struct audio_format *format, double sizeToTime)
{
- bool success;
-
assert(music_chunk_check_format(chunk, format));
if (chunk->tag != NULL) {
@@ -455,18 +453,6 @@ play_chunk(struct song *song, struct music_chunk *chunk,
pc.elapsed_time = chunk->times;
pc.bit_rate = chunk->bit_rate;
- /* apply software volume */
-
- success = pcm_volume(chunk->data, chunk->length,
- format, pc.software_volume);
- if (!success) {
- g_warning("pcm_volume() failed on %u:%u:%u",
- format->sample_rate, format->bits, format->channels);
- pc.errored_song = dc.current_song;
- pc.error = PLAYER_ERROR_AUDIO;
- return false;
- }
-
/* send the chunk to the audio outputs */
if (!audio_output_all_play(chunk)) {