cordova-plugin-iosrtc: [master] Outgoing video stream is no longer working on iOS 13 and Xcode 11 beta
Hello,
I’ve just installed iOS 13.1 Beta on my iPhone and noticed that outgoing video is no longer working. After upgrading plugin to the latest version (previously used version is 4.0.2), the issue is still remaining. This does not seem to be a renderer issue, because I can see incoming video streams; the issues reproduces only for outgoing streams. A black square appears in place where should be my outgoing video view, and the other side cannot see my video, either.
Here is what’s going on in logs when I enable the camera for an ongoing call:
2019-08-30 18:26:00.825844+0300 My App Name[1171:317447] iosrtcPlugin#getUserMedia()
2019-08-30 18:26:00.825981+0300 My App Name[1171:317447] PluginGetUserMedia#call()
2019-08-30 18:26:00.829510+0300 My App Name[1171:317447] PluginGetUserMedia#call() | video authorization: authorized
2019-08-30 18:26:00.830827+0300 My App Name[1171:317447] PluginGetUserMedia#call() | video requested (specified device id: 'com.apple.avfoundation.avcapturedevice.built-in_video:1')
2019-08-30 18:26:00.831406+0300 My App Name[1171:317447] PluginGetUserMedia#call() | chosen video device: <AVCaptureFigVideoDevice: 0x147e41bb0 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>
2019-08-30 18:26:00.844505+0300 My App Name[1171:317447] PluginMediaStream#init()
2019-08-30 18:26:00.844641+0300 My App Name[1171:317447] PluginMediaStreamTrack#init()
2019-08-30 18:26:00.844842+0300 My App Name[1171:317447] PluginMediaStreamTrack#run() [kind:video, id:70DD33E1-6235-4D66-B68C-DFD29992BD41]
2019-08-30 18:26:00.844899+0300 My App Name[1171:317447] PluginMediaStream#run()
2019-08-30 18:26:00.845538+0300 My App Name[1171:317447] THREAD WARNING: ['iosrtcPlugin'] took '19.727295' ms. Plugin should use a background thread.
2019-08-30 18:26:00.852460+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamTrack_setListener()
2019-08-30 18:26:00.852668+0300 My App Name[1171:317467] PluginMediaStreamTrack#setListener() [kind:video, id:70DD33E1-6235-4D66-B68C-DFD29992BD41]
2019-08-30 18:26:00.852905+0300 My App Name[1171:317447] iosrtcPlugin#MediaStream_setListener()
2019-08-30 18:26:00.853019+0300 My App Name[1171:317467] PluginMediaStream#setListener()
2019-08-30 18:26:00.853221+0300 My App Name[1171:317447] iosrtcPlugin#RTCPeerConnection_addStream()
2019-08-30 18:26:00.853409+0300 My App Name[1171:317467] PluginRTCPeerConnection#addStream()
2019-08-30 18:26:00.854124+0300 My App Name[1171:317447] [TCCallKit] onVideoAdded
2019-08-30 18:26:00.855400+0300 My App Name[1171:317497] PluginRTCPeerConnection | onnegotiationeeded
2019-08-30 18:26:00.973638+0300 My App Name[1171:317447] THREAD WARNING: ['NativePageTransitions'] took '114.470947' ms. Plugin should use a background thread.
2019-08-30 18:26:00.975157+0300 My App Name[1171:317447] iosrtcPlugin#RTCPeerConnection_createOffer()
2019-08-30 18:26:00.975654+0300 My App Name[1171:317476] PluginRTCPeerConnection#createOffer()
2019-08-30 18:26:00.976804+0300 My App Name[1171:317476] PluginRTCPeerConnectionConstraints#init()
2019-08-30 18:26:00.976881+0300 My App Name[1171:317476] PluginRTCPeerConnectionConstraints#getConstraints()
2019-08-30 18:26:00.977921+0300 My App Name[1171:317476] PluginRTCPeerConnectionConstraints#deinit()
2019-08-30 18:26:00.978293+0300 My App Name[1171:317497] PluginRTCPeerConnection#createOffer() | success callback
2019-08-30 18:26:00.990259+0300 My App Name[1171:317447] iosrtcPlugin#RTCPeerConnection_setLocalDescription()
2019-08-30 18:26:00.990459+0300 My App Name[1171:317476] PluginRTCPeerConnection#setLocalDescription()
2019-08-30 18:26:00.995002+0300 My App Name[1171:317497] PluginRTCPeerConnection | onsignalingstatechange [signalingState:Optional("have-local-offer")]
2019-08-30 18:26:01.002659+0300 My App Name[1171:317497] PluginRTCPeerConnection#setLocalDescription() | success callback
2019-08-30 18:26:01.066928+0300 My App Name[1171:317447] iosrtcPlugin#new_MediaStreamRenderer()
2019-08-30 18:26:01.067339+0300 My App Name[1171:317447] PluginMediaStreamRenderer#init()
2019-08-30 18:26:01.083873+0300 My App Name[1171:317447] Metal GPU Frame Capture Enabled
2019-08-30 18:26:01.084272+0300 My App Name[1171:317447] Metal API Validation Enabled
2019-08-30 18:26:01.162637+0300 My App Name[1171:317447] PluginMediaStreamRenderer#run()
2019-08-30 18:26:01.162725+0300 My App Name[1171:317447] THREAD WARNING: ['iosrtcPlugin'] took '95.817871' ms. Plugin should use a background thread.
2019-08-30 18:26:01.163036+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamRenderer_refresh()
2019-08-30 18:26:01.163578+0300 My App Name[1171:317447] PluginMediaStreamRenderer#refresh() [elementLeft:185.0, elementTop:978.0, elementWidth:125.0, elementHeight:85.0, videoViewWidth:125.0, videoViewHeight:85.0, visible:true, opacity:1.0, zIndex:0.0, mirrored:false, clip:true, borderRadius:3.0]
2019-08-30 18:26:01.163920+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamRenderer_render()
2019-08-30 18:26:01.163991+0300 My App Name[1171:317447] PluginMediaStreamRenderer#render()
2019-08-30 18:26:01.193652+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamRenderer_refresh()
2019-08-30 18:26:01.193826+0300 My App Name[1171:317447] PluginMediaStreamRenderer#refresh() [elementLeft:185.0, elementTop:978.0, elementWidth:125.0, elementHeight:85.0, videoViewWidth:125.0, videoViewHeight:85.0, visible:true, opacity:1.0, zIndex:0.0, mirrored:false, clip:true, borderRadius:3.0]
2019-08-30 18:26:01.286278+0300 My App Name[1171:317447] iosrtcPlugin#RTCPeerConnection_setRemoteDescription()
2019-08-30 18:26:01.286527+0300 My App Name[1171:317476] PluginRTCPeerConnection#setRemoteDescription()
2019-08-30 18:26:01.298347+0300 My App Name[1171:317497] PluginRTCPeerConnection | onsignalingstatechange [signalingState:Optional("stable")]
2019-08-30 18:26:01.303718+0300 My App Name[1171:317497] PluginRTCPeerConnection#setRemoteDescription() | success callback
2019-08-30 18:26:01.317835+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamRenderer_refresh()
2019-08-30 18:26:01.318004+0300 My App Name[1171:317447] PluginMediaStreamRenderer#refresh() [elementLeft:185.0, elementTop:410.0, elementWidth:125.0, elementHeight:85.0, videoViewWidth:125.0, videoViewHeight:85.0, visible:true, opacity:1.0, zIndex:0.0, mirrored:false, clip:true, borderRadius:3.0]
2019-08-30 18:26:01.319030+0300 My App Name[1171:317447] iosrtcPlugin#MediaStreamRenderer_refresh()
2019-08-30 18:26:01.319208+0300 My App Name[1171:317447] PluginMediaStreamRenderer#refresh() [elementLeft:185.0, elementTop:410.0, elementWidth:125.0, elementHeight:85.0, videoViewWidth:125.0, videoViewHeight:85.0, visible:true, opacity:1.0, zIndex:0.0, mirrored:false, clip:true, borderRadius:3.0]
No obvious error messages, but no video, either. Could you please take a look?
Thanks, Andrey.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 86 (47 by maintainers)
@hthetiot The initial issue has been solved. Thank you very much for your help! Regarding the hook, I’ll do some additional debugging and file an issue as you suggested
I will only close that issue aka #375 via master with https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-600
if @EternallLight @myhhx @cah-dunn @pethessa confirm it’s fix iOS 13 and Xcode 11, I will close and release master (cd1a545a5bdbc6afec50713068833433dc89a1b7) as 6.0.0
I will make an issue
Announcement] cordova-plugin-iosrtc Version 6.0.x notes
like for 5.0.x (https://github.com/cordova-rtc/cordova-plugin-iosrtc/issues/398) but we need original reporters confirm and testing this@hthetiot #399 (8db4bc) compiles on Xcode 11.0 and runs on iOS 13.1.2 for me. I’m only testing basic connection, video & audio as we use. Haven’t tried any of the canvas capture.
@hthetiot Unfortunately, there is one error when building #task/libwebrtc-update on Phonegap Build:
I use the same config as for 5.0.2+:
i use this liowebrtc for our app, but there’s no getUserMedia with ios wkwebview.
https://github.com/lazorfuzz/react-liowebrtc
so i install cordova-plugin-iosrtc to make getUserMedia working but the rest still use liowebrtc.
its working fine on ios 12, but after testing on 13
the console print TypeError: undefined is not an object (evaluating ‘this.pc.addStream.bind’)
Hi, can someone help me. Install this plugin via capacitor and have error: ‘AppKit/NSOpenGLView.h’ file not found (RTCNSGLVideoView.h line 32) when try to build project in Xcode
Version 5.0.3
@EternallLight
Using SFSafariViewController is actually using safari’s webrtc implementation. In other words, your js application code can be run on safari without changing it. At this time, it has nothing to do with cordova-plugin-iosrtc.
用SFSafariViewController实际上用的是safari的webrtc实现 也就是说你的js应用代码不用改就可以在safari上跑 这时已经和cordova-plugin-iosrtc没有关系了
Added Xcode 11 on travis and task/ios-13 branch to start debugging.