EricssonResearch / bowser

A WebRTC browser for iOS developed in the open
BSD 2-Clause "Simplified" License
208 stars 65 forks source link

iceConnectionState and iceGatheringState are never updated #58

Open pantaoran opened 8 years ago

pantaoran commented 8 years ago

These two fields always remain in the NEW state and never change on Bowser, which makes it difficult to know if a connection has been established or not.

Please implement those state machines as specified.

Also, as I noted #53 onaddstream never gets called on Bowser, this might be related?

truestep commented 8 years ago

onaddstream is fired actually. But oniceconnectionstatechange event is not fired. We can add the stream to view on the page, but we don't know if we were connected or not. So we can see the black screen if the connection wasn't established but onaddstream fired.

ajbeaven commented 8 years ago

Thanks for logging and investigating all of these issues @pantaoran - we're finding the same thing. Since you posted, have there been any changes to note with regard to the iceConnectionState not changing?

It'd be really awesome to have this fixed in Bowser as it's the only way to verify that a connection has been successfully established between two peers - a fairly important piece of most WebRTC implementation puzzles.

stefanalund commented 8 years ago

@stefhak any thoughts on this? Could it have been resolved in your latest fixes?

superdump commented 8 years ago

I added the necessary parts to the C API for ice connection state I believe though the aggregation between components would need to be checked in case it is specified somewhere. And we could also implement an ice gathering state property fairly easily.

ajbeaven commented 8 years ago

Awesome, thanks so much for your work on this. When might we expect this to be updated in the AppStore?