EricssonResearch / bowser

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

Broken RTCP communications between Bowser and Chrome #93

Open pongponglau opened 7 years ago

pongponglau commented 7 years ago

I experience frequent video freezing issues between Bowser on iPad Pro and Chrome on Win7 over the Internet.

In Bowser, the Chrome camera will start to freeze (usually for 2 minutes, sometimes even longer) whenever a "got gap" event is received by videorepair.

Whenever there is packet loss, or after a packet is weeded out, NACK and PLI RTCP commands will be sent out from Bowser GStreamer to Chrome respectively.

For examples, [334m 543 [00m 0x144ba2710 [36mINFO [00m [00m owrsession owr_transport_agent.c:2871:print_rtcp_feedback_type:RTPSession@0x145258330 [00m Session 2, Sent RTCP feedback for 1935132989: Generic NACK [334m 543 [00m 0x144ba2710 [36mINFO [00m [00m owrsession owr_transport_agent.c:2898:print_rtcp_feedback_type:RTPSession@0x145258330 [00m Session 2, Sent RTCP feedback for 1935132989: Picture Loss Indication

However, no keyframe is then received. Thus, the Chrome camera remains frozen in Bowser until a new keyframe has been received after about 2 minutes.

For example, [334m 543 [00m 0x144c03c00 [36mINFO [00m [00m owrsession owr_transport_agent.c:2575:check_for_keyframe:OwrMediaSession@0x144a98db0 [00m Session 2, Received keyframe for 1935132989

I open "chrome:webrtc-internals" in Chrome to check the webrtc status, and find that the following 2 items are always zero:

googNacksReceived googPlisReceived

Besides, in the gstreamer log, i cannot find any "Received feedback for NACK" and "Received feedback for PLI" logs. It seems that the RTCP communications are broken between Bowser and Chrome.

May i ask for your advice and help? Besides, how can i use Wireshark to check for sRTCP packets on Win7?

Thank you