EricssonResearch / openwebrtc

A cross-platform WebRTC client framework based on GStreamer
http://www.openwebrtc.org
BSD 2-Clause "Simplified" License
1.8k stars 537 forks source link

Remote video display not working on iOS 9 #627

Open superkaii opened 8 years ago

superkaii commented 8 years ago

I have the following issue using openwebrtc in a hybrid app on iOS 9:

The problem is, on the iOS device I can see the local video of myself but the remote video display is not working. After some seconds I get 1 frame of video, sometimes another frame after some additional seconds and the video just stays frozen. In my Chrome session, I can see both video streams (local and remote) just fine. So the iPad is sending video ok but simply does not display the video received from Chrome.

When I attach my desktop Safari webconsole to the iOS App, I see a lot of the following warnings:

[Warning] The page at https://demo.openwebrtc.org/ was allowed to display insecure content from http://127.0.0.1:35254/__I24OSsVsF3w/5VHV+EV38zTLyuSDOqW72Udv-5.

Concurrently, my XCode console says:

0:04:19.742532000  [332m  721 [00m 0x17ccd8c0  [31;01mERROR   [00m  [00m               vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_5> [00m Error decoding frame -12909
0:04:19.776569000  [332m  721 [00m 0x17ccd8c0  [31;01mERROR   [00m  [00m               vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_5> [00m Error decoding frame -12909
0:04:19.814311000  [332m  721 [00m 0x17ccd8c0  [31;01mERROR   [00m  [00m               vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_5> [00m Error decoding frame -12909
0:04:19.837806000  [332m  721 [00m 0x17ccd8c0  [31;01mERROR   [00m  [00m               vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_5> [00m Error decoding frame -12909

The same error also occurs when I try to use Bowser (build from latest source in XCode because the AppStore version just crashes).

I assume the error is correlated with recent changes in the iOS security requirements which block mixed secure/insecure content in webviews. A possible solution my be swiching the local owr_image_server to HTTPS?

Does someone know a fix to this issue? All I need is a working webview or browser with WebRTC on iOS and unfortunately a can’t wait for Apple to finally get this done in maybe another year … so any help is really appreciated!

stefanalund commented 8 years ago

Did you try the iOS NativeDemo app as well?

superkaii commented 8 years ago

Yes I just tried the iOS NativeDemo. It shows a similar issue: I see local and remote video in Chrome and local video on the iPad. The remote video on the iPad has an incredibly low frame rate, approx. 1 frame every 5 seconds.

XCode console is full of these errors:

0:00:33.303216000   772    0x1553348d0 ERROR                  vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_7> Error decoding frame -12909
0:00:33.334173000   772    0x1553348d0 ERROR                  vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_7> Error decoding frame -12909
0:00:33.376665000   772    0x1553348d0 ERROR                  vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_7> Error decoding frame -12909
0:00:33.408452000   772    0x1553348d0 ERROR                  vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_7> Error decoding frame -12909
0:00:33.436574000   772    0x155bee640 ERROR                  vtdec vtdec.c:736:gst_vtdec_session_output_callback:<decoder_vtdec_7> Error decoding frame -12909

However, the situation is the same wether I use the openwebrtc framework from the pod file or the one compiled from source. In the SimpleDemo, the pod file version did not work at all.

aspcartman commented 8 years ago

Having same issue. A whole bunch of and no remote video

[Warning] The page at https://demo.openwebrtc.org/ was allowed to display insecure content from http://127.0.0.1:35254/__I24OSsVsF3w/5VHV+EV38zTLyuSDOqW72Udv-5.
`` 
superkaii commented 8 years ago

Ideas anyone?

LucasReyre commented 8 years ago

Did you find a solution ? I have the same issue here with an iPhone 6 iOS 10.