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; |
11 var gSecondConnection = null; | 11 var gSecondConnection = null; |
12 var gTestWithoutMsid = false; | 12 var gTestWithoutMsid = false; |
13 var gLocalStream = null; | 13 var gLocalStream = null; |
14 var gSentTones = ''; | 14 var gSentTones = ''; |
15 | 15 |
16 var gRemoteStreams = {}; | 16 var gRemoteStreams = {}; |
17 | 17 |
18 // Default transform functions, overridden by some test cases. | 18 // Default transform functions, overridden by some test cases. |
19 var transformSdp = function(sdp) { return sdp; }; | 19 var transformSdp = function(sdp) { return sdp; }; |
20 var transformRemoteSdp = function(sdp) { return sdp; }; | 20 var transformRemoteSdp = function(sdp) { return sdp; }; |
21 var onLocalDescriptionError = function(error) { failTest(error); }; | 21 var onLocalDescriptionError = function(error) { failTest(error); }; |
22 var onRemoteDescriptionError = function(error) { failTest(error); }; | 22 var onRemoteDescriptionError = function(error) { failTest(error); }; |
23 | 23 |
24 // Temporary measure to be able to force iSAC 16K where needed, particularly | 24 // Temporary measure to be able to force iSAC 16K where needed, particularly |
25 // on Android. This applies to every test which is why it's implemented like | 25 // on Android. This applies to every test which is why it's implemented like |
26 // this. | 26 // this. |
27 var maybeForceIsac16K = function(sdp) { return sdp; }; | 27 var maybeForceIsac16K = function(sdp) { return sdp; }; |
28 function forceIsac16KInSdp() { | 28 function forceIsac16KInSdp() { |
29 maybeForceIsac16K = function(sdp) { | 29 maybeForceIsac16K = function(sdp) { |
| 30 if (sdp.search('m=audio') == -1) |
| 31 return sdp; |
| 32 |
30 sdp = sdp.replace(/m=audio (\d+) RTP\/SAVPF.*\r\n/g, | 33 sdp = sdp.replace(/m=audio (\d+) RTP\/SAVPF.*\r\n/g, |
31 'm=audio $1 RTP/SAVPF 103 126\r\n'); | 34 'm=audio $1 RTP/SAVPF 103 126\r\n'); |
32 sdp = sdp.replace('a=fmtp:111 minptime=10', 'a=fmtp:103 minptime=10'); | 35 sdp = sdp.replace('a=fmtp:111 minptime=10', 'a=fmtp:103 minptime=10'); |
33 if (sdp.search('a=rtpmap:103 ISAC/16000') == -1) | 36 if (sdp.search('a=rtpmap:103 ISAC/16000') == -1) |
34 failTest('Missing iSAC 16K codec on Android; cannot force codec.'); | 37 failTest('Missing iSAC 16K codec on Android; cannot force codec.'); |
| 38 |
35 return sdp; | 39 return sdp; |
36 }; | 40 }; |
37 sendValueToTest('isac-forced'); | 41 sendValueToTest('isac-forced'); |
38 } | 42 } |
39 | 43 |
40 // When using external SDES, the crypto key is chosen by javascript. | 44 // When using external SDES, the crypto key is chosen by javascript. |
41 var EXTERNAL_SDES_LINES = { | 45 var EXTERNAL_SDES_LINES = { |
42 'audio': 'a=crypto:1 AES_CM_128_HMAC_SHA1_80 ' + | 46 'audio': 'a=crypto:1 AES_CM_128_HMAC_SHA1_80 ' + |
43 'inline:PS1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR', | 47 'inline:PS1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR', |
44 'video': 'a=crypto:1 AES_CM_128_HMAC_SHA1_80 ' + | 48 'video': 'a=crypto:1 AES_CM_128_HMAC_SHA1_80 ' + |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
931 <td><canvas width="320" height="240" id="remote-view-2-canvas" | 935 <td><canvas width="320" height="240" id="remote-view-2-canvas" |
932 style="display:none"></canvas></td> | 936 style="display:none"></canvas></td> |
933 <td><canvas width="320" height="240" id="remote-view-3-canvas" | 937 <td><canvas width="320" height="240" id="remote-view-3-canvas" |
934 style="display:none"></canvas></td> | 938 style="display:none"></canvas></td> |
935 <td><canvas width="320" height="240" id="remote-view-4-canvas" | 939 <td><canvas width="320" height="240" id="remote-view-4-canvas" |
936 style="display:none"></canvas></td> | 940 style="display:none"></canvas></td> |
937 </tr> | 941 </tr> |
938 </table> | 942 </table> |
939 </body> | 943 </body> |
940 </html> | 944 </html> |
OLD | NEW |