Skip to content
Snippets Groups Projects
Commit f16aeca3 authored by Emmanuel Milou's avatar Emmanuel Milou
Browse files

bug correction - audio related (capture stopped)

parent d530d737
No related branches found
No related tags found
No related merge requests found
......@@ -54,12 +54,12 @@ cp $sharedir/applications/sflphone.desktop $sfldir$sharedir/applications/
#/usr/share/dbus-1/services
mkdir -p $sfldir$sharedir/dbus-1/services
cp $sharedir/dbus-1/services/org.sflphone.SFLphone.service $sfldir$sharedir/dbus-1/services/
#/usr/share/pixmaps
/usr/share/pixmaps
mkdir -p $sfldir$sharedir/pixmaps
cp $sharedir/pixmaps/sflphone.png $sfldir$sharedir/pixmaps
#/usr/share/sflphone
mkdir -p $sfldir$sharedir/sflphone/ringtones
cp $sharedir/sflphone/*.svg $sfldir$sharedir/sflphone
cp $sharedir/sflphone/* $sfldir$sharedir/sflphone
#/usr/share/sflphone/ringtones
cp $sharedir/sflphone/ringtones/* $sfldir$sharedir/sflphone/ringtones
#/usr/share/locale/fr/LC_MESSAGES
......
No preview for this file type
......@@ -361,7 +361,7 @@ create_toolbar ()
g_signal_connect (G_OBJECT (unholdButton), "clicked",
G_CALLBACK (unhold), NULL);
//gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(unholdButton), -1);
//gtk_widget_show_all(GTK_WIDGET(unholdButton));
gtk_widget_show_all(GTK_WIDGET(unholdButton));
image = gtk_image_new_from_file( ICONS_DIR "/hold.svg");
holdButton = gtk_tool_button_new (image, _("On Hold"));
......
......@@ -302,7 +302,7 @@ AudioLayer::open_device(std::string pcm_p, std::string pcm_c, int flag)
snd_pcm_uframes_t buffer_size_out = period_size_out * 4 ;
unsigned int buffer_time = 80000; //80ms
unsigned int period_time = buffer_time / 4; //20ms
unsigned int period_time = buffer_time / 4 ; //20ms
if(flag == SFL_PCM_BOTH || flag == SFL_PCM_CAPTURE)
{
......@@ -330,6 +330,19 @@ AudioLayer::open_device(std::string pcm_p, std::string pcm_c, int flag)
_debug("buffer size = %d\n" , period_size_in);
_debug("period size = %d\n" , buffer_size_in);
snd_pcm_hw_params_free( hwParams );
snd_pcm_uframes_t val ;
snd_pcm_sw_params_malloc( &swparams );
snd_pcm_sw_params_current( _CaptureHandle, swparams );
if( err = snd_pcm_sw_params_set_start_threshold( _CaptureHandle, swparams, period_size_out) < 0 ) _debugAlsa(" Cannot set start threshold (%s)\n", snd_strerror(err));
snd_pcm_sw_params_get_start_threshold( swparams , &val);
_debug("Start threshold = %d\n" ,val);
if( err = snd_pcm_sw_params_set_avail_min( _CaptureHandle, swparams, period_size_out) < 0) _debugAlsa(" Cannot set min avail (%s)\n" , snd_strerror(err));
snd_pcm_sw_params_get_avail_min( swparams , &val);
_debug("Min available = %d\n" ,val);
if( err = snd_pcm_sw_params( _CaptureHandle, swparams ) < 0 ) _debugAlsa(" Cannot set sw parameters (%s)\n", snd_strerror(err));
snd_pcm_sw_params_free( swparams );
deviceClosed = false;
}
......@@ -348,6 +361,7 @@ AudioLayer::open_device(std::string pcm_p, std::string pcm_c, int flag)
}
if( err = snd_pcm_hw_params_any( _PlaybackHandle,hwParams) < 0) _debugAlsa(" Cannot initialize hardware parameter structure (%s)\n", snd_strerror(err));
if( err = snd_pcm_hw_params_set_access( _PlaybackHandle, hwParams, SND_PCM_ACCESS_MMAP_INTERLEAVED) < 0) _debugAlsa(" Cannot set access type (%s)\n", snd_strerror(err));
//if( err = snd_pcm_hw_params_set_access( _PlaybackHandle, hwParams, SND_PCM_ACCESS_RW_INTERLEAVED) < 0) _debugAlsa(" Cannot set access type (%s)\n", snd_strerror(err));
if( err = snd_pcm_hw_params_set_format( _PlaybackHandle, hwParams, SND_PCM_FORMAT_S16_LE) < 0) _debugAlsa(" Cannot set sample format (%s)\n", snd_strerror(err));
if( err = snd_pcm_hw_params_set_rate( _PlaybackHandle, hwParams, rate_out, dir) < 0) _debugAlsa(" Cannot set sample rate (%s)\n", snd_strerror(err));
if( err = snd_pcm_hw_params_set_channels( _PlaybackHandle, hwParams, 1) < 0) _debugAlsa(" Cannot set channel count (%s)\n", snd_strerror(err));
......@@ -441,6 +455,7 @@ AudioLayer::read( void* buffer, int toCopy)
case EPERM:
_debugAlsa(" Capture EPERM (%s)\n", snd_strerror(err));
snd_pcm_prepare( _CaptureHandle);
snd_pcm_start( _CaptureHandle );
break;
case -ESTRPIPE:
_debugAlsa(" Capture ESTRPIPE (%s)\n", snd_strerror(err));
......
......@@ -83,6 +83,7 @@ typedef short int16;
#define PCM_FRONT "plug:front" /** Alsa plugin: front PCM */
#define PCM_DEFAULT "default" /** Default ALSA plugin */
#define PCM_DMIX "plug:dmix" /** Alsa plugin for software mixing */
#define PCM_DSNOOP "plug:dsnoop" /** Alsa plugin for software mixing */
#define PCM_SURROUND40 "plug:surround40" /** Alsa plugin: surround40 */
#define PCM_SURROUND41 "plug:surround41" /** Alsa plugin: surround41 */
#define PCM_SURROUND50 "plug:surround50" /** Alsa plugin: surround50 */
......
......@@ -1145,6 +1145,7 @@ ManagerImpl::getOutputAudioPluginList(void)
v.push_back( PCM_DEFAULT );
v.push_back( PCM_PLUGHW );
v.push_back( PCM_DMIX );
v.push_back( PCM_PULSE );
return v;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment