Laerdal / Xamarin.AzureCommunicationCalling

Xamarin iOS and Android binding libraries for Microsofts Azure Communication Services
MIT License
36 stars 11 forks source link

StopVideo not releasing camera #30

Closed PeterHeasler closed 1 year ago

PeterHeasler commented 2 years ago

Steps to reproduce:

Issue:

Details: Am calling the following to stop video:

Tried to upgrade to latest stable 2.0.0.2 to see if the issue was resolved. Upgraded successfully via nuget but am missing [com/laerdal/azurecommunicationhelper](https://github.com/Laerdal/Xamarin.AzureCommunicationCalling/tree/master/Bindings/Android/AzureCommunicationCallingHelper/src/main/java/com/laerdal/azurecommunicationhelper). Embarrassingly, I don't know how to compile/add this file myself.

Questions:

  1. Is this a known issue? How can I release the camera so the new app can use it?
  2. Can you explain how to upgrade and add laerdal/azurecommunicationhelper to my project?
tompi commented 2 years ago

1.0.0-beta 7 is really old...

Did you look at the sample app?

you should be able to install Xamarin.AzureCommunicationCallingHelper.Android ?

PeterHeasler commented 2 years ago

I tried updating based on the latest sample app. However the sample app has a reference to using Com.Laerdal.Azurecommunicationhelper; and I'm not sure where/how to get/resolve that.

andersonvieiragomeslopes commented 2 years ago

I tried updating based on the latest sample app. However the sample app has a reference to using Com.Laerdal.Azurecommunicationhelper; and I'm not sure where/how to get/resolve that.

This? https://www.nuget.org/packages/Xamarin.AzureCommunicationCallingHelper.Android/2.3.0-beta.1.2

tompi commented 2 years ago

Yes. Thats it

On Sat, 18 Jun 2022 at 18:24, Anderson Lopes @.***> wrote:

I tried updating based on the latest sample app. However the sample app has a reference to using Com.Laerdal.Azurecommunicationhelper; and I'm not sure where/how to get/resolve that.

This? https://www.nuget.org/packages/Xamarin.AzureCommunicationCallingHelper.Android/2.3.0-beta.1.2

— Reply to this email directly, view it on GitHub https://github.com/Laerdal/Xamarin.AzureCommunicationCalling/issues/30#issuecomment-1159505163, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABYSJODMEG53AYAH4OJHPTVPXZ4PANCNFSM5ZEJWYCA . You are receiving this because you commented.Message ID: <Laerdal/Xamarin. @.***>

-- @.***, 90786985

PeterHeasler commented 2 years ago

Thank you, I've added that to the project and am in the middle of updating.

However, now I'm seeing this error:

Error CS1061 'Call' does not contain a definition for 'StopVideo' and no accessible extension method 'StopVideo' accepting a first argument of type 'Call' could be found (are you missing a using directive or an assembly reference?)

Same for StartVideo.

What is the right way to:

andersonvieiragomeslopes commented 2 years ago

@PeterHeasler Do you have all references up to date? https://www.nuget.org/packages?q=Xamarin.AzureCommunication

PeterHeasler commented 2 years ago

Yes, I've updated all to the latest, including prerelease, and I still have the same issue:

call.StopVideo(call.LocalVideoStreams[0]);

Error CS1061 'Call' does not contain a definition for 'StopVideo' and no accessible extension method 'StopVideo' accepting a first argument of type 'Call' could be found (are you missing a using directive or an assembly reference?)

image image

tompi commented 2 years ago

There is an issue with generating the bindings and Java completeable future.

To use the stop video you need to call the helper class, same way you initiate a call, there should be a method called stop video that takes the call as input I think.

On Sat, 18 Jun 2022 at 18:47, Peter @.***> wrote:

Thank you, I've added that to the project and am in the middle of updating.

However, now I'm seeing this error:

Error CS1061 'Call' does not contain a definition for 'StopVideo' and no accessible extension method 'StopVideo' accepting a first argument of type 'Call' could be found (are you missing a using directive or an assembly reference?)

Same for StartVideo.

What is the right way to:

  • stop the video -- so I can release the hardware camera to allow the camera app access to the camera -- but keep the call open for audio communication
  • until the user is ready to resume video streaming

— Reply to this email directly, view it on GitHub https://github.com/Laerdal/Xamarin.AzureCommunicationCalling/issues/30#issuecomment-1159513776, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABYSJKW3ANZRH3H2GIWPM3VPX4T3ANCNFSM5ZEJWYCA . You are receiving this because you commented.Message ID: <Laerdal/Xamarin. @.***>

-- @.***, 90786985

PeterHeasler commented 2 years ago

Ok, after reverting, reupdating the libraries again, updating the code again, I was finally able to start a call successfully.

However, I still have the same original issue:


Steps to reproduce:

Issue:

I now have a second issue, when calling StartVideo the video stream remains stuck and doesn't resume streaming. CallClientHelper.StartVideo(_call, _localVideoStream, Application.Context);


Is there a way to close / dispose the video stream without ending the call? I've tried disposing the localVideoStream but it crashes the app.

PeterHeasler commented 2 years ago

I think I might have resolved it, I'll do some additional testing and confirm tomorrow.

PeterHeasler commented 2 years ago

It's running in debug mode from Visual Studio but I have a bunch of access denied errors when trying to install the apk

Access denied finding property "persist.device_config.runtime_native_boot.profilebootclasspath"
06-19 16:50:09.605  7686  7686 E libc    : Access denied finding property "persist.device_config.runtime_native_boot.enable_apex_image"
06-19 16:50:09.605  7686  7686 I AndroidRuntime: Using default boot image
06-19 16:50:09.605  7686  7686 E libc    : Access denied finding property "persist.device_config.runtime_native_boot.disable_lock_profiling"
06-19 16:50:09.605  7686  7686 I AndroidRuntime: Leaving lock profiling enabled
06-19 16:50:09.605  7686  7686 E libc    : Access denied finding property "persist.device_config.runtime_native_boot.enable_generational_cc"

any ideas? Manifest permission request maybe?

tompi commented 2 years ago

Sounds strange. Maybe linker issues? Does it run fine locally when building for release?

I’m assuming you tried both on same device?

On Sun, 19 Jun 2022 at 18:09, Peter @.***> wrote:

It's running in debug mode from Visual Studio but I have a bunch of access denied errors when trying to install the apk

Access denied finding property "persist.device_config.runtime_native_boot.profilebootclasspath" 06-19 16:50:09.605 7686 7686 E libc : Access denied finding property "persist.device_config.runtime_native_boot.enable_apex_image" 06-19 16:50:09.605 7686 7686 I AndroidRuntime: Using default boot image 06-19 16:50:09.605 7686 7686 E libc : Access denied finding property "persist.device_config.runtime_native_boot.disable_lock_profiling" 06-19 16:50:09.605 7686 7686 I AndroidRuntime: Leaving lock profiling enabled 06-19 16:50:09.605 7686 7686 E libc : Access denied finding property "persist.device_config.runtime_native_boot.enable_generational_cc"

any ideas? Manifest permission request maybe?

— Reply to this email directly, view it on GitHub https://github.com/Laerdal/Xamarin.AzureCommunicationCalling/issues/30#issuecomment-1159766767, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABYSJP55B7NKBRZT23DHOTVP5A2PANCNFSM5ZEJWYCA . You are receiving this because you commented.Message ID: <Laerdal/Xamarin. @.***>

-- @.***, 90786985

andersonvieiragomeslopes commented 2 years ago

@PeterHeasler did you manage to solve the problem? I'm going to start implementing the video in an app with more feature that I'm making to submit to this project soon, I'm sure I'll have the same problem, if you've solved it, please share.

PeterHeasler commented 2 years ago

Thanks for the ping.

Yes, I did solve it, but in the old version of the code (because I had trouble with my APK with the updated libraries) I'm sure the solution is the same.

I'm OOO until Sunday, I'll submit a PR to the main branch when I'm back

andersonvieiragomeslopes commented 2 years ago

Thanks for the ping.

Yes, I did solve it, but in the old version of the code (because I had trouble with my APK with the updated libraries) I'm sure the solution is the same.

I'm OOO until Sunday, I'll submit a PR to the main branch when I'm back

Hello, @PeterHeasler.

Sorry for the late answer.

Well, if you can share a quick snippet of the code, it would be nice, we have this camera problem on android, iOS and Windows are working as expected, :(

tompi commented 1 year ago

Seems @PeterHeasler resolved this issue on his end...