VDK Discussion Forum

You must be logged in to post

Using VDK with QtCreator on Mac (OS 10.5.7)

UserPost

10:14
4 June 2009


Antti

Member

posts 9

On Mac  ::getDefaultAudioInputDevice() seem to always return -1 and e.g. ::getAudioDeviceList() gives an empty list. What might be wrong?


I'm using the VDK trial version and Qt Creator 1.1.0, Mac OS is 10.5.7.

19:02
4 June 2009


alienpenguin

Moderator

posts 8

Hi Antti, we are still using Mac Os X 10.5.6 so we've not been able to test it against the latest patchset but I do not think that should be the problem. Have you checked that the init() method returns a non-negative value? Maybe the vdk.ini file is not found? (it's the most common issue)

Let me know if all the calls you do before the getDefaultAudioInputDevice() return successfully.


regards

10:12
5 June 2009


Antti

Member

posts 9

Thanks, you were right. I had vdk.ini in wrong place; I had it in /../Frameworks/ folder of the bundle but I moved it to same place than the executable.

Now method calls seem to work.

Thank you for your help!

14:26
5 June 2009


Antti

Member

posts 9

Hi, I have a question about vdk.ini: how it should look out if one tries to make a call directly between two computers (without sip server taking part in it)?

15:31
5 June 2009


alienpenguin

Moderator

posts 8

Hi Antti,

in the case of p2p sip call you do not need to worry much about what is inside the vdk.ini; you do not even need to call the registerSipAccount(), but you still must call the setActiveSipAccount(). Then call directly your peer passing a string like: sip:xxx@<peer_ip_address>:<peer_listening_port>


hope this helps.

16:22
5 June 2009


Antti

Member

posts 9

Thanks! This helps.

18:19
9 June 2009


Antti

Member

posts 9

Hi,

I realised that setActiveSipAccount() (SipHandler::setActiveSipAccount() according to the MacOS report) seems to crash test application when I compile it in Release mode and run it. But in e.g. the debugger (Qt Creator) it seems to be returning normally (returns 0).

Any hint what might be wrong?


14:44
10 June 2009


lamonica

Admin

posts 28

Hi Antti, can you provide a sample code snippet?

17:43
10 June 2009


Antti

Member

posts 9

Sure, is this sufficient?


If I comment the line

ret = vdk->setActiveSipAccount(1);

the test app starts normally (any VoIP is of course not working then).


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
  ui->setupUi(this);

  connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(on_pushButton_clicked()));
  connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(on_pushButton_2_clicked()));
  vdk = new VDKQtEngine();
  int ret = vdk->init();
  qDebug() << "VDK init status " << ret;
  ret = vdk->setActiveSipAccount(1);
  qDebug() << "setActiveSipAccount status " << ret;
  devicelist = vdk->getAudioDeviceList();
  qDebug() << "got " << devicelist.size() << "devices";
  micId = vdk->getDefaultAudioInputDevice();
  qDebug() << "Microphone " << micId;
  speakersId = vdk->getDefaultAudioOutputDevice();
  qDebug() << "Speakers " << speakersId;

  connect(vdk, SIGNAL(sigSipError(int,int,const char*)), this,
          SLOT(error_case(int,int,const char*)));
  connect(vdk,SIGNAL(sigCallEstablished(int)),this,SLOT(startTalking(int)));
}

13:50
13 June 2009


lamonica

Admin

posts 28

Hi Antti, i tried your snippet and it does not crash here, can you provide us your vdk.ini file? and confirm that init() returns 0?

regards

10:13
15 June 2009


Antti

Member

posts 9

Hi,


Here is my vdk.ini. It should be the same than the example delivered with the trial package. Only local IP is changed.


In the debugger init() returns zero. I add some trace and check what I get when executing the app standalone.


[NETWORK]
LocalIP=192.168.1.143
LocalUdpPort=5080

[SIP_DEFAULTS]
ProxyIP=192.168.23.200
ProxyPort=5060
ProxyDiscovery=IP_ADDRESS
RegistrarIp=192.168.23.200
RegistrarPort=5060
RegistrarDiscovery=IP_ADDRESS
DomainName=netresults.it
RegisterExpiration=3600

[SIP_ACCOUNTS]
1\User=John Smith
1\Username=johnsmih
1\Password=vdktest
2\ProxyDiscovery=DNS_SRV
2\RegistrarDiscovery=DNS_SRV
2\User=Jimmy Green
2\Username=green
2\Password=green_pass
size=2

[SIP_ACCOUNTS]
1\User=John Smith
1\Username=johnsmih
1\Password=vdktest
2\ProxyDiscovery=DNS_SRV
2\RegistrarDiscovery=DNS_SRV
2\User=Jimmy Green
2\Username=green
2\Password=green_pass
size=2

11:15
15 June 2009


Antti

Member

posts 9

Hi,

You're right. vdk->init() returns -1 when the tes app is executed without debugger.


Best regards,

Antti


19:44
15 June 2009


lamonica

Admin

posts 28

Hi, maybe there's some issue with the config file parsing, i am not entirely sure if paths where QtCreator go to look for vdk.ini are the same with and without debugger. Have you checked the vdklog-1.txt file? if you try to execute the binary from command line (not within Qt Creator) what happens?

20:21
15 June 2009


Antti

Member

posts 9

Hi, It seems to be that paths for vdk.ini are different. Until this I had vdk.ini only in the /…/Contents/MacOS/ folder. I copied it also to the directory where the root of the bundle is. Now the test app is starting up normally when it is esecuted with and without debugger within QtCreator, and it works also when I execute it from command line or by by clicking the app through the Finder.


Thanks for your help!



About the VoipDevKit forum

Most Users Ever Online:

23


Currently Online:

1 Guest

Forum Stats:

Groups: 1

Forums: 2

Topics: 20

Posts: 75

Membership:

There are 235 Members

There has been 1 Guest

There are 2 Admins

There are 2 Moderators

Top Posters:

Antti – 9

zanes – 7

simon – 5

chedy – 3

Elimu – 3

grin – 3

Administrators: lamonica (28 Posts), admin (0 Posts)

Moderators: alienpenguin (8 Posts), murgia (0 Posts)