Giter Club home page Giter Club logo

mediasoup-demo-android's People

Contributors

haiyangwu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mediasoup-demo-android's Issues

Failed to set remote Audio Description send parameters..

Session error description: Failed to set remote Audio Description send parameters..
at org.mediasoup.droid.RecvTransport.nativeConsume(Native Method)
The at org. Mediasoup. The droid. RecvTransport. Consume (RecvTransport. Java: 48)
The at org. Mediasoup. The droid. Lib. RoomClient. OnNewConsumer (RoomClient. Java: 1055)
The at org. Mediasoup. The droid. Lib. RoomClient. Access the $300 (RoomClient. Java: 39)
The at org. Mediasoup. The droid. Lib. RoomClient $2. Lambda $onRequest $2 $2 $RoomClient (RoomClient. Java: 597)
The at org. Mediasoup. The droid. Lib. - $$Lambda $RoomClient $2 $8 b9dcudrw2ll5uzqlkr80_pqlg0. Run (Lambda)

App toast message ‘Could not join the room, internal error’ in roomclient sometimes

Put my network is shutdown,my protoo connect is failed,and when my network get well,sometime toast show ‘Could not join the room, internal error’ and close connect.【测试断网重连机制,当网络断开再次恢复后,有时会报错在发送 join 命令时】

android log(客户端日志):
W/Peer: request() createWebRtcTransport fail, 500, 500
W/System.err: org.protoojs.droid.ProtooException
W/System.err: at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:80)
at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:70)
at org.mediasoup.droid.lib.RoomClient.createSendTransport(RoomClient.java:900)
W/System.err: at org.mediasoup.droid.lib.RoomClient.joinImpl(RoomClient.java:674)
at org.mediasoup.droid.lib.RoomClient.access$500(RoomClient.java:38)
at org.mediasoup.droid.lib.RoomClient$2.lambda$onOpen$0$RoomClient$2(RoomClient.java:574)
W/System.err: at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$1yrKTPoWaRxWuD7Kk1QcDNV7v7Y.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
W/System.err: at android.os.Looper.loop(Looper.java:237)
W/System.err: at android.os.HandlerThread.run(HandlerThread.java:67)

mediasoup server log(服务器端日志):
mediasoup-demo-server:INFO protoo connection request [roomId:101, peerId:lojt2nfi, address:183.185.216.161, origin:undefined] +21s
mediasoup-demo-server:WARN:Room handleProtooConnection() | there is already a protoo Peer with same peerId, closing it [peerId:lojt2nfi] +34m
mediasoup-demo-server:INFO:Room last Peer in the room left, closing the room [roomId:101] +21s
protoo-server:ERROR:WebSocketTransport connection "error" event [conn:WSS:[183.185.216.161]:34888, error:Error: read ECONNRESET] +22s
mediasoup:ERROR:Channel [pid:2665 Worker::GetRouterFromRequest() | throwing MediaSoupError: Router not found +34m
mediasoup:WARN:Channel request failed [method:router.createWebRtcTransport, id:277]: Router not found +35s
mediasoup-demo-server:ERROR:Room request failed:Error: Router not found at Channel._processMessage (/usr/local/webrtc/mediasoup/mediasoup-demo/server/node_modules/mediasoup/lib/Channel.js:206:37) at Socket.Channel._consumerSocket.on (/usr/local/webrtc/mediasoup/mediasoup-demo/server/node_modules/mediasoup/lib/Channel.js:68:34) at Socket.emit (events.js:182:13) at Socket.EventEmitter.emit (domain.js:441:20) at addChunk (_stream_readable.js:283:12) at readableAddChunk (_stream_readable.js:264:11) at Socket.Readable.push (_stream_readable.js:219:10) at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) +34m

Fatal Signal 11 (SIGSEV) -> 0x0 probably NPE

This happens on: PeerConnection.getStats method.

I am using: implementation 'io.github.haiyangwu:mediasoup-client:3.4.0'

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 28453 (Timer-12), pid 27670
2023-04-19 14:33:34.298 28901-28901 DEBUG pid-28901 A pid: 27670, tid: 28453, name: Timer-12
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #2 pc 00000000008c6d76 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #3 pc 00000000008c531e /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #4 pc 00000000008c5ff2 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #5 pc 000000000075cbbb /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #6 pc 0000000000759aba /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.596 28901-28901 DEBUG pid-28901 A #7 pc 0000000000ffd3f5 /base.apk!libmediasoupclient_so.so (offset 0x1cf7000) (Java_org_webrtc_PeerConnection_nativeNewGetStats+75) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)
2023-04-19 14:33:34.600 28901-28901 DEBUG pid-28901 A #15 pc 00000000002fa5cc /base.apk (offset 0x13c0000) (org.webrtc.PeerConnection.getStats)
2023-04-19 14:33:34.601 28901-28901 DEBUG pid-28901 A #21 pc 00000000000368d2 /base.apk (offset 0xb7000) (webphone.client.WebphoneClient$startCallQualityTimer$callQualityTimerTask$1.run+30)

WebSocket disconnected error

If i try to change HOSTNAME in UrlFactory class with my server address, I'm getting "WebSocket disconnected" error.
Can anyone tell me the solution.

App crash when enter the room after exit room fatal error!

It is recommended to give priority to repair, otherwise it cannot be productized !

AudioTrackJavaThread(6741)

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_nativeGetPlayoutData__IJ)

App crash when enter the room after exit room

您好,我在app进入房间后再退出房间再进入房间会报这个错误,请问有办法解决吗?不是100%出现
02-25 13:22:51.026 10929-11025/org.roomclient.demo E/AndroidRuntime: JUNK_FATAL_EXCEP: FATAL EXCEPTION: AudioRecordJavaThread,Process: org.roomclient.demo, PID: 10929
02-25 13:22:51.027 10929-11025/org.roomclient.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread
Process: org.roomclient.demo, PID: 10929
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)

Mic from android very low

Hello,

Thank you very much for sharing this demo app.
We are meeting one issue with this demo app on real devices. The sound level of the mic is very low.

Sound level:

  • from Chrome to android phone (after enabling speaker) -> OK
  • from android phone to Chrome -> Not OK. it's very low. we have tried different phones (google pixel and samsung phones)

@haiyangwu any idea why ?
Thanks a lot

audio stream

Hello, I have carried out secondary development of the project and changed the way of video streaming to get from the recording screen, but how do I input the audio stream into the mediasoup Android client? Currently I can get the byte data of the audio stream

Sound volume is too low.

Tested on Xiami 5s (andr.8.0)

Video stream works great but the sound is almost not hearable. It works via phone speaker, how can I switch the audio output to the loud speaker?

VP9 i am posting vidoe streaming output was H264

I am using this in android native app url i post in app 4443/?roomId=yhj3knsh&peerId=ryqxw6oc&forceVP9=true but in video streaming codec was H264 in web i was posting forceVP9= true why this error came please resolve this.... is this error came before in android for anyone pls help me out @haiyangwu

when i am changing package name for my project it gives error

when i am changing package name for my project it gives error: package org.mediasoup.droid.demo.vm does not exist
import org.mediasoup.droid.demo.vm.PeerProps;
error: package org.mediasoup.droid.demo.vm does not exist

i am getting this error in build generated files which is not editable

how can i excute this demo properly?

Hello, I am a student studying.

I want to make a webrtc Android app using media soup.

But in this sample app, it seems like it's connected to the user itself, but nothing appears on the screen.

I am asking for help because I can't figure out which part to fix. Thank you.

terminal is not flow

throw test,android terminal is not flow,i guess it may be because pixel is too high.

Sometime facing issue: No implementation found for void org.webrtc.voiceengine.WebRtcAudioTrack.nativeGetPlayoutData

Sometime facing issue:
org.mediasoup.droid.demo E/soup.droid.dem: 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)
2020-07-08 15:31:16.473 11162-12312/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioTrackJavaThread
Process: org.mediasoup.droid.demo, PID: 11162
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_nativeGetPlayoutData__IJ)
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)

Application getting crash on VideoTrack.removeSink

track.removeSink(renderer); in BindingAdapter

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x50 in tid 23586 !libmediasoupclient_so.so (Java_org_webrtc_VideoTrack_nativeRemoveSink+6) (BuildId: d90348112037bfc9b825eb9cf196d3d39503c2e1)

previously it was working fine with org.mediasoup.droid:mediasoup-client:3.0.8-beta-3

Failed to create EGL context: 0x3003 while replacing peers after multible times , this number is different from device to another

android.view.InflateException: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #10 in com.mes.mymediasoup:layout/item_remote_peer: Error inflating class
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:854)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.inflate(LayoutInflater.java:659)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at com.mes.mymediasoup.mediasoup.adapters.PeerAdapter.onCreateViewHolder(PeerAdapter.java:101)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7078)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3540)
at android.view.View.measure(View.java:24726)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:760)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:833)
at android.view.View.measure(View.java:24726)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:735)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:481)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:24726)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24726)
2021-09-07 19:27:11.306 30023-30023/? E/AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6931)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:746)
at android.view.View.measure(View.java:24726)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3162)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1930)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2230)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1818)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7913)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:980)
at android.view.Choreographer.doCallbacks(Choreographer.java:804)
at android.view.Choreographer.doFrame(Choreographer.java:739)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:965)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:264)
at android.app.ActivityThread.main(ActivityThread.java:7581)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase.createEgl14(EglBase.java:215)
at org.webrtc.EglBase.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
at org.webrtc.EglRenderer$$ExternalSyntheticLambda6.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:264)
at android.os.HandlerThread.run(HandlerThread.java:67)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:184)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:196)
at org.webrtc.EglRenderer.init(EglRenderer.java:232)
at org.webrtc.EglRenderer.init(EglRenderer.java:259)
at org.webrtc.SurfaceEglRenderer.init(SurfaceEglRenderer.java:61)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:87)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:71)
at com.mes.mymediasoup.mediasoup.ui.view.PeerView.init(PeerView.java:53)
at com.mes.mymediasoup.mediasoup.ui.view.PeerView.(PeerView.java:29)
... 67 more
Caused by: java.lang.RuntimeException: Failed to create EGL context: 0x3003

Websocket disconnected

I'm trying this demo, I change HOSTNAME into my own mediasoup server then running to my Device and Websocket disconnected appear, how do i fixed it?

Crash app after approx 30 seconds of join room from android and web app

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)

No implementation found for void org.webrtc.voiceengine.WebRtcAudioRecord.nativeDataIsRecorded(int, long)

  • System version:6.0.1 (API 23)

  • CPU_ABI:armeabi-v7a

  • Log:

09-07 10:36:59.053 28998-29191/org.mediasoup.droid.demo E/art: 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)
09-07 10:36:59.053 28998-29191/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: AudioRecordJavaThread
    Process: org.mediasoup.droid.demo, PID: 28998
    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)
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: joinRoom() failed:
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: org.protoojs.droid.ProtooException
09-07 10:36:59.173 28998-29098/org.mediasoup.droid.demo E/RoomClient: org.protoojs.droid.ProtooException
        at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:80)
        at org.mediasoup.droid.lib.Protoo.syncRequest(Protoo.java:70)
        at org.mediasoup.droid.lib.RoomClient.createSendTransport(RoomClient.java:890)
        at org.mediasoup.droid.lib.RoomClient.joinImpl(RoomClient.java:674)
        at org.mediasoup.droid.lib.RoomClient.access$500(RoomClient.java:38)
        at org.mediasoup.droid.lib.RoomClient$2.lambda$onOpen$0$RoomClient$2(RoomClient.java:574)
        at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$1yrKTPoWaRxWuD7Kk1QcDNV7v7Y.run(lambda)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:148)
        at android.os.HandlerThread.run(HandlerThread.java:61)

[ERROR] transport_jni::JNI_RecvTransport_Consume() | Failed to set remote offer sdp: Duplicate a=mid value '2'.

if two android devices connect, it will crash here:

mediasoupclient-jni: [ERROR] transport_jni::JNI_RecvTransport_Consume() | Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.633 10709-10819/org.mediasoup.droid.demo W/System.err: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.634 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.RecvTransport.nativeConsume(Native Method)
2020-06-17 15:32:27.634 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.RecvTransport.consume(RecvTransport.java:48)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient.onNewConsumer(RoomClient.java:1052)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient.access$300(RoomClient.java:38)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.RoomClient$2.lambda$onRequest$2$RoomClient$2(RoomClient.java:596)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at org.mediasoup.droid.lib.-$$Lambda$RoomClient$2$8B9dCuDRW2LL5UzQlkr80_pqLG0.run(Unknown Source:6)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Handler.handleCallback(Handler.java:873)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.Looper.loop(Looper.java:224)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo W/System.err: at android.os.HandlerThread.run(HandlerThread.java:65)
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo E/RoomClient: "newConsumer" request failed:
2020-06-17 15:32:27.635 10709-10819/org.mediasoup.droid.demo E/RoomClient: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.
2020-06-17 15:32:27.637 10709-10819/org.mediasoup.droid.demo E/RoomClient: org.mediasoup.droid.MediasoupException: Failed to set remote offer sdp: Duplicate a=mid value '2'.

Echo cancellation doesn't work

Can't make echo cancellation work. In a room with 2+ participants I hear myself after a short delay.
I've tried to specify some flags explicitly:

JavaAudioDeviceModule.builder(appContext)
                .setUseHardwareAcousticEchoCanceler(true)
                .setUseHardwareNoiseSuppressor(true)

but with no success.
Official AppRtc demo from Google works fine. Any ideas how to fix this?

Cannot use h264 for streaming

Hi thanks for your work,

I'am trying to force h264 stream from online demo to show it on Android device. I see from stats that the stream, sent from online demo, is using h264.

Unfortunately on Android the Rendering View is black. Have you some idea on how I can solve and using h264 with Android?

If i use vp8 the stream works correctly.

Thanks

Can not Use H264 Codec

When I enable the forceH264 button, the app can not see other peer's view. So I think maybe there is something wrong with the app about H264 codec. Comparing other codec, the H264 is more professional.
How can I solve the problem?

视频编码问题

设置视频编解码方式无作用 一直使用默认vp8格式 望改正

android terminal is not flow

throw test,android terminal is not flow,i guess it may be because pixel is too high.I try to control send bitrate size,but not effect.
`String codecOptions ="[\r\n" + "{\r\n" + ""videoGoogleStartBitrate": "1000"\r\n" + "},\r\n"
+ "{\r\n" + ""videoGoogleMaxBitrate": "600"\r\n" + "},\r\n"
+ "{\r\n" + ""videoGoogleMinBitrate": "1500"\r\n" + "}\r\n"
+ "]";

  mCamProducer =
      mSendTransport.produce(
          producer -> {
            Logger.e(TAG, "onTransportClose(), camProducer");
            if (mCamProducer != null) {
              mStore.removeProducer(mCamProducer.getId());
              mCamProducer = null;
            }
          },
          mLocalVideoTrack,
          null,

// codecOptions);
null);`

Application getting crash when more then 40 users join a room: Failed to create EGL context: 0x3003

2020-06-26 17:09:38.442 1107-1107/org.mediasoup.droid.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.mediasoup.droid.demo, PID: 1107
android.view.InflateException: Binary XML file line #3: Binary XML file line #3: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #3: Error inflating class
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:651)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
at android.view.LayoutInflater.inflate(LayoutInflater.java:496)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:55)
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:24)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:366)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:397)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase$-CC.createEgl14(EglBase.java:215)
at org.webrtc.EglBase$-CC.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
at org.webrtc.-$$Lambda$EglRenderer$A5MPsBufyTiKpmjvPS46Dr9iaHs.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:201)
at android.os.HandlerThread.run(HandlerThread.java:65)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:184)
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:196)
at org.webrtc.EglRenderer.init(EglRenderer.java:232)
at org.webrtc.EglRenderer.init(EglRenderer.java:259)
at org.webrtc.SurfaceEglRenderer.init(SurfaceEglRenderer.java:61)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:87)
at org.webrtc.SurfaceViewRenderer.init(SurfaceViewRenderer.java:71)
at org.mediasoup.droid.demo.view.PeerView.init(PeerView.java:51)
at org.mediasoup.droid.demo.view.PeerView.(PeerView.java:33)
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:343) 
at android.view.LayoutInflater.createView(LayoutInflater.java:651) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:496) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:427) 
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:55) 
at org.mediasoup.droid.demo.adapter.PeerAdapter.onCreateViewHolder(PeerAdapter.java:24) 
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794) 
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975) 
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286) 
at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343) 
at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359) 
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:366) 
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:397) 
at android.os.Handler.handleCallback(Handler.java:873) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:201) 
at android.app.ActivityThread.main(ActivityThread.java:6810) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 
Caused by: java.lang.RuntimeException: Failed to create EGL context: 0x3003
at org.webrtc.EglBase14Impl.createEglContext(EglBase14Impl.java:280)
at org.webrtc.EglBase14Impl.(EglBase14Impl.java:78)
at org.webrtc.EglBase$-CC.createEgl14(EglBase.java:215)
at org.webrtc.EglBase$-CC.create(EglBase.java:158)
at org.webrtc.EglRenderer.lambda$init$0$EglRenderer(EglRenderer.java:241)
2020-06-26 17:09:38.442 1107-1107/org.mediasoup.droid.demo E/AndroidRuntime: at org.webrtc.-$$Lambda$EglRenderer$A5MPsBufyTiKpmjvPS46Dr9iaHs.run(Unknown Source:6)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:199)
at org.webrtc.ThreadUtils$4.call(ThreadUtils.java:196)
at org.webrtc.ThreadUtils$3.run(ThreadUtils.java:173)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at org.webrtc.EglRenderer$HandlerWithExceptionCallback.dispatchMessage(EglRenderer.java:103)
at android.os.Looper.loop(Looper.java:201)
at android.os.HandlerThread.run(HandlerThread.java:65)

ProtoException

when i change server and change parameter which i send to server it gives ((ProtooException )e).error) = Cannot find local variable 'e'

Error Creating a multiple

Error Creating a consumer: Failed to set remote offer sdk: Duplicate a=mid value'2'
i am using Android Device and Multiple browsers Firefox, safari, chrome.

on 1 to 1 it is working fine but when i am trying to connect multiple devices it is not working. i am not able to see videos of multiple user.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.