4

I'm working on Video calls using WebRTC. I've used RTCMTLVideoView to render the remote's video in the app. Except iPhone 11 series devices, all other devices were working fine.

  #if arch(arm64) // Using metal (arm64 only)
    remoteRenderer = RTCMTLVideoView(frame: showInView.bounds)
  #endif

I'm checking the issue in iPhone 11 Pro 13.3.1 & iPhone XS 13.2.3 and iPhone 6 12.3. But iPhone 11 alone getting this issue. Do we have any solutions for this Remote Video rendering issue?

Balaji Ramakrishnan
  • 1,909
  • 11
  • 22

2 Answers2

7

Great to see I am not going crazy and this really is an issue! Not too sure why your and my posts were downvoted.

I have switched to using an RTCEAGLVideoView instead on my iPhone XS iOS 13.4. This works for local rendering. I cannot get remote rendering to work and am unsure if the problem is with WebRTC or with my implementation. However RTCMTLVideoView is clearly broken.

This week I am hoping to start diving into the WebRTC objective C source code to see if I can find anything.

EDIT: I have filed a bug report with google. Could you (and anyone else having this issue) upvote the bug report so we can get Google on this ASAP? Thanks!

EDIT: Ok so the issue was that the cocoapods version of webrtc has been deprecated and people need to manually build the framework. Then this issue disappears. Good luck everyone!

John Paul
  • 101
  • 4
  • Sure. will do. Is GoogleWebRTC '1.1.29400' deprecated ? – Balaji Ramakrishnan Jun 29 '20 at 10:49
  • That seems to be the case. It is unfortunate that this fact seems to be mentioned nowhere except in this obscure part of the internet: https://groups.google.com/g/discuss-webrtc/c/Ozvbd0p7Q1Y – John Paul Jun 29 '20 at 12:43
  • I am currently performing a manual build of the latest release of WebRTC and will report back if this solves the issue. It takes a long time to download. The instructions for a manual build can be found here: https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/ios/index.md – John Paul Jun 29 '20 at 12:44
  • Thanks John. Sure will check it out. Please let me know if you find any solutions. Feel free to ping me: info.balajir@gmail.com – Balaji Ramakrishnan Jun 29 '20 at 15:11
  • I'm also working on a video call pwa using vue.js, as far as I know it can be run in all os, including android, ios, win and linux. – Kenneth Li Jun 29 '20 at 16:19
  • last time when I use the google flutter web technology to develop the same application, it can only be run on chrome browser, so I guess the 'google' things may not be compatible with apple devices. – Kenneth Li Jun 29 '20 at 16:21
3

Finally, I was able to fix the issue by replacing GoogleWebRTC from Cocoapods and updated with Manual WebRTC.framework.

As per discussion in the WebRTC bug report, GoogleWebRTC from Cocoapods DEPRECATED and no longer updated with new changes.

Use this link to build the manual framework for WebRTC from the latest source and remove your GoogleWebRTC from Pods and add manual WebRTC.framework

Thanks John Paul for your timely help.

Balaji Ramakrishnan
  • 1,909
  • 11
  • 22