voximplant / react-native-voximplant

Voximplant mobile SDK for React Native (iOS/Android)
http://voximplant.com
206 stars 39 forks source link

Video View black screen or transparent (no video) on Android #88

Open Linoa65 opened 5 years ago

Linoa65 commented 5 years ago

Hi there !

When I do a call from IOS to android (or Android to IOS), the video stream is sent only from IOS. With android, my local stream is a black view, and on IOS, the remote stream (received by Android) is black or transparent.

I have Android 8.0.0, and this bug persists after updating RNVI to last version (1.9.0).

It seems the stream exists, because I use the localStreamId and remoteStreamId to display my Video views, but the content of my video view is nothing (black screen)

Is this a bug from module or an implementation error ?

Feel free to ask question, and ask some code to understand the problem.

Thanks ! Florient

YuliaGrigorieva commented 5 years ago

Hello Florient,

Please provide the following information about the issue:

  1. is the issue reproducible with the demo app
  2. does the camera work properly on your android device (default camera app is able to show video from front/back camera)
  3. exact steps to reproduce the issue (is it a simple video call or you enable/disable video during a call)

Best regards, Yulia Grigorieva

Linoa65 commented 5 years ago

Hi ! Thank you for your answer.

I have not the time to test on demo app, I have some other issues on call to fix before ...

The camera works properly, we use it on app with no problems to take photo, video, etc... To reproduce, no matter if its a video call, or if video is enabled after, the result is the same.

Linoa65 commented 5 years ago

I'm unable to log my users on the demo app. I try "userId@appname" and the app pop a modal which said "invalid username".

YuliaGrigorieva commented 5 years ago

Hello @Linoa65 ,

You need to add your account name, i.e. the format should be "user@appname.account"

Best regards, Yulia Grigorieva

Linoa65 commented 5 years ago

I can use video call with the demo app, it works. I really don't understand why it works on IOS, but don't send the video with Android... I have the correct permissions, and it worked since I implemented it, but suddenly stop working on android...

YuliaGrigorieva commented 5 years ago

Hello @Linoa65 ,

Do I understand correctly that the issue is not reproducible with demo app?

Best regards, Yulia Grigorieva

YuliaGrigorieva commented 5 years ago

Please check your adb logcat output for error from "VoxCameraManager" module. If the local video is not shown, it most likely means that there is the issue with access to the camera, logs should show it.

Linoa65 commented 5 years ago

There is no output from VoxCameraManager. Only VOXSDK tags, or Camera3-Stream tag, but nothing about VoxCameraManager...

YuliaGrigorieva commented 5 years ago

All logs from Voximplant Android SDK come under "VOXSDK" tag, but then it wtites the module name after it. You should be able to grep "VoxCameraManager" from adb logcat: изображение

Linoa65 commented 5 years ago

Thank you ! I was able to find the error :

onCameraError: Camera device could not be opened because there are too many other open camera devices.

I removed the camera opened at the same time and the video stream is sent by android, but my local video is always black. Did you have an idea ? :)

YuliaGrigorieva commented 5 years ago

Hello @Linoa65 ,

Issues with displaying local video (if camera works correctly) generally indicate that invalid stream id was set to VideoView component.

First, please check that you received and correctly use local video stream id. If everything seems ok, please check Voximplant Android SDK logs and ensure that you have “addVideoRenderer” log for this stream id

This is an example of logcate filter for a local video stream (you should check it with the video stream id you use in js code): изображение

Best regards, Yulia Grigorieva

Linoa65 commented 5 years ago

After getting my logs, I think I found the reason, but I don't know why ... In my logs I have this line :

07-25 10:41:27.048 11651 12048 D VOXSDK  : Call [6vC7F1r4I7hJKfgK1LNK5Pxbxl0iVX7MfqeQ, NOT_STARTED]onLocalVideoStreamAdded: VideoStream: 1f92f91d-2adc-4edd-90cf-63bdede82c23

I think the "NOT_STARTED" indicates there is a problem, but I don't know why.

YuliaGrigorieva commented 5 years ago

Hello @Linoa65 ,

Do you still observe the issue? If the issue still exists, I need more information about the video stream that is "not started". Please contact us at support@voximplant.com and send full logs.

Best regards, Yulia Grigorieva

SNWStaff commented 4 years ago

Hello,

I bring it up again because I happen to have the same concern. Here's our scenario when we make a video call: -The caller displays a local camera using RNCamera before the connection is made. -When the connection is made, we close RNCamera and open the VoxImplant cameras (local and online). -At this time we have two possible problems, either the local video does not display for the caller and for the called party, or the local video does not display on the called's side but everything is displayed on the called's side.

The second case occurs when RNCamera is removed during the preview but we need a camera to preview the call.

On the other hand, if you close the camera and re-open it during the call, everything works properly.

Here are a few logs hoping that this may help you ( if you need lower priority on logs please tell me):

03-26 11:03:47.110 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:48.213 2063 2542 E VOXSDK : rtp_sender.cc(line 572): Tried to get DTMF sender from video sender. 03-26 11:03:48.959 2063 2540 W VOXSDK : android_network_monitor.cc(line 238): BindSocketToNetwork: address2a02:8446:1f03:8ed1:0:51:6941:8401 03-26 11:03:48.962 2063 2540 W VOXSDK : p2p_transport_channel.cc(line 1088): A remote candidate arrives with an unknown ufrag: YWJZ 03-26 11:03:48.963 2063 2540 W VOXSDK : physical_socket_server.cc(line 553): Socket::OPT_DSCP not supported. 03-26 11:03:48.970 2063 2540 W VOXSDK : p2p_transport_channel.cc(line 1088): A remote candidate arrives with an unknown ufrag: YWJZ 03-26 11:03:48.970 2063 2540 W VOXSDK : physical_socket_server.cc(line 553): Socket::OPT_DSCP not supported. 03-26 11:03:48.972 2063 2540 W VOXSDK : physical_socket_server.cc(line 553): Socket::OPT_DSCP not supported. 03-26 11:03:48.976 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:48.979 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:48.986 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:48.989 2063 2542 E VOXSDK : rtp_sender.cc(line 572): Tried to get DTMF sender from video sender. 03-26 11:03:48.991 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:48.995 2063 2540 W VOXSDK : stun_port.cc(line 426): Port[d98e8c00:0:1:1:local:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: StunPort: stun host lookup received error 0 03-26 11:03:48.995 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.001 2063 2540 W VOXSDK : stun_port.cc(line 426): Port[d98e8c00:0:1:1:local:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: StunPort: stun host lookup received error 0 03-26 11:03:49.001 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.026 2063 2540 W VOXSDK : turn_port.cc(line 799): Port[fca57600:0:1:1:relay:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: TURN host lookup received error 0 03-26 11:03:49.026 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.027 2063 2540 W VOXSDK : turn_port.cc(line 799): Port[d9d5a200:0:1:1:relay:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: TURN host lookup received error 0 03-26 11:03:49.027 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.033 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.034 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.041 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.043 2063 2540 W VOXSDK : turn_port.cc(line 799): Port[becede00:0:1:1:relay:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: TURN host lookup received error 0 03-26 11:03:49.043 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.047 2063 2540 W VOXSDK : turn_port.cc(line 799): Port[d9d59400:0:1:1:relay:Net[rmnet_ims00:2a02:8446:1f03:x:x:x:x:x/64:Unknown:id=3]]: TURN host lookup received error 0 03-26 11:03:49.047 2063 2540 W VOXSDK : thread.cc(line 303): Waiting for the thread to join, but blocking calls have been disallowed 03-26 11:03:49.075 2063 2540 W VOXSDK : android_network_monitor.cc(line 238): BindSocketToNetwork: address2a02:8446:1f03:8ed1:0:51:6941:8401 03-26 11:03:49.078 2063 2540 W VOXSDK : physical_socket_server.cc(line 553): Socket::OPT_DSCP not supported. 03-26 11:03:49.083 2063 2540 W VOXSDK : physical_socket_server.cc(line 553): Socket::OPT_DSCP not supported. 03-26 11:03:49.117 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:49.197 2063 2540 W VOXSDK : basic_port_allocator.cc(line 917): Discarding candidate because port is already done gathering. 03-26 11:03:49.204 2063 2540 W VOXSDK : basic_port_allocator.cc(line 917): Discarding candidate because port is already done gathering. 03-26 11:03:49.215 2063 2540 W VOXSDK : basic_port_allocator.cc(line 917): Discarding candidate because port is already done gathering. 03-26 11:03:49.327 2063 2540 W VOXSDK : basic_port_allocator.cc(line 917): Discarding candidate because port is already done gathering. 03-26 11:03:50.195 2063 7224 E VOXSDK : EndpointManager [hnLNKkfWtQoavKq6x84PDyCInm5h4VnpC5BC] processEndpointTracks: invalid endpoint tracks map: {} 03-26 11:03:50.228 2063 2542 E VOXSDK : rtp_sender.cc(line 572): Tried to get DTMF sender from video sender. 03-26 11:03:50.306 2063 2542 E VOXSDK : rtp_sender.cc(line 572): Tried to get DTMF sender from video sender. 03-26 11:03:50.310 2063 2542 E VOXSDK : rtp_sender.cc(line 572): Tried to get DTMF sender from video sender. 03-26 11:03:51.122 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:51.424 2063 7423 W VOXSDK : QualityIssueAnalyzer[hnLNKkfWtQoavKq6x84PDyCInm5h4VnpC5BC] Current camera resolution is not detected 03-26 11:03:51.430 2063 2547 W VOXSDK : Quality issue: Local video degradation: level: CRITICAL, actual: 0x0, target: 0x0 03-26 11:03:51.431 2063 2547 W VOXSDK : QualityCallbackController: invokeEvent: listener is not set 03-26 11:03:52.415 2063 2547 W VOXSDK : Quality issue: LowBandwidth: level: CRITICAL, actual: 0.0, target: 600000.0 03-26 11:03:52.415 2063 2547 W VOXSDK : QualityCallbackController: invokeEvent: listener is not set 03-26 11:03:53.125 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:55.132 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:57.139 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:03:59.144 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:04:01.150 2063 2540 W VOXSDK : android_network_monitor.cc(line 379): Get an unknown type for the interface rmnet_ims00 03-26 11:04:02.617 2063 7222 W VOXSDK : rtp_rtcp_impl.cc(line 388): Failed to send RTCP BYE

Best regards, Marvyn