static void volume(double vol) {
// debug(1,"Setting volume db to %f, for volume input of %f.",vol_setting/100,vol);
set_volume = vol;
- if (snd_mixer_selem_set_playback_dB_all(alsa_mix_elem, vol, -1) != 0)
- die("Failed to set playback dB volume");
+ if (snd_mixer_selem_set_playback_dB_all(alsa_mix_elem, vol, 0) != 0) {
+ debug(1,"Can't set playback volume accurately to %f dB.",vol);
+ if (snd_mixer_selem_set_playback_dB_all(alsa_mix_elem, vol, -1) != 0)
+ if (snd_mixer_selem_set_playback_dB_all(alsa_mix_elem, vol, 1) != 0)
+ die("Failed to set playback dB volume");
+ }
}
static void linear_volume(double vol) {
<< 32) /
44100;
- uint32_t filler_size = frame_size;
uint32_t max_dac_delay = 4410;
- filler_size = 4410; // 0.1 second -- the maximum we'll add to the DAC
+ uint32_t filler_size = max_dac_delay; // 0.1 second -- the maximum we'll add to the DAC
if (local_time_now >= first_packet_time_to_play) {
// we've gone past the time...