| Index: content/test/data/media/mediarecorder_test.html
|
| diff --git a/content/test/data/media/mediarecorder_test.html b/content/test/data/media/mediarecorder_test.html
|
| index 72a707f5f6738f5cefc51d4dd2ee2f5d56253069..8eecbcbcd87b8d5170a7c584316fced970191851 100644
|
| --- a/content/test/data/media/mediarecorder_test.html
|
| +++ b/content/test/data/media/mediarecorder_test.html
|
| @@ -165,16 +165,36 @@ function testStartStopAndRecorderState() {
|
| });
|
| }
|
|
|
| +function getConstraintsForDevice(deviceLabel) {
|
| + return new Promise(function(resolve, reject) {
|
| + navigator.mediaDevices.enumerateDevices()
|
| + .then(function(devices) {
|
| + for (var i = 0; i < devices.length; ++i) {
|
| + if (deviceLabel == devices[i].label) {
|
| + return resolve({video:{deviceId: {exact: devices[i].deviceId}}});
|
| + }
|
| + }
|
| + console.error("Expected to have a device with label:" + deviceLabel);
|
| + resolve(null);
|
| + });
|
| + });
|
| +}
|
| +
|
| // Tests that when MediaRecorder's start() function is called, some data is
|
| // made available by media recorder via dataavailable events, containing non
|
| // empty blob data.
|
| -function testStartAndDataAvailable(codec) {
|
| +function testStartAndDataAvailable(codec, deviceLabel) {
|
| var videoSize = 0;
|
| var emptyBlobs = 0;
|
| var timeStamps = [];
|
| - const mimeType = codec ? "video/webm;codecs=" + String(codec) : "";
|
| - navigator.mediaDevices.getUserMedia(DEFAULT_CONSTRAINTS)
|
| + var mediaConstrains = deviceLabel ? getConstraintsForDevice(deviceLabel) :
|
| + Promise.resolve(DEFAULT_CONSTRAINTS);
|
| +
|
| + mediaConstrains.then(function(constraints) {
|
| + return navigator.mediaDevices.getUserMedia(constraints);
|
| + })
|
| .then(function(stream) {
|
| + const mimeType = codec ? "video/webm;codecs=" + String(codec) : "";
|
| return createAndStartMediaRecorder(stream, mimeType);
|
| })
|
| .then(function(recorder) {
|
|
|