Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Problem of Jitsi Meet app in Google Play #2658

Closed
TangXT opened this issue Mar 26, 2018 · 20 comments
Closed

The Problem of Jitsi Meet app in Google Play #2658

TangXT opened this issue Mar 26, 2018 · 20 comments
Labels
mobile Issue related to any mobile system running Jitsi Meet

Comments

@TangXT
Copy link

TangXT commented Mar 26, 2018

Could you tell me which version of source code do you use for compilation of the Jitsi Meet app in Google Play? Thanks!

@saghul
Copy link
Member

saghul commented Mar 27, 2018

Unfortunately that's a bit hard to tell. Due to limitations on access to signing keys we build the apps on a secure Atlassian machine, which uses a clone of this project with added signing keys and the Crashlitics framework.

That said, building the current master should always work, if it doesn't that's a bug which we should address. Are you encountering any problems?

@TangXT
Copy link
Author

TangXT commented Mar 27, 2018

@saghul
My most building could not open camera for some single camera Android TV Box,while the app from google play can.
This is my debug logs with Android 6.0.1
D/AudioMode: Update audio route for mode: 0
D/AudioManager: setMode: mode = 0
D/AudioManager: setSpeakerphoneOn(false)
D/AudioManager: setBluetoothScoOn: on = false
D/AudioManager: stopBluetoothSco
I/ReactNativeJS: '[modules/RTC/ScreenObtainer.js]', ': ', 'Screen sharing not supported by the current browser: ', 'rtc_browser.react-native', 'react-native'
I/ReactNativeJS: '[modules/RTC/ScreenObtainer.js]', ': ', 'Desktop sharing disabled'
I/ReactNativeJS: '[__filename]', ': ', 'Start muted: '
I/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'Get media constraints', { audio: false,
video:
{ mandatory: { minWidth: 1280, minHeight: 720, maxWidth: 1280, maxHeight: 720 },
optional: [ { facingMode: 'user' } ],
facingMode: 'user',
width: { ideal: 1280 },
height: { ideal: 720 } } }
I/com.oney.WebRTCModule.WebRTCModule: getUserMedia(video): { NativeMap: {"height":{"ideal":720},"width":{"ideal":1280},"facingMode":"user","optional":[{"facingMode":"user"}],"mandatory":{"maxHeight":720,"maxWidth":1280,"minHeight":720,"minWidth":1280}} }
I/CameraManagerGlobal: Connecting to camera service
D/com.oney.WebRTCModule.WebRTCModule: Creating video capturer using Camera1 API.
I/org.webrtc.Logging: Camera1Enumerator: Index: 0. Camera 0, Facing back, Orientation 0
I/org.webrtc.Logging: Camera1Enumerator: getCameraIndex: Camera 0, Facing back, Orientation 0
I/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'Available devices: ', [ { facing: 'back',
label: 'Camera 0, Facing back, Orientation 0',
kind: 'videoinput',
deviceId: '0',
groupId: null },
{ facing: null,
label: 'Audio',
kind: 'audioinput',
deviceId: 'audio-1',
groupId: null } ]
W/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'Failed to get access to local media. Error ', { name: null,
message: 'Failed to create new track',
constraintName: undefined }, { audio: false,
video:
{ mandatory: { minWidth: 1280, minHeight: 720, maxWidth: 1280, maxHeight: 720 },
optional: [ { facingMode: 'user' } ],
facingMode: 'user',
width: { ideal: 1280 },
height: { ideal: 720 } } }
E/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'failed to obtain video stream - stop', [gum.general: Failed to create new track]
E/unknown:ReactNative: console.error: "[modules/RTC/RTCUtils.js]", ": ", "failed to obtain video stream - stop", {"gum":{"error":{"name":null,"message":"Failed to create new track"},"constraints":{"audio":false,"video":{"mandatory":{"minWidth":1280,"minHeight":720,"maxWidth":1280,"maxHeight":720},"optional":[{"facingMode":"user"}],"facingMode":"user","width":{"ideal":1280},"height":{"ideal":720}}},"devices":["video"]},"name":"gum.general","message":"Failed to create new track","stack":"r@index.android.bundle:406:88431\nindex.android.bundle:406:216566\nc@index.android.bundle:406:201935\nindex.android.bundle:406:202303\nindex.android.bundle:399:1156\nvalue@index.android.bundle:35:3467\nindex.android.bundle:35:1240\nvalue@index.android.bundle:35:2606\nvalue@index.android.bundle:35:1210\n[native code]"}, stack:
@333:2270
n@406:303122
@406:203056
@406:216558
c@406:201935
@406:202303
@399:1156
value@35:3467
@35:1240
value@35:2606
value@35:1210
E/ReactNativeJS: '[__filename]', ': ', 'Failed to create local tracks', [ 'video' ], [gum.general: Failed to create new track]
E/unknown:ReactNative: console.error: "[__filename]", ": ", "Failed to create local tracks", ["video"], {"gum":{"error":{"name":null,"message":"Failed to create new track"},"constraints":{"audio":false,"video":{"mandatory":{"minWidth":1280,"minHeight":720,"maxWidth":1280,"maxHeight":720},"optional":[{"facingMode":"user"}],"facingMode":"user","width":{"ideal":1280},"height":{"ideal":720}}},"devices":["video"]},"name":"gum.general","message":"Failed to create new track","stack":"r@index.android.bundle:406:88431\nindex.android.bundle:406:216566\nc@index.android.bundle:406:201935\nindex.android.bundle:406:202303\nindex.android.bundle:399:1156\nvalue@index.android.bundle:35:3467\nindex.android.bundle:35:1240\nvalue@index.android.bundle:35:2606\nvalue@index.android.bundle:35:1210\n[native code]"}, stack:
@333:2270
r@380:727
@546:1124
@68:613
@68:641
@40:1785
a@40:527
o@40:891
callImmediates@40:3186
value@35:2778
@35:1360
value@35:2606
value@35:1330
value@35:1265
I/[MALI][Gralloc]: [+]r_hnd(0xe83e65a0), client(51), share_fd(75)
D/GraphicBuffer: register, handle(0xe83e65a0) (w:1920 h:1080 s:1920 f:0x1 u:0x000b00)
D/OpenGLRenderer: CacheTexture 1 upload: x, y, width height = 0, 0, 174, 170
I/[MALI][Gralloc]: [+]r_hnd(0xe83e7ae0), client(51), share_fd(77)
D/GraphicBuffer: register, handle(0xe83e7ae0) (w:1920 h:1080 s:1920 f:0x1 u:0x000b00)
I/org.webrtc.Logging: WebRtcAudioManager: VOICE_CALL stream volume: 7 (max=7)
I/org.webrtc.Logging: WebRtcAudioManager: VOICE_CALL stream volume: 7 (max=7)
I/org.webrtc.Logging: WebRtcAudioManager: VOICE_CALL stream volume: 7 (max=7)
I/org.webrtc.Logging: WebRtcAudioManager: VOICE_CALL stream volume: 7 (max=7)
I/org.webrtc.Logging: WebRtcAudioManager: VOICE_CALL stream volume: 7 (max=7)

@TangXT
Copy link
Author

TangXT commented Mar 27, 2018

@saghul
This is my debug logs with Android 6.0.1, While I set facingMode: 'environment' the app crashed with the logs below:
I/ReactNativeJS: '[modules/RTC/ScreenObtainer.js]', ': ', 'Screen sharing not supported by the current browser: ', 'rtc_browser.react-native', 'react-native'
I/ReactNativeJS: '[modules/RTC/ScreenObtainer.js]', ': ', 'Desktop sharing disabled'
I/ReactNativeJS: '[__filename]', ': ', 'Start muted: '
I/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'Get media constraints', { audio: false,
video:
{ mandatory:
{ minFrameRate: '5',
maxFrameRate: '10',
minWidth: 1280,
minHeight: 720,
maxWidth: 1280,
maxHeight: 720 },
optional: [ { facingMode: 'environment' } ],
facingMode: 'environment',
width: { ideal: 1280 },
height: { ideal: 720 } } }
I/com.oney.WebRTCModule.WebRTCModule: getUserMedia(video): { NativeMap: {"height":{"ideal":720},"width":{"ideal":1280},"facingMode":"environment","optional":[{"facingMode":"environment"}],"mandatory":{"maxHeight":720,"maxWidth":1280,"minHeight":720,"minWidth":1280,"maxFrameRate":"10","minFrameRate":"5"}} }
I/CameraManagerGlobal: Connecting to camera service
D/com.oney.WebRTCModule.WebRTCModule: Creating video capturer using Camera1 API.
I/org.webrtc.Logging: Camera1Enumerator: Index: 0. Camera 0, Facing back, Orientation 0
I/org.webrtc.Logging: Camera1Enumerator: getCameraIndex: Camera 0, Facing back, Orientation 0
I/org.webrtc.Logging: Camera1Enumerator: Index: 0. Camera 0, Facing back, Orientation 0
D/com.oney.WebRTCModule.WebRTCModule: Create environment-facing camera Camera 0, Facing back, Orientation 0 succeeded
I/org.webrtc.Logging: EglBase14: SDK version: 23. isEGL14Supported: true
I/BufferQueue: unnamed-9361-0 BufferQueue core=(9361:com.xxxx.demo)
I/BufferQueueConsumer: unnamed-9361-0 connect(C): consumer=(9361:com.xxxx.demo) controlledByApp=true
I/BufferQueueConsumer: unnamed-9361-0 setConsumerName: unnamed-9361-0
I/BufferQueueConsumer: SurfaceTexture-1-9361-0 setConsumerName: SurfaceTexture-1-9361-0
D/AndroidRuntime: Shutting down VM

          --------- beginning of crash

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xxxx.demo, PID: 9361
com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type double', but had typestring'
at com.facebook.react.bridge.ReadableNativeMap.getInt(Native Method)
at com.oney.WebRTCModule.GetUserMediaImpl.getUserVideo(GetUserMediaImpl.java:445)
at com.oney.WebRTCModule.GetUserMediaImpl.getUserMedia(GetUserMediaImpl.java:339)
at com.oney.WebRTCModule.GetUserMediaImpl.access$000(GetUserMediaImpl.java:28)
at com.oney.WebRTCModule.GetUserMediaImpl$1.invoke(GetUserMediaImpl.java:302)
at com.oney.WebRTCModule.GetUserMediaImpl$3.invoke(GetUserMediaImpl.java:560)
at com.oney.WebRTCModule.PermissionUtils$2.onReceiveResult(PermissionUtils.java:216)
at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
I/ReactNativeJS: '[modules/RTC/RTCUtils.js]', ': ', 'Available devices: ', [ { facing: 'back',
label: 'Camera 0, Facing back, Orientation 0',
kind: 'videoinput',
deviceId: '0',
groupId: null },
{ facing: null,
label: 'Audio',
kind: 'audioinput',
deviceId: 'audio-1',
groupId: null } ]
I/Process: Sending signal. PID: 9361 SIG: 9
Disconnected from the target VM, address: 'localhost:8634', transport: 'socket'

@saghul
Copy link
Member

saghul commented Mar 28, 2018

Hum, are you just building our app or using the SDK? Are you using meet.jit.si or your own deployment?

@TangXT
Copy link
Author

TangXT commented Mar 28, 2018

I try both building jitsi-meet app and my app using SDK @saghul
And I find #2209 the same with my problem

@saghul
Copy link
Member

saghul commented Mar 28, 2018

The app from the store and this repo are in essence the same, so I'm a bit puzzled as to what's going on here :-(

@TangXT
Copy link
Author

TangXT commented Mar 28, 2018

@saghul I find the app from the store is different with this repo, The app from the store can't setting display name and server url...

@saghul
Copy link
Member

saghul commented Mar 28, 2018

Ah, that'd the old version then (I thought we had pushed the new one, I've been away for 6 weeks, sorry). Then this is a regression from the WebRTC M58 to M63 upgrade.

@saghul saghul added type:bug mobile Issue related to any mobile system running Jitsi Meet labels Mar 28, 2018
@TangXT
Copy link
Author

TangXT commented Mar 28, 2018

@saghul I need to change back to M58? How to do? I find about WebRTC in package.json is "react-native-webrtc": "github:jitsi/react-native-webrtc#626818af40384356617f70366133317b6a475171",
How to change to the old one M58?

@TangXT
Copy link
Author

TangXT commented Mar 29, 2018

Here is a discussion about ‘ rotation’ facebook/react-native#3216 @saghul

@saghul
Copy link
Member

saghul commented Mar 29, 2018

Here is a discussion about ‘ rotation’ facebook/react-native#3216

I don't think that's the bug here, since we don't use that, AFAIK.

I need to change back to M58? How to do? I find about WebRTC in package.json is "react-native-webrtc": "github:jitsi/react-native-webrtc#626818af40384356617f70366133317b6a475171",
How to change to the old one M58?

You need to "go back in time". That is, reset your clone to a commit which didn't have M63 as a dependency. This should do:

git reset --hard 41aa704e1f71ee9a52119928f451ab6659de8617

And then npm install as usual. That will reset the repo to right before we added M63 support.

Note that this is not future-proof, you should try to fix the bug itself. Unfortunately I have no device where I can reproduce this, but I'll happily review a PR.

@TangXT
Copy link
Author

TangXT commented Mar 29, 2018

git reset --hard 41aa704
Thanks! @saghul Do you mean change package.json to "react-native-webrtc": "github:jitsi/react-native-webrtc#41aa704e1f71ee9a52119928f451ab6659de8617"?? or rest jitsi-meet to version 41aa704

@TangXT
Copy link
Author

TangXT commented Mar 29, 2018

@saghul
Copy link
Member

saghul commented Mar 29, 2018

Yep, I mean to reset your clone of jitsi-meet itself.

@TangXT
Copy link
Author

TangXT commented Mar 30, 2018

@saghul I do as you said using 41aa704
But the problem still exists.That's why?
P.S:The UI of 41aa704 is diffenent from app from the store
The UI of [app from the store ] as below:
66c14a5abd8cc54b97c03a2f84dbbf5f

@saghul
Copy link
Member

saghul commented Mar 30, 2018

I really don't know :-( All I can suggest is "going back in time" until you find a revision that works and trying to find the culprit.

It might have been an update to react-native-webrtc, not related to the M63 upgrade, but it's hard to tell.

@TangXT
Copy link
Author

TangXT commented Mar 30, 2018

@saghul I find the version of react-native update from 0.50.4 to 0.51.0,Maybe react-native-webrtc upgrade
Maybe try different version of react-native(0.50.4, 0.51.0) and react-native-webrtc could find a revision that works

@saghul
Copy link
Member

saghul commented Mar 30, 2018

I doubt this is related to the react-native version but feel free to try!

@TangXT
Copy link
Author

TangXT commented Mar 30, 2018

@saghul I want to try react-native version 0.50.4 and 0.51.0 with the master version of jitsi-meet by change the package.json and package-lock.json. Could you tell am I right only change package.json and package-lock.json, and do:
rm -rf node_modules
rm -fr $TMPDIR/react-*
npm install

@saghul
Copy link
Member

saghul commented Apr 3, 2018

Ok, now that we narrowed it down, the problem seems to be the fact that there is only a single camera. Closing this in favor of #2209 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mobile Issue related to any mobile system running Jitsi Meet
Projects
None yet
Development

No branches or pull requests

2 participants