Closed rami965 closed 1 year ago
I have the same issue. cameraCapture.startSession()
is crashing even on the main thread.
Also I noticed that this happens only when the device is connected to Xcode.
Yes, I noticed the same thing. Here is the steps to reproduce:
Expected behavior The call starts normally.
Actual behavior
App crashes on cameraCapture.startSession()
Note: The camera capture seems to work correctly first time only (fresh install)
+1 I have the same issue.
@rami965 @OmarNoppe @maughray Hello, We have created an internal ticket assigned to our developers' team regarding the issue and will notify you as soon as we have any updates.
@QB-liubov-shmatok Any update?
@rami965 @OmarNoppe @maughray Hello,
We have checked the issue with our iOS Team and these steps can help to resolve the issue :
The bug relates to specific iOS version and does not require changes in iOS SDK. Also the bug is not reproduced on a new Obj-c sample that will be released soon.
In order to resolve the issue we suggest to do the following before cameraCapture startSession:
1. Check the capture hasStarted is false
2. Check the capture isRunning is false
3. Check that capture started on a main thread
Objective - C code sample: dispatch_async(dispatch_get_main_queue(), ^{ if (cameraCapture.hasStarted == NO && cameraCapture.isRunning == NO) { [cameraCapture startSession:nil]; } });
Swift code sample DispatchQueue.main.async { if cameraCapture.hasStarted == false, cameraCapture.isRunning == false { cameraCapture.startSession(nil) } }
Doesn't work for me even with the code sample above. It crashes if connected to Xcode
@QB-liubov-shmatok Doesn't work for me either with provided steps.
Please try to check the following steps in order to proceed with the issue investigation :
New Issue Checklist
Environment details
Did this work before? No
Expected behavior Render the local camera track
Actual behavior App crashes
Logs
To enable full logs use the following code:
Short logs
```logos 2021-11-07 20:08:47.009240+0200 Laan Care Client[6715:1691092] Failed to bind EAGLDrawable:Full logs
```logos 2021-11-07 20:08:20.258086+0200 Laan Care Client[6715:1691255] [QBCore]: Request[3]: POST URL:https://api.quickblox.com/login.json headers: { "Accept-Language" = "en-EG;q=1, fr-EG;q=0.9, ar-EG;q=0.8"; "Content-Type" = "application/x-www-form-urlencoded"; "QB-OS" = "iOS 14.6"; "QB-SDK" = "iOS 2.17.10"; "QB-Token" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NfdHlwZSI6ImFwcGxpY2F0aW9uIiwiYXBwbGljYXRpb25faWQiOjk0MjQyLCJpYXQiOjE2MzYyODc2MzQ1NTY3MDJ9.jLMlsfjv8ETLAUvdjCdtnKefDQacukaqW4LJ7i9RYGeMowOVAKAdCwHhI-Nba1BwayNL2hp2R85tAPfiGoJ-hA"; "QuickBlox-REST-API-Version" = "0.1.1"; "User-Agent" = "Laan Care Client/3.2.9 (iPhone; iOS 14.6; Scale/2.00)"; } parameters: { login = "patient_+966580855859"; password = "patient_+966580855859"; } 2021-11-07 20:08:20.423804+0200 Laan Care Client[6715:1691255] [QBCore]: Response[3]: headers: { "Cache-Control" = "max-age=0, private, must-revalidate"; "Content-Length" = 389; "Content-Type" = "application/json; charset=utf-8"; Date = "Sun, 07 Nov 2021 18:08:20 GMT"; Duration = "0.165214"; Server = nginx; "qb-token-expirationdate" = "2021-11-07 20:08:20 UTC"; "x-request-id" = FrVV6VeNbXy31P0cXZmi; } object: { user = { "age_over16" = 0; "blob_id" = "Stack trace
```logos * thread #9, queue = 'org.webrtc.RTCDispatcherCaptureSession', stop reason = signal SIGABRT * frame #0: 0x00000001b7c2d7b0 libsystem_kernel.dylib`__pthread_kill + 8 frame #1: 0x00000001d42d09c0 libsystem_pthread.dylib`pthread_kill + 212 frame #2: 0x0000000194aa7a44 libsystem_c.dylib`abort + 100 frame #3: 0x000000019fcb7be8 libc++abi.dylib`abort_message + 128 frame #4: 0x000000019fca9d14 libc++abi.dylib`demangling_terminate_handler() + 296 frame #5: 0x000000019fbbd9a0 libobjc.A.dylib`_objc_terminate() + 124 frame #6: 0x000000019fcb7074 libc++abi.dylib`std::__terminate(void (*)()) + 16 frame #7: 0x000000019fcb700c libc++abi.dylib`std::terminate() + 44 frame #8: 0x000000019fbdd5e4 libobjc.A.dylib`objc_terminate + 12 frame #9: 0x0000000112271340 libdispatch.dylib`_dispatch_client_callout + 36 frame #10: 0x000000011227838c libdispatch.dylib`_dispatch_lane_serial_drain + 748 frame #11: 0x0000000112279010 libdispatch.dylib`_dispatch_lane_invoke + 448 frame #12: 0x0000000112284820 libdispatch.dylib`_dispatch_workloop_worker_thread + 1448 frame #13: 0x00000001d42d15bc libsystem_pthread.dylib`_pthread_wqthread + 272 ```Steps to reproduce the behavior
session?.localMediaStream.videoTrack.videoCapture = cameraCapture
wherecameraCapture
is anQBRTCCameraCapture
instance initialized using default settings.session.acceptCall(userInfo)
cameraCapture
preview layer to a UIView.cameraCapture.startSession()
from the new screen on the samecameraCapture
reference.Any others comments
cameraCapture.startSession()
function is not implemented in the samples but implemented in the docs.cameraCapture.startSession()
on main thread with no luck.