jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
22.83k stars 6.68k forks source link

Camera is permanently disabled since last Android App Update to 24.3.0 (with changed video constraints on server) #15027

Open taimon opened 3 weeks ago

taimon commented 3 weeks ago

What happened?

I'm running a private Jitsi server and starting from last week, one user is not able to use his camera at all anymore. (Camera button is permanently disabled) The client uses the newest android app (24.3.0) on a Samsung Galaxy Tab A (1080p camera).

It turns out this is related to a configuration change I did on the server a couple of years back. I modified the default video constraints to allow a max height of 1080. The section is commented out in the default config, it looks like this by default:

constraints: {
    video: {
        height: {
            ideal: 720,
            max: 720,
            min: 240
        }
    }
}

I had changed the max value to 1080 and this seems to be causing the issue on the new android version. Just commenting this part out and restarting the server enables the camera again. Maybe I didn't understand this config section correctly and there are no constraints by default or the documentation is incorrect. But apparently it was working fine for the client until last week.

Since I have a workaround, I don't really need a fix for this. Just wanted to let you guys know that the last update might have had some unintended side effects. (And maybe someone else has this problem too.) I don't have direct access to the android client and cannot test development builds. (So someone else might need to replicate this.)

Thanks for developing and maintaining Jitsi Meet!

Platform

Browser / app / sdk version

24.3.0

Relevant log output

No response

Reproducibility

More details?

Jitsi Package Versions on the server:

jitsi-meet                         2.0.9646-1
jitsi-meet-prosody                 1.0.8091-1
jitsi-meet-web                     1.0.8091-1
jitsi-meet-web-config              1.0.8091-1
jitsi-videobridge2                 2.3-160-g97a1f15b-1
saghul commented 3 weeks ago

Thanks for the heads up! We'd need device logs to try and understand why falling back to a lower resolution is not working :-/

An important chance in 24.3.0 is that the mobile app now follows the server constraints, rather than ignoring them and doing 360p.

taimon commented 3 weeks ago

We'd need device logs to try and understand why falling back to a lower resolution is not working :-/

Unfortunately, I won't be able to provide you with those, since I don't have direct access to the device. (At least not in the near future.) Or is there a way to configure the client to dump those logs either to the server side or in any other way, so that either me or the user can somehow retrieve them?

I'm not familiar with developing on android at all, but I guess you would want to have the relevant "adb logcat" output. I had a quick skim over the code and you probably want to see the messages from lib-jitsi-meet RTCUtils, especially the ones from _getUserMedia() and getConstraints(), right?

If nobody else has this problem, I don't think debugging this is worth the effort. So I'd suggest we wait for a while before diving deeper into this.

saghul commented 3 weeks ago

Or is there a way to configure the client to dump those logs either to the server side or in any other way, so that either me or the user can somehow retrieve them?

Alas not the type of logs we'd need.

I'm not familiar with developing on android at all, but I guess you would want to have the relevant "adb logcat" output.

That's right!

I had a quick skim over the code and you probably want to see the messages from lib-jitsi-meet RTCUtils, especially the ones from _getUserMedia() and getConstraints(), right?

Those would be useful too, but there is native logging that logcat would also contain.

If nobody else has this problem, I don't think debugging this is worth the effort. So I'd suggest we wait for a while before diving deeper into this.

Makes sense!