You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 22, 2022. It is now read-only.
Describe the bug
When deploying on Android some Unity project trying to use WebcamSource, some exception is thrown since the local video capture is not implemented. This exception is not caught, and results in a deadlock, blocking the main Unity app thread forever.
To Reproduce
Steps to reproduce the behavior:
Deploy the VideoChatDemo sample scene to Android
Run it from Android Studio
Expected behavior WebcamSource fails to start, logs an error because local video capture is not yet implemented, and application execution continues.
Environment
Platform: Unity Android Player
Architecture: arm64-v8a
Unity version: 2019.3.13f1
Target device: Google Pixel 3A
Additional context
The exception likely needs to be caught before control returns to Unity after executing one of the handlers. Currently StartCaptureAsync() is called from OnEnabled() first, and also from StartConnection() if clicking the Connect button in the UI.
The text was updated successfully, but these errors were encountered:
Catch exceptions when failing to create a device track source in
WebcamSource and MicrophoneSource components, and disable the component
before re-throwing the exception to get Unity to log it. This ensures
that the components are disabled for consistency.
This is a clean-up loosely related to microsoft#335, though the code triggering
that issue has been changed so the issue does not occur anymore.
Confirmed this doesn't occur anymore on master with the most recent changes, as the code in WebcamSource was refactored to do its work inside OnEnable() so cannot deadlock anymore.
Catch exceptions when failing to create a device track source in
WebcamSource and MicrophoneSource components, and disable the component
before re-throwing the exception to get Unity to log it. This ensures
that the components are disabled for consistency.
This is a clean-up loosely related to microsoft#335, though the code triggering
that issue has been changed so the issue does not occur anymore.
Catch exceptions when failing to create a device track source in WebcamSource
and MicrophoneSource components, and log the exception with its callstack along
with an error message with the component name.
This is a clean-up loosely related to #335, though the code triggering that
issue has been changed so the issue does not occur anymore.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Describe the bug
When deploying on Android some Unity project trying to use WebcamSource, some exception is thrown since the local video capture is not implemented. This exception is not caught, and results in a deadlock, blocking the main Unity app thread forever.
To Reproduce
Steps to reproduce the behavior:
VideoChatDemo
sample scene to AndroidExpected behavior
WebcamSource
fails to start, logs an error because local video capture is not yet implemented, and application execution continues.Environment
Additional context
The exception likely needs to be caught before control returns to Unity after executing one of the handlers. Currently
StartCaptureAsync()
is called fromOnEnabled()
first, and also fromStartConnection()
if clicking the Connect button in the UI.The text was updated successfully, but these errors were encountered: