[libnice] multiple "new-selected-pair-full" calls and weird extra 7 bytes in receive callbacks

Egor O. Ivanov ieo at tomsksoft.com
Mon Jan 25 03:58:24 PST 2016


Hi,

Here is what I receive running ./threaded-example

ieo at ieo-tomsksoft ~/cpp/nice $ ./threaded-example 1 173.194.71.127 19302

SIGNAL: state changed 1 1 gathering[1]

waiting for candidate-gathering-done signal...SIGNAL candidate gathering done

Copy this line to remote client:

   M4uo a4Q9jSGKw29nJobtOhEjR2 1,2013266431,10.0.150.80,57102,host 2,1677721855,82.200.1.250,57102,srflx

Enter remote data (single line, no wrapping):

> sXt7 9bl8fMsXuTEqR20SkXPap+ 1,2013266431,10.0.150.80,41727,host 2,1677721855,82.200.1.250,41727,srflx

SIGNAL: state changed 1 1 connecting[2]

waiting for state READY or FAILED signal...SIGNAL: state changed 1 1 connected[3]

SIGNAL: selected pair 1 1SIGNAL: state changed 1 1 ready[4]

Negotiation complete: ([10.0.150.80]:57102, [10.0.150.80]:41727)

Send lines to remote (Ctrl-D to quit):

> Got data length: 32


Take a look at what I receive (extra 32 bytes I do not send):

http://i65.tinypic.com/2hx7mmf.png


On 01/16/2016 03:15 PM, Philip Withnall wrote:
> Hi,
>
> I just tried to reproduce this locally (on Linux) and could not.
>
> Could you please provide a copy of the SDP strings generated by libnice
> using nice_agent_generate_local_sdp(), and the ones generated by the
> manual handling? That might help me investigate.
>
> Thanks,
> Philip
>
> On Wed, 2016-01-13 at 22:05 +0600, Egor O. Ivanov wrote:
>> Hi,
>>
>> Today I tried to run a few examples on my linux machine and found
>> that this example (https://github.com/libnice/libnice/blob/master/exa
>> mples/sdp-example.c) does not work - I do receive extra bytes I do
>> not send.
>> In contrast, this example (https://github.com/libnice/libnice/blob/ma
>> ster/examples/threaded-example.c) does work.
>> Comparing them I decided to replace
>> nice_agent_generate_local_sdp()/nice_agent_parse_remote_sdp() from
>> not working examples with manual sdp handling (like in the 2nd
>> example that works)
>> and libnice started to work on Android with the latter approach.
>> So looks like there is a bug with
>> nice_agent_generate_local_sdp()/nice_agent_parse_remote_sdp() on
>> linux/android.
>> My colleague faced the same issue.
>> Steps to reproduce:
>> 1. sudo apt-get install libnice* (on ubuntu/mint/debian 64bits)
>> 2. compile and run sdp-example.c as described in its doc
>> 3. you will receive extra 32 bytes of data
>> 4. I was able to reproduce it with more fresh libnice 0.1.13
>>
>>
>> ________________________________________
>> From: nice [nice-bounces at lists.freedesktop.org] On Behalf Of Egor O.
>> Ivanov
>> Sent: Tuesday, January 12, 2016 9:26 PM
>> To:nice at lists.freedesktop.org
>> Subject: [libnice] multiple "new-selected-pair-full" calls and weird
>> extra 7 bytes in receive callbacks
>>
>> Hello,
>>
>> I'm using libnice on ios and android. The code is the same on both
>> and
>> on iOS it worls perfectly, but fails on Android.
>> I do receive multiple "new-selected-pair-full" calls with correct 1st
>> pair and wrong 2nd and 3rd.
>>
>>    selected pair 1 : 1
>>    selected pair 3 : remote-1
>>    selected pair 8 : 3
>>
>> The problem is that periodically I do receive weird 7 bytes in my
>> receive callback.
>> I tried different versions 0.1.10 and 0.1.13, but no luck.
>>
>> Thanks.
>> _______________________________________________
>> nice mailing list
>> nice at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/nice
>> _______________________________________________
>> nice mailing list
>> nice at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/nice




More information about the nice mailing list