Need Urgent help with a showstopper!!! (Resolved)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I figured out the root cause.

It was that I had not included all the header files as suggested by the below link while building my application:

http://trac.pjsip.org/repos/wiki/Getting_Started_Using

I had inlcuded only<pjsua.h>, since I guessed based on my cursory examination of this file that it included all the other files.

Now I included all the files

#include <pjsua-lib/pjsua.h>

#include <pjlib.h>
#include <pjlib-util.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjsip.h>
#include <pjsip_simple.h>
#include <pjsip_ua.h>

#include <pjsua-lib/pjsua.h>

and I could play back media at both the UAC and the UAS.


----- Original Message -----
From: "Vinod Parameswaran" <vinodp@xxxxxxxxxxxxxxxxxxxxxxx>
To: "pjsip" <pjsip at lists.pjsip.org>
Sent: Friday, August 20, 2010 8:42:21 PM
Subject: RE:Need Urgent help with a showstopper!!!

Hello,

Upon further debugging this issue, I have concluded that on the same system, two totally different values are returned by the APIs pjmedia_aud_dev_count () and pjmedia_aud_dev_lookup(), in the case of the sample application auddemo and in the case of my application.

Reproducing the output from auddemo on the system:

Enter selection: l
Found 5 devices:
  0: ALSA [plughw:0,0] (1/1)
  1: PA [ALI 5451: ALI 5451 (hw:0,0)] (2/2)
  2: PA [pulse] (32/32)
  3: PA [dmix] (0/2)
  4: PA [default] (32/32)

The above output comes from the function list_devices:

static void list_devices(void)
{
    unsigned i;
    pj_status_t status;

    dev_count = pjmedia_aud_dev_count();
    if (dev_count == 0) {
        PJ_LOG(3,(THIS_FILE, "No devices found"));
        return;
    }

    PJ_LOG(3,(THIS_FILE, "Found %d devices:", dev_count));

    for (i=0; i<dev_count; ++i) {
        pjmedia_aud_dev_info info;

        status = pjmedia_aud_dev_get_info(i, &info);
        if (status != PJ_SUCCESS)
            continue;

        PJ_LOG(3,(THIS_FILE," %2d: %s [%s] (%d/%d)",
                  i, info.driver, info.name, info.input_count, info.output_count));
    }
}

Apparently pjmedia_aud_dev_count () API returns a non-zero value. Also, pjmedia_aud_dev_get_info() returns PJ_SUCCESS.

Now, here is the code snippet from my application:
/* check audio device availability befor starting */
    numAudioDevices = pjmedia_aud_dev_count ();
    PJ_LOG(3, ("sipClient.c", "Number of Audio Devices : %d", numAudioDevices));
    
And here is the output I get on the same system:
19:54:08.876    sipClient.c  Number of Audio Devices : 0

Apparently, the API pjmedia_aud_dev_count () returns 0 

I am not sure how this could be the case on the same system. 

I would greatly appreciate your inputs to resolve this issue.

TIA
Vin








[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux