|
From: | BOITEUX, Frederic |
Subject: | [Linphone-developers] no output RTP packets sent with oRTP 0.25.0 |
Date: | Thu, 11 Feb 2016 10:41:28 +0000 |
Hello, I’m trying to use new oRTP library in 0.25.0 version (downloaded from gnu.org) with a Voip application, instead of older 0.23.0, and I’m facing following problem : my application no longer output any RTP packet to the
distant ! I’ve tried to trace it with gdb, and I’ve looked at rtp_session_rtp_send() function : in the new 0.25.0 oRTP library version (line 1136 in src/rtpsession_inet.c), I see at line 1156 : if (session->flags & RTP_SOCKET_CONNECTED) { destaddr=NULL; destlen=0; } /*first send to main destination*/ if (destlen) error=rtp_session_rtp_sendto(session,m,destaddr,destlen,FALSE); /*then iterate over auxiliary destinations*/ for(elem=session->rtp.gs.aux_destinations;elem!=NULL;elem=elem->next){ OrtpAddress *addr=(OrtpAddress*)elem->data; rtp_session_rtp_sendto(session,m,(struct sockaddr*)&addr->addr,addr->len,TRUE); } My session flags has the RTP_SOCKET_CONNECTED flag set, so the destaddr and destlen are reset, and in line 1161, the test on ‘destlen’ fails as it’s now 0, and then no packet is sent ! Do you think it’s a bug, or should I add some [new] code in the ortp session initialization to be able to send RTP packets ? In the same source, I can see some code like (line 1578) : bool_t sock_connected=!!(session->flags & RTP_SOCKET_CONNECTED); I wonder what the double bang ‘!!’ means, I don’t know this as a specific operator, for me it’s a double negation, but I don’t understand its usage… With regards, Fred. |
[Prev in Thread] | Current Thread | [Next in Thread] |