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.
This commit is contained in:
Max Kellermann
2009-07-06 22:00:50 +02:00
parent da8095db54
commit 0275690b5c
12 changed files with 80 additions and 153 deletions
-11
View File
@@ -40,7 +40,6 @@ void pc_init(unsigned buffer_chunks, unsigned int buffered_before_play)
pc.error = PLAYER_ERROR_NOERROR;
pc.state = PLAYER_STATE_STOP;
pc.cross_fade_seconds = 0;
pc.software_volume = PCM_VOLUME_1;
}
void pc_deinit(void)
@@ -253,16 +252,6 @@ void setPlayerCrossFade(float crossFadeInSeconds)
idle_add(IDLE_OPTIONS);
}
void setPlayerSoftwareVolume(int volume)
{
if (volume > PCM_VOLUME_1)
volume = PCM_VOLUME_1;
else if (volume < 0)
volume = 0;
pc.software_volume = volume;
}
double getPlayerTotalPlayTime(void)
{
return pc.total_play_time;