Quickblox Android web rtc--未调用onRemoteVideoTrackReceive

Quickblox Android web rtc--未调用onRemoteVideoTrackReceive,android,webrtc,quickblox,Android,Webrtc,Quickblox,我正在Android上制作QuickBlox视频客户端的原型。为了测试它,我现在只有接收调用的代码,并且正在使用JavaScript测试客户端(我的帐户中有硬连线用户)来生成调用。我的代码基于QuickBlox Android教程(针对“新”web rtc应用程序) 在一段时间内,一切似乎都进展顺利(见下面的日志)。该调用通过平板电脑调用acceptCall(参数为空映射)onLocalVideoTrackReceive被调用,打开平板电脑的摄像头(并且本地视图显示在UI中)。但是,即使调用了a

我正在Android上制作QuickBlox视频客户端的原型。为了测试它,我现在只有接收调用的代码,并且正在使用JavaScript测试客户端(我的帐户中有硬连线用户)来生成调用。我的代码基于QuickBlox Android教程(针对“新”web rtc应用程序)

在一段时间内,一切似乎都进展顺利(见下面的日志)。该调用通过平板电脑调用acceptCall(参数为空映射)onLocalVideoTrackReceive被调用,打开平板电脑的摄像头(并且本地视图显示在UI中)。但是,即使调用了
acceptCall
,客户机仍会不断鸣响,并且从未调用过RemoteVideoTrackReceived上的回调

平板电脑应用程序不会崩溃。我很高兴地记录下它正在使用相机的事实,但没有其他事情发生。最后,我手动挂断了客户端

18:35:26.770 15909-16114/com.coms D/QBASDK﹕ ========================================================= === REQUEST ==== 5e751fe9-4186-445a-9ebc-9008143860c6 === REQUEST POST https://api.quickblox.com/session.json HEADERS QuickBlox-REST-API-Version=0.1.1 QB-SDK=Android 2.2.6 PARAMETERS application_id=25788 auth_key=XXXXXXXXXXXX nonce=-1153424146 timestamp=1437528926 user[login]=YYYYYYYYYYYYY user[password]=ZZZZZZZZZZZZZZZZZ signature=WWWWWWWWWWWWW INLINE POST https://api.quickblox.com/session.json?application_id=25788&auth_key=xcA5Xc2R53Cgrz3&nonce=-1153424146×tamp=1437528926&user[login]=XXXXXXXXXXXXXXXXXXXXXX&user[password]=YYYYYYYYYYY& signature=WWWWWWWWWWWWWWWW 18:35:27.296 15909-16114/com.coms D/QBASDK﹕ ********************************************************* *** RESPONSE *** 5e751fe9-4186-445a-9ebc-9008143860c6 *** STATUS : 201 HEADERS Access-Control-Allow-Origin=* Cache-Control=max-age=0, private, must-revalidate Connection=keep-alive Content-Type=application/json; charset=utf-8 Date=Wed, 22 Jul 2015 01:35:27 GMT ETag="381f79ac0b50dfd6332d658570ed1c61" QB-Token-ExpirationDate=2015-07-22 03:35:27 UTC QuickBlox-REST-API-Version=0.1.1 Server=nginx/1.0.15 Status=201 Created Transfer-Encoding=chunked X-Rack-Cache=invalidate, pass X-Request-Id=a1a2781b1ab340fd1e462e200e627770 X-Runtime=0.026241 X-UA-Compatible=IE=Edge,chrome=1 BODY '{"session":{"_id":"55aef35f535c126116002461","application_id":XXXXXX,"created_at":"2015-07-22T01:35:27Z","device_id":0,"nonce":-1153424146,"token":"d5678a7685eec907f6226591e4031cf569a7a973","ts":1437528926,"updated_at":"2015-07-22T01:35:27Z","user_id":4268341,"id":5595}}' 18:35:27.369 15909-16114/com.coms D/QuickBloxService﹕ got session QBSession{token='d5678a7685eec907f6226591e4031cf569a7a973', appId=25788, userId=4268341, deviceId=0, timestamp=1437528926, nonce=-1153424146} 18:35:28.388 15909-16114/com.coms D/RTCClient﹕ Create INSTANCE 18:35:28.389 15909-16114/com.coms D/RTCClient﹕ Init client tasks EXECUTOR 18:35:28.389 15909-16114/com.coms D/LooperExecutor﹕ Request Looper start. On QBRTCClient 18:35:28.404 15909-16198/com.coms D/LooperExecutor﹕ Looper thread started. 18:35:28.425 15909-16114/com.coms D/RTCClient﹕ ADD CALLBACK com.coms.service.QuickBloxService@2039de4e 18:35:28.426 15909-16114/com.coms D/RTCClient﹕ ADD CALLBACK com.coms.service.QuickBloxService@2039de4e 18:35:28.426 15909-16114/com.coms E/MsgProcessor﹕ Try to add null SmackSignallingProcessorCallback listener 18:35:28.431 15909-16183/com.coms D/SMACK﹕ RCV (0): 18:35:28.464 15909-15924/com.coms I/art﹕ Background sticky concurrent mark sweep GC freed 32529(2033KB) AllocSpace objects, 8(151KB) LOS objects, 14% free, 14MB/16MB, paused 5.004ms total 85.510ms 18:36:28.318 15909-16182/com.coms D/SMACK﹕ SENT (0): 18:36:28.411 15909-16183/com.coms D/SMACK﹕ RCV (0): 18:36:32.353 15909-16183/com.coms D/SMACK﹕ RCV (0): WebRTCVideoChatcall14375289842651v=0 o=mozilla...THIS_IS_SDPARTA-39.0 4294967295 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 C0:E6:07:F1:15:72:CC:24:93:7D:D9:DA:D2:7D:A4:42:7E:41:F2:6E:9F:9A:7B:98:49:A7:06:EE:70:AC:4D:2E a=group:BUNDLE sdparta_0 sdparta_1 a=ice-options:trickle a=msid-semantic:WMS * m=audio 9 RTP/SAVPF 109 9 0 8 c=IN IP4 0.0.0.0 a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=ice-pwd:1206bfba48e268d7e5d6af337cf5da23 a=ice-ufrag:e0be8eb3 a=mid:sdparta_0 a=msid:{1947eb01-41ad-4ce1-8481-82b006a3c7ef} {6f381987-02b3-44ef-a43d-5e347bbfc247} a=rtcp-mux a=rtpmap:109 opus/48000/2 a=rtpmap:9 G722/8000/1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=setup:actpass a=ssrc:1080179391 cname:{917d1c3d-afc8-4168-8dbf-e2d3ac9144f0} m=video 9 RTP/SAVPF 120 126 97 c=IN IP4 0.0.0.0 a=sendrecv a=fmtp:120 max-fs=12288;max-fr=60 a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1 a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1 a=ice-pwd:1206bfba48e268d7e5d6af337cf5da23 a=ice-ufrag:e0be8eb3 a=mid:sdparta_1 a=msid:{1947eb01-41ad-4ce1-8481-82b006a3c7ef} {9d584e62-e48e-4ce2-bd98-77b0c1863383} a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:126 nack a=rtcp-fb:126 nack pli a=rtcp-fb:126 ccm fir a=rtcp-fb:97 nack a=rtcp-fb:97 nack pli a=rtcp-fb:97 ccm fir a=rtcp-mux a=rtpmap:120 VP8/90000 a=rtpmap:126 H264/90000 a=rtpmap:97 H264/90000 a=setup:actpass a=ssrc:2574623186 cname:{917d1c3d-afc8-4168-8dbf-e2d3ac9144f0} web43084764268341 18:36:32.355 15909-16183/com.coms D/Parser -->>﹕ Start cycle 18:36:32.355 15909-16183/com.coms D/Parser -->>﹕ Tag type is: 2,name is opponentID 18:36:32.355 15909-16183/com.coms D/Parser -->>﹕ Tag type is: 4, value is 4268341 18:36:32.355 15909-16183/com.coms D/Parser -->>﹕ Tag type is: 3,name is opponentID 18:36:32.355 15909-16183/com.coms D/Parser -->>﹕ Finish cycle 18:36:32.356 15909-16183/com.coms D/Parser -->>﹕ Tag is 4268341 18:36:32.356 15909-16183/com.coms D/Parsed message﹕ opponentsIDs --> 4268341 18:36:32.379 15909-16188/com.coms D/RTCClient﹕ New signalling was added 18:36:32.422 15909-16188/com.coms E/QuickBloxService﹕ Added Signaling com.quickblox.chat.QBWebRTCSignaling@23080481 18:36:32.425 15909-16188/com.coms D/QBRTCSessionDescription﹕ Was created QBRTCSessionDescription{sessionID='1437528984265', callerID='4308476', opponents=[4268341], conferenceType=QBConferenceType{value='1'}, userInfo={}} 18:36:32.426 15909-16188/com.coms D/MsgProcessor﹕ notify income call 18:36:32.431 15909-16188/com.coms D/LooperExecutor﹕ Request Looper execute. 18:36:32.431 15909-16188/com.coms D/LooperExecutor﹕ POST.Run on thread:1250 18:36:32.434 15909-16198/com.coms D/RTCClient﹕ Call offer message received 18:36:32.435 15909-16198/com.coms D/RTCClient﹕ createSessionWithDescription 18:36:32.451 15909-16198/com.coms D/EglBase﹕ SDK version: 22 18:36:32.453 15909-16198/com.coms D/*WEBRTCN*﹕ SetRenderAndroidVM 18:36:32.453 15909-16198/com.coms D/JVM﹕ JVM::Initialize@[tid=16198] 18:36:32.453 15909-16198/com.coms D/JVM﹕ JVM::JVM@[tid=16198] 18:36:32.454 15909-16198/com.coms D/MediaCodecVideo﹕ SetAndroidObjects for surface decoding. 18:36:32.454 15909-16198/com.coms D/MediaCodecVideo﹕ NULL VideoDecoder EGL context - HW surface decoding is disabled. 18:36:32.476 15909-17205/com.coms D/JVM﹕ AttachCurrentThreadIfNeeded::ctor@[tid=17205] 18:36:32.476 15909-17205/com.coms D/JVM﹕ Attaching thread to JVM 18:36:32.476 15909-17205/com.coms D/JVM﹕ JVM::environment@[tid=17205] .... Lots of audio and video setup 18:36:32.486 15909-17205/com.coms D/AudioManager﹕ Init@[tid=17205] 18:36:32.486 15909-17205/com.coms D/WebRtcAudioManager﹕ init@[name=Thread-1251, id=1251] 18:36:32.487 15909-17205/com.coms D/WebRtcAudioManager﹕ audio mode is: MODE_NORMAL 18:36:32.489 15909-17205/com.coms D/AudioRecordJni﹕ EnableBuiltInAEC@[tid=17205] 18:36:32.489 15909-17205/com.coms D/WebRtcAudioRecord﹕ EnableBuiltInAEC(true) 18:36:32.494 15909-17205/com.coms D/AudioRecordJni﹕ EnableBuiltInAEC@[tid=17205] 18:36:32.494 15909-17205/com.coms D/WebRtcAudioRecord﹕ EnableBuiltInAEC(true) 18:36:32.498 15909-16198/com.coms D/RTCClient﹕ Peer connection factory initiated 18:36:32.503 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ Create looper executor on thread: 1250 18:36:32.503 15909-16198/com.coms D/LooperExecutor﹕ Request Looper start. On QBPeerChannel 18:36:32.504 15909-17214/com.coms D/LooperExecutor﹕ Looper thread started. 18:36:32.505 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Make new channel:com.quickblox.videochat.webrtc.QBPeerChannel@188f6926 18:36:32.505 15909-16198/com.coms D/RTCClient﹕ Notify all session calback listeners about session creation 18:36:32.505 15909-16198/com.coms D/SessionClosedListener﹕ onReceiveNewSession 18:36:32.528 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:36:32.528 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ acceptCall 18:36:32.528 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ startAsAnswer 18:36:32.528 15909-16198/com.coms D/PeerChannelLifeCycleTimers﹕ Stop WaitTimer 18:36:32.528 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:36:32.528 15909-16198/com.coms D/LooperExecutor﹕ POST.Run on thread:1254 18:36:32.528 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ Try to set null remote sdp 18:36:32.529 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ createConnection 18:36:32.529 15909-16198/com.coms D/LooperExecutor﹕ EXECUTE.Run on thread:1250 18:36:32.529 15909-16198/com.coms E/QuickBloxService﹕ Accepted Incoming Call: QBRTCSession{sessionDescription=QBRTCSessionDescription{sessionID='1437528984265', callerID='4308476', opponents=[4268341], conferenceType=QBConferenceType{value='1'}, userInfo={}}, getMediaStreamManager=com.quickblox.videochat.webrtc.QBMediaStreamManager@2fc617b, channels={4308476=com.quickblox.videochat.webrtc.QBPeerChannel@188f6926}, signalChannel=com.quickblox.videochat.webrtc.QBSignalChannel@b4b2b98, chatCallbackList=[com.quickblox.videochat.webrtc.QBRTCClient$SessionClosedListener@24140113, com.coms.service.QuickBloxService@2039de4e], audioEnabled=false, videoEnabled=false, state=QB_RTC_SESSION_ACTIVE, isNeedClose=false} false false 18:36:32.535 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Process income call from 4308476 18:36:32.535 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ set remote sdp v=0 o=mozilla...THIS 18:36:32.764 15909-15909/com.coms D/RTCClient﹕ ADD CALLBACK com.coms.VideoActivity@265390e3 18:36:32.768 15909-17214/com.coms D/RTCClient.QBRTCSession﹕ Local Stream Add 18:36:32.768 15909-17214/com.coms D/RTCClient.QBMediaStrMgr﹕ Init local media stream 18:36:32.768 15909-17214/com.coms D/RTCClient.QBMediaStrMgr﹕ Add video stream 18:36:32.772 15909-17214/com.coms D/VideoCapturerAndroid﹕ VideoCapturerAndroid 18:36:32.773 15909-17214/com.coms D/VideoCapturerAndroid﹕ init: Camera 1, Facing front, Orientation 270 18:36:32.773 15909-17214/com.coms D/VideoCapturerAndroid﹕ Get supported formats. 18:36:32.773 15909-17214/com.coms D/VideoCapturerAndroid﹕ Opening camera 1 18:36:32.873 15909-17223/com.coms D/QBASDK﹕ onSurfaceChanged 18:36:32.886 15909-17224/com.coms D/QBASDK﹕ onSurfaceChanged 18:36:33.304 15909-15909/com.coms E/ComMain﹕ onStop 18:36:33.690 15909-17214/com.coms D/VideoCapturerAndroid﹕ Opening camera 0 18:36:34.056 15909-17214/com.coms D/VideoCapturerAndroid﹕ Get supported formats done. 18:36:34.066 15909-17205/com.coms D/VideoCapturerAndroid﹕ startCapture requested: 640x480@30 18:36:34.072 15909-17284/com.coms D/VideoCapturerAndroid﹕ Opening camera 1 18:36:34.076 15909-17214/com.coms D/LooperExecutor﹕ Request Looper execute. 18:36:34.076 15909-17214/com.coms D/LooperExecutor﹕ POST.Run on thread:1250 18:36:34.077 15909-16198/com.coms E/***********﹕ Got local tracker 18:36:34.082 15909-17214/com.coms D/AppRTCAudioManager﹕ Android SDK: 22, Release: 5.1.1, Brand: google, Device: flo, Id: LMY48G, Hardware: flo, Manufacturer: asus, Model: Nexus 7, Product: razor 18:36:34.082 15909-17214/com.coms D/AppRTCAudioManager﹕ init 18:36:35.195 15909-17224/com.coms D/QBASDK﹕ QBGLVideoView 18:36:36.251 15909-17224/com.coms D/QBASDK﹕ QBGLVideoView 18:36:37.318 15909-17224/com.coms D/QBASDK﹕ QBGLVideoView 18:36:38.337 15909-17224/com.coms D/QBASDK﹕ QBGLVideoView 18:36:39.349 15909-17224/com.coms D/QBASDK﹕ QBGLVideoView 18:36:39.873 15909-17284/com.coms D/VideoCapturerAndroid﹕ Camera fps: 11. CaptureBuffers: 3.0. Pending buffers: [] 18:37:02.457 15909-16183/com.coms D/SMACK﹕ RCV (0): manuallyWebRTCVideoChathangUp1437528984265 18:37:02.458 15909-16188/com.coms D/MsgProcessor﹕ Wrong caller id was set 18:37:02.459 15909-16188/com.coms D/QBRTCSessionDescription﹕ Was created QBRTCSessionDescription{sessionID='1437528984265', callerID='null', opponents=null, conferenceType=QBConferenceType{value='2'}, userInfo={}} 18:37:02.459 15909-16188/com.coms D/MsgProcessor﹕ notify stop call 18:37:02.459 15909-16188/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.459 15909-16188/com.coms D/LooperExecutor﹕ POST.Run on thread:1250 18:37:02.462 15909-16198/com.coms D/RTCClient﹕ Stop message received 18:37:02.462 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Process hang up from 4308476 18:37:02.462 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Сhannel to hang up exists. Hangup task will be add to queue 18:37:02.462 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.462 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ Call procHungUp 18:37:02.462 15909-16198/com.coms D/RTCClient.QBPeerChannel﹕ Method PeerCOnnection.close started 18:37:02.462 15909-16198/com.coms D/PeerChannelLifeCycleTimers﹕ Stop DialingTimer 18:37:02.462 15909-16198/com.coms D/PeerChannelLifeCycleTimers﹕ Stop WaitTimer 18:37:02.462 15909-16198/com.coms D/PeerChannelLifeCycleTimers﹕ Stop DisconnectTimer 18:37:02.463 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.463 15909-16198/com.coms D/LooperExecutor﹕ POST.Run on thread:1254 18:37:02.463 15909-16198/com.coms D/LooperExecutor﹕ Request Looper stop. On QBPeerChannel 18:37:02.463 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify users about hangUp session in count of 2 18:37:02.463 15909-16198/com.coms D/SessionClosedListener﹕ onReceiveHangUpFromUser 18:37:02.464 15909-16198/com.coms E/QuickBloxService﹕ onReceiveHangUpFromUser 18:37:02.464 15909-16198/com.coms D/LooperExecutor﹕ EXECUTE.Run on thread:1250 18:37:02.464 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ Closing peer add in task queue. 18:37:02.464 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ Closing peer connection start. 18:37:02.465 15909-17206/com.coms D/RTCClient.QBPeerChannel.Observer:﹕ onIceConnectionChange to CLOSED 18:37:02.465 15909-17206/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.465 15909-17206/com.coms D/LooperExecutor﹕ POST.Run on thread:1254 18:37:02.466 15909-17206/com.coms D/RTCClient.QBPeerChannel.Observer:﹕ onIceGatheringChange to COMPLETE 18:37:02.466 15909-17206/com.coms D/RTCClient.QBPeerChannel.Observer:﹕ onSignalingChange to CLOSED 18:37:02.480 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ Closing peer connection done. 18:37:02.480 15909-17214/com.coms D/LooperExecutor﹕ Looper thread finished. 18:37:02.480 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ PeerChannel succesfulle stoped 18:37:02.480 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ Call method onChannelConnectionClosed on PeerChannel callback 18:37:02.480 15909-17214/com.coms D/RTCClient.QBRTCSession﹕ onChannelConnectionClosed add in executor queue 18:37:02.481 15909-17214/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.481 15909-17214/com.coms D/LooperExecutor﹕ POST.Run on thread:1250 18:37:02.481 15909-17214/com.coms D/RTCClient.QBPeerChannel.Observer:﹕ onIceConnectionChange 18:37:02.481 15909-17214/com.coms D/RTCClient.QBPeerChannel.Observer:﹕ IceConnectionState: CLOSED 18:37:02.481 15909-17214/com.coms D/RTCClient.QBPeerChannel﹕ onChannelConnectionClosed called on QBRTCSession{sessionDescription=QBRTCSessionDescription{sessionID='1437528984265', callerID='4308476', opponents=[4268341], conferenceType=QBConferenceType{value='1'}, userInfo={}}, getMediaStreamManager=com.quickblox.videochat.webrtc.QBMediaStreamManager@2fc617b, channels={4308476=com.quickblox.videochat.webrtc.QBPeerChannel@188f6926}, signalChannel=com.quickblox.videochat.webrtc.QBSignalChannel@b4b2b98, chatCallbackList=[com.quickblox.videochat.webrtc.QBRTCClient$SessionClosedListener@24140113, com.coms.service.QuickBloxService@2039de4e], audioEnabled=false, videoEnabled=false, state=QB_RTC_SESSION_ACTIVE, isNeedClose=false} 18:37:02.481 15909-17214/com.coms D/RTCClient.QBRTCSession﹕ onChannelConnectionClosed add in executor queue 18:37:02.481 15909-17214/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.481 15909-17214/com.coms D/LooperExecutor﹕ POST.Run on thread:1250 18:37:02.482 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Srat process onChannelConnectionClosed 18:37:02.483 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Check is session need close 18:37:02.483 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Session isNeedToClose true 18:37:02.484 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:02.484 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Start session close. 18:37:02.484 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Set session 1437528984265 with state QB_RTC_SESSION_ACTIVE to CLOSE 18:37:02.484 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Closing mediaStreamManager. 18:37:02.484 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Video source start dispose 18:37:02.484 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Video source is org.webrtc.VideoSource@3bd13fd2 18:37:02.491 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Video source state is LIVE 18:37:02.492 15909-17205/com.coms D/VideoCapturerAndroid﹕ stopCapture 18:37:02.493 15909-17284/com.coms D/VideoCapturerAndroid﹕ stopCaptureOnCameraThread 18:37:02.493 15909-17284/com.coms D/VideoCapturerAndroid﹕ Stop preview. 18:37:03.055 15909-17284/com.coms D/VideoCapturerAndroid﹕ stopReturnBuffersToCamera called. All buffers have been returned. 18:37:03.055 15909-17284/com.coms D/Camera﹕ app passed NULL surface 18:37:03.056 15909-17284/com.coms D/VideoCapturerAndroid﹕ Release camera. 18:37:03.057 15909-15925/com.coms W/Camera-JNI﹕ callback on dead camera object 18:37:03.057 15909-15925/com.coms W/Camera-JNI﹕ callback on dead camera object 18:37:03.604 15909-17205/com.coms D/VideoCapturerAndroid﹕ stopCapture done 18:37:03.613 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Video source disposed 18:37:03.613 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Audio manager start close 18:37:03.613 15909-16198/com.coms D/AppRTCAudioManager﹕ closePeerConnection 18:37:03.624 15909-16198/com.coms D/RTCClient.QBMediaStrMgr﹕ Audio manager closed 18:37:03.624 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callbacks in count of:2 18:37:03.624 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callback: com.quickblox.videochat.webrtc.QBRTCClient$SessionClosedListener@24140113 18:37:03.624 15909-16198/com.coms D/RTCClient﹕ Closing peer connection factory. 18:37:03.625 15909-17205/com.coms D/OpenSLESPlayer﹕ Terminate@[tid=17205] 18:37:03.625 15909-17205/com.coms D/OpenSLESPlayer﹕ StopPlayout@[tid=17205] 18:37:03.625 15909-17205/com.coms D/AudioRecordJni﹕ Terminate@[tid=17205] 18:37:03.625 15909-17205/com.coms D/AudioRecordJni﹕ StopRecording@[tid=17205] 18:37:03.625 15909-17205/com.coms D/AudioManager﹕ Close@[tid=17205] 18:37:03.626 15909-17205/com.coms D/WebRtcAudioManager﹕ dispose@[name=Thread-1251, id=1251] 18:37:03.626 15909-17205/com.coms D/AudioRecordJni﹕ ~dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/AudioRecordJni﹕ Terminate@[tid=17205] 18:37:03.626 15909-17205/com.coms D/AudioRecordJni﹕ StopRecording@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ GlobalRef::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ NativeRegistration::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ JNIEnvironment::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ AttachCurrentThreadIfNeeded::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ Terminate@[tid=17205] 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ StopPlayout@[tid=17205] 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ DestroyAudioPlayer 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ DestroyMix 18:37:03.626 15909-17205/com.coms D/OpenSLESPlayer﹕ DestroyEngine 18:37:03.626 15909-17205/com.coms D/AudioManager﹕ ~dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/AudioManager﹕ Close@[tid=17205] 18:37:03.626 15909-17205/com.coms D/AudioManager﹕ JavaAudioManager::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ GlobalRef::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ NativeRegistration::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ JNIEnvironment::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ AttachCurrentThreadIfNeeded::dtor@[tid=17205] 18:37:03.626 15909-17205/com.coms D/JVM﹕ Detaching thread from JVM 18:37:03.640 15909-17206/com.coms W/art﹕ Native thread exiting without having called DetachCurrentThread (maybe it's going to use a pthread_key_create destructor?): Thread[28,tid=17206,Native,Thread*=0xa211c000,peer=0x12ea60a0,"signaling_threa - 17206"] 18:37:03.641 15909-16198/com.coms D/RTCClient﹕ Closing session done. 18:37:03.641 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callback: com.coms.service.QuickBloxService@2039de4e 18:37:03.642 15909-16198/com.coms E/QuickBloxService﹕ onSessionClosed 18:37:03.642 15909-16198/com.coms D/LooperExecutor﹕ EXECUTE.Run on thread:1250 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Srat process onChannelConnectionClosed 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Check is session need close 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Session isNeedToClose true 18:37:03.642 15909-16198/com.coms D/LooperExecutor﹕ Request Looper execute. 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Start session close. 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Closing mediaStreamManager. 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callbacks in count of:2 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callback: com.quickblox.videochat.webrtc.QBRTCClient$SessionClosedListener@24140113 18:37:03.642 15909-16198/com.coms D/RTCClient﹕ Closing peer connection factory. 18:37:03.642 15909-16198/com.coms D/RTCClient﹕ Nothing to close factory was null 18:37:03.642 15909-16198/com.coms D/RTCClient.QBRTCSession﹕ Notify sesions callback: com.coms.service.QuickBloxService@2039de4e 18:37:03.642 15909-16198/com.coms E/QuickBloxService﹕ onSessionClosed 18:37:03.642 15909-16198/com.coms D/LooperExecutor﹕ EXECUTE.Run on thread:1250 18:35:26.770 15909-16114/com.coms D/QBASDK﹕ ========================================================= ===请求===5e751fe9-4186-445a-9ebc-9008143860c6=== 要求 邮递https://api.quickblox.com/session.json 标题 QuickBlox REST API版本=0.1.1 QB-SDK=Android 2.2.6 参数 应用程序id=25788 认证密钥=XXXXXXXXXX nonce=-1153424146 时间戳=1437528926 用户[登录]=yyyyyyyyyyy 用户[密码]=zzzzzzzzz 签名=wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 内联 邮递https://api.quickblox.com/session.json?application_id=25788&auth_key=xcA5Xc2R53Cgrz3&nonce=-1153424146×tamp=1437528926&user[login]=xxxxxxxxxxxxxxxxxxxxxxxx&user[password]=yyyyyyyyyy& 签名=wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 18:35:27.29615909-16114/com.coms D/QBASDK﹕ ********************************************************* ***响应***5e751fe9-4186-445a-9ebc-9008143860c6*** 现状:201 标题 访问控制允许源=* 缓存控制=max age=0,私有,必须重新验证 连接=保持活动状态 内容类型=应用程序/json;字符集=utf-8 日期=2015年7月22日星期三格林尼治标准时间01:35:27 ETag=“381f79ac0b50dfd632d658570ed1c61” QB代币到期日期=2015-07-22 03:35:27 UTC QuickBlox REST API版本=0.1.1 服务器=nginx/1.0.15 状态=201已创建 传输编码=分块 X-Rack-Cache=无效,通过 X-Request-Id=A1A2781B1AB340FD1E462E200E62770 X-Runtime=0.026241 X-UA-Compatible=IE=Edge,chrome=1 身体 “{”session:{”id:“55aef35f535c126116002461”,“应用程序id:”XXXXXX,“创建于”:“2015-07-22T01:35:27Z”,“设备id:”0,“暂时”:-1153424146,“令牌”:“d5678a7685eec907f6226591e4031cf569a7a973”,“ts:”1437528926,“更新于”:“2015-07-22T01:35:27Z”,“用户id:”4268341,“id:”5595}” 18:35:27.369 15909-16114/com.coms D/QuickBloxService﹕ 已获取会话QBSession{token='d5678a7685eec907f6226591e4031cf569a7a973',appId=25788,userId=4268341,deviceId=0,时间戳=1437528926,nonce=-1153424146} 18:35:28.388 15909-16114/com.coms D/RTCClient﹕ 创建实例 18:35:28.389 15909-16114/com.coms D/RTCClient﹕ 初始化客户端任务执行器 18:35:28.389 15909-16114/com.coms D/LooperExecutor﹕ 请求活套启动。关于QBRTCClient 18:35:28.40415909-16198/com.coms D/LooperExecutor﹕ 活套线程已启动。 18:35:28.425 15909-16114/com.coms D/RTCClient﹕ 添加回调com.coms.service。QuickBloxService@2039de4e 18:35:28.42615909-16114/com.coms D/RTCClient﹕ 添加回调com.coms.service。QuickBloxService@2039de4e 18:35:28.42615909-16114/com.coms E/MsgProcessor﹕ 尝试添加空SmackSignallingProcessor回调侦听器 18:35:28.431 15909-16183/com.coms D/SMACK﹕ RCV(0): 18:35:28.464 15909-15924/com.coms I/art﹕ 背景粘性并发标记扫描GC释放32529(2033KB)AllocSpace对象,8(151KB)LOS对象,14%空闲,14MB/16MB,暂停5.004ms总计85.510ms 18:36:28.31815909-16182/com.coms D/SMACK﹕ 已发送(0): 18:36:28.41115909-16183/com.coms D/SMACK﹕ RCV(0): 18:36:32.353 15909-16183/com.coms D/SMACK﹕ RCV(0):网络实时视频聊天呼叫14375289842651V=0 o=mozilla…这是IP40.0.0.0中的\u SDPARTA-39.0 4294967295 0 =- t=0 a=sendrecv a=指纹:sha-256 C0:E6:07:F1:15:72:CC:24:93:7D:D9:DA:D2:7D:A4:42:7E:41:F2:6E:9F:9A:7B:98:49:A7:06:EE:70:AC:4D:2E a=组:束sdparta\U 0 sdparta\U 1 a=冰选项:涓流 a=msid语义:WMS* m=音频9 RTP/SAVPF 109 9 0 8 c=在IP4中为0.0.0.0 a=sendrecv a=extmap:1 urn:ietf:params:rtp hdrext:ssrc音频电平 a=冰pwd:1206bfba48e268d7e5d6af337cf5da23 a=冰ufrag:e0be8eb3 a=mid:sdparta\U 0 a=msid:{1947eb01-41ad-4ce1-8481-82b006a3c7ef}{6f381987-02b3-44ef-a43d-5e347bbfc247} a=rtcp多路复用器 a=rtpmap:109 opus/48000/2 a=rtpmap:9 G722/8000/1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=设置:actpass a=ssrc:1080179391 cname:{917d1c3d-afc8-4168-8dbf-e2d3ac9144f0} m=视频9 RTP/SAVPF 120 126 97 c=在IP4中为0.0.0.0 a=sendrecv a=fmtp:120最大fs=12288;最大fr=60 a=fmtp:126剖面级别id=42e01f;允许的水平不对称=1;打包模式=1 a=fmtp:97剖面级别id=42e01f;允许的电平不对称=1 a=冰pwd:1206bfba48e268d7e5d6af337cf5da23 a=冰ufrag:e0be8eb3 a=mid:sdparta_1 a=msid:{1947eb01-41ad-4ce1-8481-82b006a3c7ef}{9d584e62-e48e-4ce2-bd98-77b0c1863383} a=rtcp fb:120 nack a=rtcp fb:120 nack pli a=rtcp fb:120 ccm fir a=rtcp fb:126 nack a=rtcp fb:126 nack pli a=rtcp fb:126 ccm fir a=rtcp fb:97 nack a=rtcp fb:97 nack pli a=rtcp fb:97
    QBChatService.getInstance().getVideoChatWebRTCSignalingManager().addSignalingManagerListener(new QBVideoChatSignalingManagerListener() 
{
    @Override
    public void signalingCreated(QBSignaling qbSignaling, boolean createdlocally) 
    {
         if (!createdlocally) 
         {
         rtcClient.addSignaling((QBWebRTCSignaling) qbSignaling);
         }
    }
});