Closed TangXT closed 6 years ago
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?
@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)
@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'
Hum, are you just building our app or using the SDK? Are you using meet.jit.si or your own deployment?
I try both building jitsi-meet app and my app using SDK @saghul And I find https://github.com/jitsi/jitsi-meet/issues/2209 the same with my problem
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 :-(
@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...
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 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?
Here is a discussion about ‘ rotation’ https://github.com/facebook/react-native/issues/3216 @saghul
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.
git reset --hard 41aa704e1f71ee9a52119928f451ab6659de8617 Thanks! @saghul Do you mean change package.json to "react-native-webrtc": "github:jitsi/react-native-webrtc#41aa704e1f71ee9a52119928f451ab6659de8617"?? or rest jitsi-meet to version 41aa704e1f71ee9a52119928f451ab6659de8617
@saghul Ah! I see, you mean https://github.com/jitsi/jitsi-meet/blob/41aa704e1f71ee9a52119928f451ab6659de8617
Yep, I mean to reset your clone of jitsi-meet itself.
@saghul I do as you said using https://github.com/jitsi/jitsi-meet/commit/41aa704e1f71ee9a52119928f451ab6659de8617 But the problem still exists.That's why? P.S:The UI of 41aa704e1f71ee9a52119928f451ab6659de8617 is diffenent from app from the store The UI of [app from the store ] as below:
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.
@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
I doubt this is related to the react-native version but feel free to try!
@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
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 .
Could you tell me which version of source code do you use for compilation of the Jitsi Meet app in Google Play? Thanks!