@@ -359,29 +359,37 @@ AudioLayer::open_device(std::string pcm_p, std::string pcm_c, int flag)
...
@@ -359,29 +359,37 @@ AudioLayer::open_device(std::string pcm_p, std::string pcm_c, int flag)
if(err=snd_pcm_hw_params_set_period_size_near(_PlaybackHandle,hwParams,&period_size_out,&dir)<0)_debugAlsa(" Cannot set period size (%s)\n",snd_strerror(err));
if(err=snd_pcm_hw_params_set_period_size_near(_PlaybackHandle,hwParams,&period_size_out,&dir)<0)_debugAlsa(" Cannot set period size (%s)\n",snd_strerror(err));
if(err=snd_pcm_hw_params_set_buffer_size_near(_PlaybackHandle,hwParams,&buffer_size_out)<0)_debugAlsa(" Cannot set buffer size (%s)\n",snd_strerror(err));
if(err=snd_pcm_hw_params_set_buffer_size_near(_PlaybackHandle,hwParams,&buffer_size_out)<0)_debugAlsa(" Cannot set buffer size (%s)\n",snd_strerror(err));
if(err=snd_pcm_hw_params(_PlaybackHandle,hwParams)<0)_debugAlsa(" Cannot set hw parameters (%s)\n",snd_strerror(err));
if(err=snd_pcm_hw_params(_PlaybackHandle,hwParams)<0)_debugAlsa(" Cannot set hw parameters (%s)\n",snd_strerror(err));
if(err=snd_pcm_sw_params(_PlaybackHandle,swparams)<0)_debugAlsa(" Cannot set sw parameters (%s)\n",snd_strerror(err));
if(err=snd_pcm_sw_params(_PlaybackHandle,swparams)<0)_debugAlsa(" Cannot set sw parameters (%s)\n",snd_strerror(err));
snd_pcm_sw_params_free(swparams);
snd_pcm_sw_params_free(swparams);
if(err=snd_async_add_pcm_handler(&_AsyncHandler,_PlaybackHandle,AlsaCallBack,this)<0)_debugAlsa(" Unable to install the async callback handler (%s)\n",snd_strerror(err));
if(err=snd_async_add_pcm_handler(&_AsyncHandler,_PlaybackHandle,AlsaCallBack,this)<0)_debugAlsa(" Unable to install the async callback handler (%s)\n",snd_strerror(err));
deviceClosed=false;
deviceClosed=false;
}
}
fillHWBuffer();
_talk=false;
_talk=false;
returntrue;
returntrue;
...
@@ -395,6 +403,7 @@ AudioLayer::write(void* buffer, int length)
...
@@ -395,6 +403,7 @@ AudioLayer::write(void* buffer, int length)