无法使用DataChannel从Chrome网络应用到Android应用进行webrtc调用

时间:2015-04-10 08:10:49

标签: android webrtc rtcdatachannel

我写了一个webrtc webapp(带有video + audio + dataChannel):
https://github.com/wennycooper/wsProject

我也写了一个Android webrtc应用程序:
https://github.com/wennycooper/webrtcClient

webapp-to-webapp调用正常。 没有数据通道的androidapp-to-androidapp也可以正常工作。

我尝试将数据通道代码添加到androidapp中,并从webapp调用到androidapp。当被叫方收到要约时,它显示以下错误:

04-10 15:48:32.410: W/libjingle(10639): Warning(rtpdataengine.cc:149): Failed to SetSendCodecs because there is no known codec.
04-10 15:48:32.410: W/libjingle(10639): Warning(channel.cc:2375): Failed to set remote data description
04-10 15:48:32.420: E/libjingle(10639): Error(channel.cc:730): Failure in SetRemoteContent with action 0
04-10 15:48:32.420: E/libjingle(10639): Error(webrtcsession.cc:272): Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set data send codecs..
04-10 15:48:32.420: D/MainActivity(10639): Creating ANSWER...
04-10 15:48:32.420: E/libjingle(10639): Error(webrtcsessiondescriptionfactory.cc:245): CreateAnswer can't be called before SetRemoteDescription.
04-10 15:48:32.420: E/libjingle(10639): Error(webrtcsessiondescriptionfactory.cc:408): Create SDP failed: CreateAnswer can't be called before SetRemoteDescription.

完整的adb日志已经结束:
https://s3-us-west-2.amazonaws.com/kkwebrtc/webrtcAndroid_callee.txt

我不知道发生了什么事? 任何人都可以提供数据通道的工作示例将非常感激。

1 个答案:

答案 0 :(得分:3)

最后,我得到了一个有效的例子。

我所做的是注释掉以下行并使用SCTPDataChannel。

//pcConstraints.optional.add(new KeyValuePair("RtpDataChannels", "false")); 

工作实例如下:
    https://github.com/wennycooper/webrtcClient