twilio / video-quickstart-ios

Twilio Video Quickstart for iOS
https://www.twilio.com/docs/api/video
MIT License
461 stars 178 forks source link

ReplayKitExample: Content Sizing Error (-5807) #322

Closed phukhanhlee closed 4 years ago

phukhanhlee commented 5 years ago

When I "Start Conference" - (ReplayKitExample/ViewController/func startConference()) . It shows error "Error Domain=com.apple.ReplayKit.RPRecordingErrorDomain Code=-5807 "Recording interrupted by multitasking and content resizing" UserInfo={NSLocalizedDescription=Recording interrupted by multitasking and content resizing})" . I saw this bug in another demo projects about record screen with ReplayKit.

"Start Broadcast" is working well !

iOS 12.0.1 -> may be this is problem ? iPhone X -> may be this is problem ?

[solution] After I research -> here is the solution : just restart device and then it doesn't throw that error anymore. https://stackoverflow.com/questions/51440249/replaykit-startcapturewithhandler-not-sending-cmsamplebufferref-of-video-type/52307215#52307215

ceaglest commented 5 years ago

Hi @phukhanhlee,

We have seen similar failures which were solved by restarting the device (see known issues). I'm curious do you only encounter the error after debugging or on devices which are not used for development as well?

If there is a way to make our ReplayKit code more reliable I am all ears, but I didn't see anything actionable in the Stack Overflow question that you linked.

Regards, Chris

ceaglest commented 5 years ago

Hello Developers,

There have been several bug reports filed by Twilio, and by other parties against the iOS 12.x releases.

This Apple developer forum thread offers a probable explanation of the cause of the error. User Johnabre noticed:

After looking at system logs more, like others my theory is that permissions popup is interfering with ReplayKit ^^;

// ... logs

Here's logs for the identical logic when recording succeeds - permission alert activates, then permission alert deactivates, then ReplayKit starts:

A workaround may be possible, though ReplayKit doesn't seem to offer a standalone API to request screen capturing permissions. (You can ask for camera and microphone permissions in advance, if those are needed). We have cut ISDK-2539 to track this issue, and try workarounds.

Best, Chris

ljs19923 commented 5 years ago

I have the same error... with your test app ReplayKitExample, Whats your solution ?

piyushtank commented 5 years ago

We think this is a bug in ReplayKit. We have reached out to apple and filed a radar for this.

ceaglest commented 4 years ago

Hi Developers,

This error should no longer occur on iOS 13 devices, and we have updated our known issues section with this information.

If you are still able to reproduce on an iOS 13.x device, please let us know.

Thanks, Chris

Ankish commented 3 years ago

I am able to replicate the same issue on iOS 14+