Audio Configuration in PJSIP

R
rams
Mon, Jun 28, 2010 11:43 AM

Hi,

I am developing a simple VOIP client using pjsip. I am facing a problem with audio device settings.
while initializing . i.e  in default_config(), i am enumerating sound devices and selecting based on the selected device index. as below.

enumeration:

    input combo    1)USB Audio Device
            2)SoundMAX HD Audio

    output combo    1)USB Audio Device
            2)SoundMAX HD Audio

    n_inDevice = m_ctlcomboAudioIn.GetCurSel();
    n_outDevice = m_ctlcomboAudioOut.GetCurSel();

    cfg->capture_dev = n_inDevice;
    cfg->playback_dev = n_outDevice;

and there is also a dialog for selecting the sound device manually from the combobox with enumerated devices. I may select the device for example for output i may use pc speakers(n_outDevice=1) and for input i may use USB sound device(n_inDevice=0). Then i call pjsua_set_snd_dev(n_inDevice,n_outDevice); but nothing happens. Is there any alternative way for setting the device after initialization of stack or am i doing something wrong here. Please help

Thanks
rams

Hi, I am developing a simple VOIP client using pjsip. I am facing a problem with audio device settings. while initializing . i.e  in default_config(), i am enumerating sound devices and selecting based on the selected device index. as below. enumeration:     input combo    1)USB Audio Device             2)SoundMAX HD Audio     output combo    1)USB Audio Device             2)SoundMAX HD Audio     n_inDevice = m_ctlcomboAudioIn.GetCurSel();     n_outDevice = m_ctlcomboAudioOut.GetCurSel();     cfg->capture_dev = n_inDevice;     cfg->playback_dev = n_outDevice; and there is also a dialog for selecting the sound device manually from the combobox with enumerated devices. I may select the device for example for output i may use pc speakers(n_outDevice=1) and for input i may use USB sound device(n_inDevice=0). Then i call pjsua_set_snd_dev(n_inDevice,n_outDevice); but nothing happens. Is there any alternative way for setting the device after initialization of stack or am i doing something wrong here. Please help Thanks rams
AS
A.Saad (at) lboro.ac.uk
Wed, Jun 30, 2010 9:17 AM

I am still a novice with PJSIP. However in my project, I
am doing something similar to yours. I only change the
default setting of input audio device and output audio
device.

Before doing that I've checked the device id (PID or RID)
by running auddemo.exe (one of the program in samples).

Then I changed the default device setting in
\pjmedia-audiodev\audiodev.h

as such:

PJMEDIA_AUD_DEFAULT_CAPTURE_DEV = -1,

    /** 
     * Constant to denote default playback device 
     */
    /*PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = -2, ----original
default value/
PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = 3, /*my new setting
for PID */

Hope this is helping.

Amna.

On Mon, 28 Jun 2010 17:13:07 +0530 (IST)
rams rammeth@yahoo.co.in wrote:

Hi,

I am developing a simple VOIP client using pjsip. I am
facing a problem with audio device settings.
while initializing . i.e  in default_config(), i am
enumerating sound devices and selecting based on the
selected device index. as below.

enumeration:

    input combo    1)USB Audio Device
            2)SoundMAX HD Audio

    output combo    1)USB Audio Device
            2)SoundMAX HD Audio

    n_inDevice = m_ctlcomboAudioIn.GetCurSel();
    n_outDevice = m_ctlcomboAudioOut.GetCurSel();

    cfg->capture_dev = n_inDevice;
    cfg->playback_dev = n_outDevice;

and there is also a dialog for selecting the sound
device manually from the combobox with enumerated
devices. I may select the device for example for output i
may use pc speakers(n_outDevice=1) and for input i may
use USB sound device(n_inDevice=0). Then i call
pjsua_set_snd_dev(n_inDevice,n_outDevice); but nothing
happens. Is there any alternative way for setting the
device after initialization of stack or am i doing
something wrong here. Please help

Thanks
rams

I am still a novice with PJSIP. However in my project, I am doing something similar to yours. I only change the default setting of input audio device and output audio device. Before doing that I've checked the device id (PID or RID) by running auddemo.exe (one of the program in samples). Then I changed the default device setting in \pjmedia-audiodev\audiodev.h as such: PJMEDIA_AUD_DEFAULT_CAPTURE_DEV = -1,     /**       * Constant to denote default playback device       */     /*PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = -2, ----original default value/ PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = 3, /*my new setting for PID */ Hope this is helping. Amna. On Mon, 28 Jun 2010 17:13:07 +0530 (IST) rams <rammeth@yahoo.co.in> wrote: > Hi, > > I am developing a simple VOIP client using pjsip. I am >facing a problem with audio device settings. > while initializing . i.e  in default_config(), i am >enumerating sound devices and selecting based on the >selected device index. as below. > > > enumeration: > >     input combo    1)USB Audio Device >             2)SoundMAX HD Audio > >     output combo    1)USB Audio Device >             2)SoundMAX HD Audio > > >     n_inDevice = m_ctlcomboAudioIn.GetCurSel(); >     n_outDevice = m_ctlcomboAudioOut.GetCurSel(); > >     cfg->capture_dev = n_inDevice; >     cfg->playback_dev = n_outDevice; > > > and there is also a dialog for selecting the sound >device manually from the combobox with enumerated >devices. I may select the device for example for output i >may use pc speakers(n_outDevice=1) and for input i may >use USB sound device(n_inDevice=0). Then i call >pjsua_set_snd_dev(n_inDevice,n_outDevice); but nothing >happens. Is there any alternative way for setting the >device after initialization of stack or am i doing >something wrong here. Please help > > Thanks > rams > >