| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script type="text/javascript" src="webrtc_test_utilities.js"></script> | 3 <script type="text/javascript" src="webrtc_test_utilities.js"></script> |
| 4 <script type="text/javascript" src="webrtc_test_audio.js"></script> | 4 <script type="text/javascript" src="webrtc_test_audio.js"></script> |
| 5 <script type="text/javascript"> | 5 <script type="text/javascript"> |
| 6 $ = function(id) { | 6 $ = function(id) { |
| 7 return document.getElementById(id); | 7 return document.getElementById(id); |
| 8 }; | 8 }; |
| 9 | 9 |
| 10 var gFirstConnection = null; | 10 var gFirstConnection = null; |
| (...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 gFirstConnection.addStream(new_stream); | 620 gFirstConnection.addStream(new_stream); |
| 621 gSecondConnection.addStream(new_stream); | 621 gSecondConnection.addStream(new_stream); |
| 622 negotiate(); | 622 negotiate(); |
| 623 } | 623 } |
| 624 | 624 |
| 625 function negotiate() { | 625 function negotiate() { |
| 626 negotiateBetween(gFirstConnection, gSecondConnection); | 626 negotiateBetween(gFirstConnection, gSecondConnection); |
| 627 } | 627 } |
| 628 | 628 |
| 629 function negotiateBetween(caller, callee) { | 629 function negotiateBetween(caller, callee) { |
| 630 console.log("Negotiating call..."); |
| 630 // Not stable = negotiation is ongoing. The behavior of re-negotiating while | 631 // Not stable = negotiation is ongoing. The behavior of re-negotiating while |
| 631 // a negotiation is ongoing is more or less undefined, so avoid this. | 632 // a negotiation is ongoing is more or less undefined, so avoid this. |
| 632 if (caller.signalingState != 'stable') | 633 if (caller.signalingState != 'stable') |
| 633 throw 'You can only negotiate when the connection is stable!'; | 634 throw 'You can only negotiate when the connection is stable!'; |
| 634 | 635 |
| 635 connectOnIceCandidate(caller, callee); | 636 connectOnIceCandidate(caller, callee); |
| 636 | 637 |
| 637 caller.createOffer( | 638 caller.createOffer( |
| 638 function (offer) { | 639 function (offer) { |
| 639 onOfferCreated(offer, caller, callee); | 640 onOfferCreated(offer, caller, callee); |
| 640 }); | 641 }); |
| 641 } | 642 } |
| 642 | 643 |
| 643 function onOfferCreated(offer, caller, callee) { | 644 function onOfferCreated(offer, caller, callee) { |
| 644 offer.sdp = maybeForceIsac16K(transformSdp(offer.sdp)); | 645 offer.sdp = maybeForceIsac16K(transformSdp(offer.sdp)); |
| 645 caller.setLocalDescription(offer, function() { | 646 caller.setLocalDescription(offer, function() { |
| 646 expectEquals('have-local-offer', caller.signalingState); | 647 expectEquals('have-local-offer', caller.signalingState); |
| 647 receiveOffer(offer.sdp, caller, callee); | 648 receiveOffer(offer.sdp, caller, callee); |
| 648 }, onLocalDescriptionError); | 649 }, onLocalDescriptionError); |
| 649 } | 650 } |
| 650 | 651 |
| 651 function receiveOffer(offerSdp, caller, callee) { | 652 function receiveOffer(offerSdp, caller, callee) { |
| 653 console.log("Receiving offer..."); |
| 652 offerSdp = transformRemoteSdp(offerSdp); | 654 offerSdp = transformRemoteSdp(offerSdp); |
| 653 | 655 |
| 654 var parsedOffer = new RTCSessionDescription({ type: 'offer', | 656 var parsedOffer = new RTCSessionDescription({ type: 'offer', |
| 655 sdp: offerSdp }); | 657 sdp: offerSdp }); |
| 656 callee.setRemoteDescription(parsedOffer); | 658 callee.setRemoteDescription(parsedOffer); |
| 657 callee.createAnswer(function (answer) { | 659 callee.createAnswer(function (answer) { |
| 658 onAnswerCreated(answer, caller, callee); | 660 onAnswerCreated(answer, caller, callee); |
| 659 }); | 661 }); |
| 660 expectEquals('have-remote-offer', callee.signalingState); | 662 expectEquals('have-remote-offer', callee.signalingState); |
| 661 } | 663 } |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 707 } | 709 } |
| 708 | 710 |
| 709 function onAnswerCreated(answer, caller, callee) { | 711 function onAnswerCreated(answer, caller, callee) { |
| 710 answer.sdp = maybeForceIsac16K(transformSdp(answer.sdp)); | 712 answer.sdp = maybeForceIsac16K(transformSdp(answer.sdp)); |
| 711 callee.setLocalDescription(answer); | 713 callee.setLocalDescription(answer); |
| 712 expectEquals('stable', callee.signalingState); | 714 expectEquals('stable', callee.signalingState); |
| 713 receiveAnswer(answer.sdp, caller); | 715 receiveAnswer(answer.sdp, caller); |
| 714 } | 716 } |
| 715 | 717 |
| 716 function receiveAnswer(answerSdp, caller) { | 718 function receiveAnswer(answerSdp, caller) { |
| 719 console.log("Receiving answer..."); |
| 717 answerSdp = transformRemoteSdp(answerSdp); | 720 answerSdp = transformRemoteSdp(answerSdp); |
| 718 var parsedAnswer = new RTCSessionDescription({ type: 'answer', | 721 var parsedAnswer = new RTCSessionDescription({ type: 'answer', |
| 719 sdp: answerSdp }); | 722 sdp: answerSdp }); |
| 720 caller.setRemoteDescription(parsedAnswer); | 723 caller.setRemoteDescription(parsedAnswer); |
| 721 expectEquals('stable', caller.signalingState); | 724 expectEquals('stable', caller.signalingState); |
| 722 } | 725 } |
| 723 | 726 |
| 724 function connectOnIceCandidate(caller, callee) { | 727 function connectOnIceCandidate(caller, callee) { |
| 725 caller.onicecandidate = function(event) { onIceCandidate(event, callee); } | 728 caller.onicecandidate = function(event) { onIceCandidate(event, callee); } |
| 726 callee.onicecandidate = function(event) { onIceCandidate(event, caller); } | 729 callee.onicecandidate = function(event) { onIceCandidate(event, caller); } |
| 727 } | 730 } |
| 728 | 731 |
| 729 function addGiceCredsToCandidate(candidate) { | 732 function addGiceCredsToCandidate(candidate) { |
| 730 return candidate.trimRight() + | 733 return candidate.trimRight() + |
| 731 ' username ' + EXTERNAL_GICE_UFRAG + ' password ' + EXTERNAL_GICE_PWD; | 734 ' username ' + EXTERNAL_GICE_UFRAG + ' password ' + EXTERNAL_GICE_PWD; |
| 732 } | 735 } |
| 733 | 736 |
| 734 function onIceCandidate(event, target) { | 737 function onIceCandidate(event, target) { |
| 735 if (event.candidate) { | 738 if (event.candidate) { |
| 736 var candidate = new RTCIceCandidate(event.candidate); | 739 var candidate = new RTCIceCandidate(event.candidate); |
| 737 candidate.candidate = transformCandidate(candidate.candidate); | 740 candidate.candidate = transformCandidate(candidate.candidate); |
| 738 target.addIceCandidate(candidate); | 741 target.addIceCandidate(candidate); |
| 739 } | 742 } |
| 740 } | 743 } |
| 741 | 744 |
| 742 function onRemoteStream(e, target) { | 745 function onRemoteStream(e, target) { |
| 746 console.log("Receiving remote stream..."); |
| 743 if (gTestWithoutMsid && e.stream.id != "default") { | 747 if (gTestWithoutMsid && e.stream.id != "default") { |
| 744 document.title = 'a default remote stream was expected but instead ' + | 748 document.title = 'a default remote stream was expected but instead ' + |
| 745 e.stream.id + ' was received.'; | 749 e.stream.id + ' was received.'; |
| 746 return; | 750 return; |
| 747 } | 751 } |
| 748 gRemoteStreams[target] = e.stream; | 752 gRemoteStreams[target] = e.stream; |
| 749 var remoteStreamUrl = URL.createObjectURL(e.stream); | 753 var remoteStreamUrl = URL.createObjectURL(e.stream); |
| 750 var remoteVideo = $(target); | 754 var remoteVideo = $(target); |
| 751 remoteVideo.src = remoteStreamUrl; | 755 remoteVideo.src = remoteStreamUrl; |
| 752 } | 756 } |
| (...skipping 26 matching lines...) Expand all Loading... |
| 779 <td><canvas width="320" height="240" id="remote-view-2-canvas" | 783 <td><canvas width="320" height="240" id="remote-view-2-canvas" |
| 780 style="display:none"></canvas></td> | 784 style="display:none"></canvas></td> |
| 781 <td><canvas width="320" height="240" id="remote-view-3-canvas" | 785 <td><canvas width="320" height="240" id="remote-view-3-canvas" |
| 782 style="display:none"></canvas></td> | 786 style="display:none"></canvas></td> |
| 783 <td><canvas width="320" height="240" id="remote-view-4-canvas" | 787 <td><canvas width="320" height="240" id="remote-view-4-canvas" |
| 784 style="display:none"></canvas></td> | 788 style="display:none"></canvas></td> |
| 785 </tr> | 789 </tr> |
| 786 </table> | 790 </table> |
| 787 </body> | 791 </body> |
| 788 </html> | 792 </html> |
| OLD | NEW |