Closed pintukumarpatil closed 4 years ago
Hello @haiyangwu , I had the same problem and the server log displays 'mediasoup-demo-server:Room protoo Peer "close" event [peerId:79rkfrly] +8s'
@pintukumarpatil @FlashMickeyMouse 🤔It works fine on my phone and emulator. Could you help me find the bug?
Hello @haiyangwu I am sharing a test scenario, so you can find the bug easily.
@pintukumarpatil Thx for your advice, but I can't reproduce the crash. Cloud you please upload more logs about WebSocketTransport
and RoomClient
?
Hello @haiyangwu
First join room in web app,and then join room in android and after that refresh web app.
i am sharing last logs:
2019-11-28 18:53:43.992 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:43.993 2118-2118/org.mediasoup.droid.demo D/RoomClient: onNotification() {"peerId":"hstjc89q","volume":-45} 2019-11-28 18:53:44.672 2118-3765/org.mediasoup.droid.demo I/org.webrtc.Logging: EglRenderer: video_viewDuration: 4017 ms. Frames received: 74. Dropped: 0. Rendered: 74. Render fps: 18.4. Average render time: 6426 us. Average swapBuffer time: 2648 us. 2019-11-28 18:53:44.796 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:44.797 2118-2118/org.mediasoup.droid.demo D/RoomClient: onNotification() {"peerId":"6jqdd1pa","volume":-43} 2019-11-28 18:53:45.143 2118-3050/org.mediasoup.droid.demo I/org.webrtc.Logging: CameraStatistics: Camera fps: 30. 2019-11-28 18:53:45.604 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:45.605 2118-2118/org.mediasoup.droid.demo D/RoomClient: onNotification() {"peerId":"hstjc89q","volume":-45} 2019-11-28 18:53:45.907 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:45.908 2118-2118/org.mediasoup.droid.demo D/RoomClient: onNotification() {"producerId":"50962eff-7661-4fe5-b230-420a013fbce9","score":[{"score":9,"ssrc":3989017366}]} 2019-11-28 18:53:46.392 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:46.392 2118-2118/org.mediasoup.droid.demo D/RoomClient: onNotification() {"peerId":"6jqdd1pa","volume":-46} 2019-11-28 18:53:46.561 2118-2698/org.mediasoup.droid.demo D/RoomClient_SendTrans: onConnectionStateChange: disconnected 2019-11-28 18:53:46.562 2118-2723/org.mediasoup.droid.demo D/RoomClient_RecvTrans: onConnectionStateChange: disconnected 2019-11-28 18:53:46.567 2118-2118/org.mediasoup.droid.demo W/WebSocketTransport: onClose() code: 3, reason: WebSockets connection lost 2019-11-28 18:53:46.567 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: scheduleReconnect() 2019-11-28 18:53:46.567 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: getReconnectInterval() 2019-11-28 18:53:46.568 2118-2118/org.mediasoup.droid.demo W/Peer: onDisconnected() 2019-11-28 18:53:46.842 2118-3051/org.mediasoup.droid.demo I/org.webrtc.Logging: EglRenderer: local_video_viewDuration: 4006 ms. Frames received: 119. Dropped: 0. Rendered: 119. Render fps: 29.7. Average render time: 4665 us. Average swapBuffer time: 2694 us. 2019-11-28 18:53:47.145 2118-3050/org.mediasoup.droid.demo I/org.webrtc.Logging: CameraStatistics: Camera fps: 30. 2019-11-28 18:53:47.578 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: doing reconnect job 2019-11-28 18:53:48.262 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: setConnection() 2019-11-28 18:53:48.263 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onConnect() 2019-11-28 18:53:48.263 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onOpen() 2019-11-28 18:53:48.263 2118-2366/org.mediasoup.droid.demo D/RoomClient: joinImpl() 2019-11-28 18:53:48.263 2118-2366/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] device_jni::Java_org_mediasoup_droid_Device_nativeNewDevice() 2019-11-28 18:53:48.389 2118-2118/org.mediasoup.droid.demo D/WebSocketTransport: onMessage() 2019-11-28 18:53:48.396 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] device_jni::Java_org_mediasoup_droid_Device_nativeLoad() 2019-11-28 18:53:48.400 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] Device::Load() 2019-11-28 18:53:48.400 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] Handler::GetNativeRtpCapabilities() 2019-11-28 18:53:48.400 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::PeerConnection() 2019-11-28 18:53:48.408 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: ctor@[name=Thread-11, id=635] 2019-11-28 18:53:48.410 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: Sample rate is set to 48000 Hz 2019-11-28 18:53:48.411 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: canUseAcousticEchoCanceler: true 2019-11-28 18:53:48.412 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: canUseNoiseSuppressor: true 2019-11-28 18:53:48.415 2118-4549/org.mediasoup.droid.demo W/org.webrtc.Logging: WebRtcAudioManager: AAudio support is currently disabled on all devices! 2019-11-28 18:53:48.418 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: Android SDK: 26, Release: 8.0.0, Brand: samsung, Device: hero2lte, Id: R16NW, Hardware: samsungexynos8890, Manufacturer: samsung, Model: SM-G935F, Product: hero2ltexx 2019-11-28 18:53:48.427 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: Audio State: audio mode: MODE_NORMAL, has mic: true, mic muted: false, music active: false, speakerphone: false, BT SCO: false 2019-11-28 18:53:48.427 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: Audio State: 2019-11-28 18:53:48.427 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: fixed volume=false 2019-11-28 18:53:48.432 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_VOICE_CALL: volume=1, max=5, muted=false 2019-11-28 18:53:48.434 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_MUSIC: volume=0, max=15, muted=false 2019-11-28 18:53:48.436 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_RING: volume=7, max=15, muted=false 2019-11-28 18:53:48.438 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_ALARM: volume=11, max=15, muted=false 2019-11-28 18:53:48.439 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_NOTIFICATION: volume=14, max=15, muted=false 2019-11-28 18:53:48.441 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: STREAM_SYSTEM: volume=15, max=15, muted=false 2019-11-28 18:53:48.446 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: Audio Devices: 2019-11-28 18:53:48.446 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_SPEAKER(out): id=1 2019-11-28 18:53:48.447 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_EARPIECE(out): id=2 2019-11-28 18:53:48.447 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: TYPE_BUILTIN_MIC(in): channels=[1, 2], encodings=[2], sample rates=[8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000], id=5 2019-11-28 18:53:48.448 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: TYPE_TELEPHONY(in): channels=[1, 2], encodings=[2], sample rates=[8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000], id=7 2019-11-28 18:53:48.448 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioTrack: ctor@[name=Thread-11, id=635] 2019-11-28 18:53:48.449 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioRecord: ctor@[name=Thread-11, id=635] 2019-11-28 18:53:48.449 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: ctor@[name=Thread-11, id=635] 2019-11-28 18:53:48.449 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: init@[name=Thread-11, id=635] 2019-11-28 18:53:48.451 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: audio mode is: MODE_NORMAL 2019-11-28 18:53:48.453 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioRecord: enableBuiltInAEC(true) 2019-11-28 18:53:48.453 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: setAEC(true) 2019-11-28 18:53:48.454 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: canUseAcousticEchoCanceler: true 2019-11-28 18:53:48.454 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioRecord: enableBuiltInNS(true) 2019-11-28 18:53:48.454 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: setNS(true) 2019-11-28 18:53:48.455 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioEffects: canUseNoiseSuppressor: true 2019-11-28 18:53:48.461 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::AddTransceiver() 2019-11-28 18:53:48.461 2118-4548/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::OnRenegotiationNeeded() 2019-11-28 18:53:48.461 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::AddTransceiver() 2019-11-28 18:53:48.462 2118-4548/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::OnRenegotiationNeeded() 2019-11-28 18:53:48.462 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] PeerConnection::CreateOffer() 2019-11-28 18:53:48.681 2118-3765/org.mediasoup.droid.demo I/org.webrtc.Logging: EglRenderer: video_viewDuration: 4009 ms. Frames received: 42. Dropped: 0. Rendered: 42. Render fps: 10.5. Average render time: 6125 us. Average swapBuffer time: 2589 us. 2019-11-28 18:53:48.832 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] Sdp::Utils::extractRtpCapabilities() 2019-11-28 18:53:48.847 2118-4549/org.mediasoup.droid.demo I/org.webrtc.Logging: WebRtcAudioManager: dispose@[name=Thread-11, id=635] 2019-11-28 18:53:48.850 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getExtendedRtpCapabilities() 2019-11-28 18:53:48.851 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.851 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 18 lines 2019-11-28 18:53:48.851 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.851 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::reduceRtcpFeedback() 2019-11-28 18:53:48.852 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.852 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 3 lines 2019-11-28 18:53:48.852 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.852 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::reduceRtcpFeedback() 2019-11-28 18:53:48.852 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 7 lines 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264PacketizationMode() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264PacketizationMode() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264LevelAssimetryAllowed() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264LevelAssimetryAllowed() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 2 lines 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264PacketizationMode() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264PacketizationMode() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264LevelAssimetryAllowed() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getH264LevelAssimetryAllowed() 2019-11-28 18:53:48.853 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::reduceRtcpFeedback() 2019-11-28 18:53:48.854 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.854 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 5 lines 2019-11-28 18:53:48.854 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchCodecs() 2019-11-28 18:53:48.854 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::reduceRtcpFeedback() 2019-11-28 18:53:48.865 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions() 2019-11-28 18:53:48.867 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 38 lines 2019-11-28 18:53:48.867 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions() 2019-11-28 18:53:48.867 2118-3164/org.mediasoup.droid.demo E/zygote: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ) 2019-11-28 18:53:48.867 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions() 2019-11-28 18:53:48.867 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 9 lines 2019-11-28 18:53:48.867 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions() 2019-11-28 18:53:48.867 2118-3751/org.mediasoup.droid.demo E/zygote: No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData and Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData__IJ) 2019-11-28 18:53:48.868 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions()
--------- beginning of crash
2019-11-28 18:53:48.869 2118-3751/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioTrackJavaThread Process: org.mediasoup.droid.demo, PID: 2118 java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutData and Java_org_webrtc_voiceengine_WebRtcAudioTrack_nativeGetPlayoutDataIJ) at org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData(Native Method) at org.webrtc.voiceengine.WebRtcAudioTrack.access$400(WebRtcAudioTrack.java:28) at org.webrtc.voiceengine.WebRtcAudioTrack$AudioTrackThread.run(WebRtcAudioTrack.java:147) 2019-11-28 18:53:48.869 2118-3164/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread Process: org.mediasoup.droid.demo, PID: 2118 java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecordedIJ) at org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(Native Method) at org.webrtc.voiceengine.WebRtcAudioRecord.access$600(WebRtcAudioRecord.java:26) at org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread.run(WebRtcAudioRecord.java:166) 2019-11-28 18:53:48.872 2118-2118/org.mediasoup.droid.demo I/chatty: uid=10050(u0_a50) org.mediasoup.droid.demo identical 78 lines 2019-11-28 18:53:48.872 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::matchHeaderExtensions() 2019-11-28 18:53:48.873 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::canSend() 2019-11-28 18:53:48.873 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::canSend() 2019-11-28 18:53:48.873 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] ortc::getRecvRtpCapabilities() 2019-11-28 18:53:48.875 2118-2118/org.mediasoup.droid.demo D/mediasoupclient-jni: [DEBUG] Device::Load() | succeeded 2019-11-28 18:53:48.875 2118-2118/org.mediasoup.droid.demo I/mediasoupclient-jni: [TRACE] device_jni::Java_org_mediasoup_droid_Device_nativeGetRtpCapabilities()
@pintukumarpatil Thanks again, I got the error and it's a state error which hasn't been handled properly. But I had to solve this later, for now, I'm focusing on the Demo's UI.
Recently, I've added a lot of functions into RoomClient
and rewritten the whole UI struct using MVVM + LiveData. This bug should be resolved now.
After onDisconnected
from the server, RoomClient#closeTransportAndDevice
would release the WebRtcAudioRecord
. When websocket
reopen, it would fine to recreate Device
and invoke it's load
function.
BTW, the dev
branch still contains thread sync issues. 🤪
Hello @haiyangwu, There is a problem with using this project
2019-11-20 19:47:59.109 25541-25620/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread Process: org.mediasoup.droid.demo, PID: 25541 java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long) (tried Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded and Java_org_webrtc_voiceengine_WebRtcAudioRecord_nativeDataIsRecorded__IJ) at org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(Native Method) at org.webrtc.voiceengine.WebRtcAudioRecord.access$600(WebRtcAudioRecord.java:26) at org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread.run(WebRtcAudioRecord.java:166)