| 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 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 remoteVideoTrack = remoteStream.getVideoTracks()[0]; | 294 remoteVideoTrack = remoteStream.getVideoTracks()[0]; |
| 295 remoteVideoTrack.enabled = enabled; | 295 remoteVideoTrack.enabled = enabled; |
| 296 } | 296 } |
| 297 | 297 |
| 298 function enableRemoteAudio(peerConnection, enabled) { | 298 function enableRemoteAudio(peerConnection, enabled) { |
| 299 remoteStream = peerConnection.getRemoteStreams()[0]; | 299 remoteStream = peerConnection.getRemoteStreams()[0]; |
| 300 remoteAudioTrack = remoteStream.getAudioTracks()[0]; | 300 remoteAudioTrack = remoteStream.getAudioTracks()[0]; |
| 301 remoteAudioTrack.enabled = enabled; | 301 remoteAudioTrack.enabled = enabled; |
| 302 } | 302 } |
| 303 | 303 |
| 304 function callAndEnsureAudioIsPlaying(beLenient) { | 304 function callAndEnsureAudioIsPlaying(beLenient, constraints) { |
| 305 createConnections(null); | 305 createConnections(null); |
| 306 navigator.webkitGetUserMedia({audio: true, video: true}, | 306 navigator.webkitGetUserMedia(constraints, |
| 307 addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); | 307 addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); |
| 308 | 308 |
| 309 // Wait until we have gathered samples and can conclude if audio is playing. | 309 // Wait until we have gathered samples and can conclude if audio is playing. |
| 310 addExpectedEvent(); | 310 addExpectedEvent(); |
| 311 var onCallEstablished = function() { | 311 var onCallEstablished = function() { |
| 312 // Gather 50 samples per second for 2 seconds. | 312 // Gather 50 samples per second for 2 seconds. |
| 313 gatherAudioLevelSamples(gSecondConnection, 100, 50, function(samples) { | 313 gatherAudioLevelSamples(gSecondConnection, 100, 50, function(samples) { |
| 314 verifyAudioIsPlaying(samples, beLenient); | 314 verifyAudioIsPlaying(samples, beLenient); |
| 315 eventOccured(); | 315 eventOccured(); |
| 316 }); | 316 }); |
| 317 | |
| 318 // (Also, ensure video muting doesn't affect audio). | |
| 319 enableRemoteVideo(gSecondConnection, false); | |
| 320 }; | 317 }; |
| 321 | 318 |
| 322 detectVideoPlaying('remote-view-2', onCallEstablished); | 319 waitForConnectionToStabilize(gFirstConnection, onCallEstablished); |
| 323 } | 320 } |
| 324 | 321 |
| 325 function callAndEnsureAudioTrackMutingWorks(beLenient) { | 322 function callAndEnsureAudioTrackMutingWorks(beLenient) { |
| 326 callAndEnsureAudioIsPlaying(beLenient); | 323 callAndEnsureAudioIsPlaying(beLenient, {audio: true, video: true}); |
| 327 setAllEventsOccuredHandler(function() { | 324 setAllEventsOccuredHandler(function() { |
| 328 // Call is up, now mute the track and check everything goes silent (give | 325 // Call is up, now mute the track and check everything goes silent (give |
| 329 // it a small delay though, we don't expect it to happen instantly). | 326 // it a small delay though, we don't expect it to happen instantly). |
| 330 enableRemoteAudio(gSecondConnection, false); | 327 enableRemoteAudio(gSecondConnection, false); |
| 331 | 328 |
| 332 setTimeout(function() { | 329 setTimeout(function() { |
| 333 gatherAudioLevelSamples(gSecondConnection, 100, 50, function(samples) { | 330 gatherAudioLevelSamples(gSecondConnection, 100, 50, function(samples) { |
| 334 verifyIsSilent(samples); | 331 verifyIsSilent(samples); |
| 335 reportTestSuccess(); | 332 reportTestSuccess(); |
| 336 }); | 333 }); |
| 337 }, 500); | 334 }, 500); |
| 338 }); | 335 }); |
| 339 } | 336 } |
| 340 | 337 |
| 341 function callAndEnsureAudioTrackUnmutingWorks(beLenient) { | 338 function callAndEnsureAudioTrackUnmutingWorks(beLenient) { |
| 342 callAndEnsureAudioIsPlaying(beLenient); | 339 callAndEnsureAudioIsPlaying(beLenient, {audio: true, video: true}); |
| 343 setAllEventsOccuredHandler(function() { | 340 setAllEventsOccuredHandler(function() { |
| 344 // Mute, wait a while, unmute, verify audio gets back up. | 341 // Mute, wait a while, unmute, verify audio gets back up. |
| 342 // (Also, ensure video muting doesn't affect audio). |
| 345 enableRemoteAudio(gSecondConnection, false); | 343 enableRemoteAudio(gSecondConnection, false); |
| 344 enableRemoteVideo(gSecondConnection, false); |
| 346 | 345 |
| 347 setTimeout(function() { | 346 setTimeout(function() { |
| 348 enableRemoteAudio(gSecondConnection, true); | 347 enableRemoteAudio(gSecondConnection, true); |
| 349 }, 500); | 348 }, 500); |
| 350 | 349 |
| 351 setTimeout(function() { | 350 setTimeout(function() { |
| 352 // Sample for four seconds here; it can take a bit of time for audio to | 351 // Sample for four seconds here; it can take a bit of time for audio to |
| 353 // get back up after the unmute. | 352 // get back up after the unmute. |
| 354 gatherAudioLevelSamples(gSecondConnection, 200, 50, function(samples) { | 353 gatherAudioLevelSamples(gSecondConnection, 200, 50, function(samples) { |
| 355 verifyAudioIsPlaying(samples, beLenient); | 354 verifyAudioIsPlaying(samples, beLenient); |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 860 <td><canvas width="320" height="240" id="remote-view-2-canvas" | 859 <td><canvas width="320" height="240" id="remote-view-2-canvas" |
| 861 style="display:none"></canvas></td> | 860 style="display:none"></canvas></td> |
| 862 <td><canvas width="320" height="240" id="remote-view-3-canvas" | 861 <td><canvas width="320" height="240" id="remote-view-3-canvas" |
| 863 style="display:none"></canvas></td> | 862 style="display:none"></canvas></td> |
| 864 <td><canvas width="320" height="240" id="remote-view-4-canvas" | 863 <td><canvas width="320" height="240" id="remote-view-4-canvas" |
| 865 style="display:none"></canvas></td> | 864 style="display:none"></canvas></td> |
| 866 </tr> | 865 </tr> |
| 867 </table> | 866 </table> |
| 868 </body> | 867 </body> |
| 869 </html> | 868 </html> |
| OLD | NEW |