107 lines
3.6 KiB
Plaintext
107 lines
3.6 KiB
Plaintext
Test setting up media between two RTCPeerConnection instances with a single SDP dialog.
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
Create RTCPeerConnection A
|
|
PASS pcA.signalingState is 'stable'
|
|
PASS pcA.pendingLocalDescription is null
|
|
PASS pcA.currentLocalDescription is null
|
|
PASS pcA.pendingRemoteDescription is null
|
|
PASS pcA.currentRemoteDescription is null
|
|
|
|
Create RTCPeerConnection B
|
|
PASS pcB.signalingState is 'stable'
|
|
PASS pcB.pendingLocalDescription is null
|
|
PASS pcB.currentLocalDescription is null
|
|
PASS pcB.pendingRemoteDescription is null
|
|
PASS pcB.currentRemoteDescription is null
|
|
|
|
A: add media
|
|
A: create offer
|
|
A: got offer, set it as local description
|
|
A: local offer set
|
|
PASS pcA.signalingState is 'have-local-offer'
|
|
PASS pcA.pendingLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcA.currentLocalDescription is null
|
|
|
|
A: send offer to B
|
|
A --- offer --> B
|
|
B: got offer from A, set it as remote description
|
|
----------
|
|
PASS B: got remote track event
|
|
----------
|
|
B: remote offer set
|
|
PASS pcB.signalingState is 'have-remote-offer'
|
|
PASS pcB.pendingRemoteDescription is an instance of RTCSessionDescription
|
|
PASS pcB.currentRemoteDescription is null
|
|
|
|
B: create answer (without local media)
|
|
B: got answer, set it as local description
|
|
B: local answer set
|
|
PASS pcB.signalingState is 'stable'
|
|
PASS pcB.pendingLocalDescription is null
|
|
PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcB.pendingRemoteDescription is null
|
|
PASS pcB.currentRemoteDescription is an instance of RTCSessionDescription
|
|
|
|
B: send answer to A
|
|
A <-- answer -- B
|
|
A: got answer from B, set it as remote description
|
|
A: remote answer set
|
|
PASS pcA.signalingState is 'stable'
|
|
PASS pcA.pendingLocalDescription is null
|
|
PASS pcA.currentLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcA.pendingRemoteDescription is null
|
|
PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
|
|
|
|
PASS First offer/answer dialog completed
|
|
========================================
|
|
|
|
PASS pcB.getSenders().length is 1
|
|
B: add media (should reuse sender)
|
|
PASS pcB.getSenders().length is 1
|
|
B: create offer
|
|
B: got offer, set it as local description
|
|
B: local offer set (session update so we have both pending and current local descriptions)
|
|
PASS pcB.signalingState is 'have-local-offer'
|
|
PASS pcB.pendingLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
|
|
|
|
B: send offer to A
|
|
A <-- offer --- B
|
|
A: got offer from B, set it as remote description
|
|
----------
|
|
PASS A: got remote track event
|
|
----------
|
|
A: remote offer set (session update so we have both pending and current remote descriptions)
|
|
PASS pcA.signalingState is 'have-remote-offer'
|
|
PASS pcA.pendingRemoteDescription is an instance of RTCSessionDescription
|
|
PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
|
|
|
|
A: create answer
|
|
A: got answer, set it as local description
|
|
A: local answer set
|
|
PASS pcA.signalingState is 'stable'
|
|
PASS pcA.pendingLocalDescription is null
|
|
PASS pcA.currentLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcA.pendingRemoteDescription is null
|
|
PASS pcA.currentRemoteDescription is an instance of RTCSessionDescription
|
|
|
|
A: send answer to B
|
|
A --- answer -> B
|
|
B: got answer from A, set it as remote description
|
|
B: remote answer set
|
|
PASS pcB.signalingState is 'stable'
|
|
PASS pcB.pendingLocalDescription is null
|
|
PASS pcB.currentLocalDescription is an instance of RTCSessionDescription
|
|
PASS pcB.pendingRemoteDescription is null
|
|
PASS pcB.currentRemoteDescription is an instance of RTCSessionDescription
|
|
|
|
PASS Second offer/answer dialog completed
|
|
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|