Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MediaStreamTrack.getSettings Error when retrieving media stream videotracks on iPad Pro #518

Closed
DustinBel opened this issue May 23, 2020 · 2 comments
Assignees
Milestone

Comments

@DustinBel
Copy link

DustinBel commented May 23, 2020

I am running an application with the Cordova-plugin-iosrtc unfortunately it is not working on an iPad Pro while it is working on an iPhone X.

2020-05-23 17:33:28.938315+0200 test[7425:7008108] PluginRTCVideoCaptureController#findDevice deviceFrameRate:15
2020-05-23 17:33:28.938599+0200 test[7425:7008108] PluginRTCVideoCaptureController#startCapture Capture started, device:<AVCaptureFigVideoDevice: 0x135f26130 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>, format:<AVCaptureDeviceFormat: 0x281100b80 'vide'/'420v' 640x 480, { 1- 60 fps}, HRSI:1624x1218, fov:53.957, binned, max zoom:76.12 (upscales @2.54), ISO:18.0-1728.0, SS:0.000020-1.000000, supports multicam>
2020-05-23 17:33:28.938689+0200 test[7425:7008108] PluginGetUserMedia#call() | audio requested
2020-05-23 17:33:28.938889+0200 test[7425:7008108] PluginGetUserMedia#call() | chosen audio constraints: {
}
2020-05-23 17:33:28.939781+0200 test[7425:7008108] PluginMediaStream#init()
2020-05-23 17:33:28.939876+0200 test[7425:7008108] PluginMediaStreamTrack#init()
2020-05-23 17:33:28.939948+0200 test[7425:7008108] PluginMediaStreamTrack#run() [kind:audio, id:87BC7C59-F0FD-4102-82BC-D0D5FD09624F_5F8AD419-77EC-40BB-B1E8-CBB7A88B2A18]
2020-05-23 17:33:28.940006+0200 test[7425:7008108] PluginMediaStreamTrack#init()
2020-05-23 17:33:28.940063+0200 test[7425:7008108] PluginMediaStreamTrack#run() [kind:video, id:1DF521E6-E340-4188-91F6-448D3C9617CF_BBB24C3E-11A1-4317-959C-6B892C61FB8E]
2020-05-23 17:33:28.940087+0200 test[7425:7008108] PluginMediaStream#run()
2020-05-23 17:33:28.940340+0200 test[7425:7008108] THREAD WARNING: ['iosrtcPlugin'] took '30.092041' ms. Plugin should use a background thread.
2020-05-23 17:33:28.943006+0200 test[7425:7008108] iosrtcPlugin#MediaStream_setListener()
2020-05-23 17:33:28.943136+0200 test[7425:7008337] PluginMediaStream#setListener()
2020-05-23 17:33:28.945157+0200 test[7425:7008108] iosrtcPlugin#MediaStreamTrack_setListener()
2020-05-23 17:33:28.945280+0200 test[7425:7008108] iosrtcPlugin#MediaStreamTrack_setListener()
2020-05-23 17:33:28.945297+0200 test[7425:7008337] PluginMediaStreamTrack#setListener() [kind:audio, id:87BC7C59-F0FD-4102-82BC-D0D5FD09624F_5F8AD419-77EC-40BB-B1E8-CBB7A88B2A18]
2020-05-23 17:33:28.945365+0200 test[7425:7008337] PluginMediaStreamTrack#setListener() [kind:video, id:1DF521E6-E340-4188-91F6-448D3C9617CF_BBB24C3E-11A1-4317-959C-6B892C61FB8E]
2020-05-23 17:33:28.947253+0200 test[7425:7008108] iosrtcPlugin#MediaStreamTrack_setEnabled()
2020-05-23 17:33:28.947380+0200 test[7425:7008108] iosrtcPlugin#MediaStreamTrack_setEnabled()
2020-05-23 17:33:28.947406+0200 test[7425:7008337] PluginMediaStreamTrack#setEnabled() [kind:audio, id:87BC7C59-F0FD-4102-82BC-D0D5FD09624F_5F8AD419-77EC-40BB-B1E8-CBB7A88B2A18, value:true]
2020-05-23 17:33:28.947512+0200 test[7425:7008337] PluginMediaStreamTrack#setEnabled() [kind:video, id:1DF521E6-E340-4188-91F6-448D3C9617CF_BBB24C3E-11A1-4317-959C-6B892C61FB8E, value:true]
2020-05-23 17:33:29.106234+0200 test r[7425:7008108] ERROR: {}
2020-05-23 17:33:29.107188+0200 test[7425:7008108] {"name":"GENERIC_ERROR","message":"TypeError: mediaStream.getVideoTracks()[0].getSettings is not a function. (In 'mediaStream.getVideoTracks()[0].getSettings()', 'mediaStream.getVideoTracks()[0].getSettings' is undefined)"}

The same application is running perfect on a iPhone X with iOS 13.4.1.
It is giving me the errors above on an iPad Pro 2020 with iOS 13.4.1
It is working on an iPad Air with IOS 12.4.5

Expected behavior

That it is working on a iPad pro too.

Observerd behavior

There is something wrong getting the settings: {"name":"GENERIC_ERROR","message":"TypeError: mediaStream.getVideoTracks()[0].getSettings is not a function. (In 'mediaStream.getVideoTracks()[0].getSettings()', 'mediaStream.getVideoTracks()[0].getSettings' is undefined)"}

Steps to reproduce the problem

Just running it on an iPad Pro.

  • Cordova version:
    "cordova-plugin-iosrtc": "6.0.11",
    "cordova-ios": "^5.1.1",

  • iOS version:
    13.4.1

  • Xcode version:
    11.4

@hthetiot
Copy link
Contributor

hthetiot commented May 24, 2020

The same application is running perfect on a iPhone X with iOS 13.4.1.
It is giving me the errors above on an iPad Pro 2020 with iOS 13.4.1
It is working on an iPad Air with IOS 12.4.5

MediaStreamTrack.getSettings is not implemented in iOSRTC, the fact that it is working on iPhone and iPad Air but not iPad Pro is probably because you don't call MediaStreamTrack.getSettings on iPhone and iPad Air in you code.

So technically yes iosRTC does not implement getSettings but that is expected and should not prevent you if you handle it properly to make it works.

@hthetiot hthetiot self-assigned this May 24, 2020
@hthetiot hthetiot added the webrtc-api webrtc-api related label May 24, 2020
@hthetiot hthetiot added this to the 6.0.x milestone May 24, 2020
@hthetiot hthetiot changed the title Error retrieving media stream videotracks on iPad Pro MediaStreamTrack.getSettings Error when retrieving media stream videotracks on iPad Pro May 24, 2020
@hthetiot
Copy link
Contributor

Related #482

Please provide the webrtc-adapter version if you are using one and the third party library you are using for WebRTC, if you do not use a third party library then use getSettings only when available.

@hthetiot hthetiot modified the milestones: 6.0.x, 6.0.12 May 24, 2020
@cordova-rtc cordova-rtc locked as resolved and limited conversation to collaborators May 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants