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