blob: 356184e3b5e6dbf75e148f89f0a5be47aba36613 [file] [log] [blame]
/**
* Copyright 2014 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* Queries for media devices on the current system using the getMediaDevices
* API.
*
* Returns the list of devices available.
*/
function getMediaDevices() {
navigator.getMediaDevices(function(devices) {
returnToTest(JSON.stringify(devices));
});
}
/**
* Queries for media sources on the current system using the getSources API.
*
* Returns the list of sources available.
*/
function getSources() {
MediaStreamTrack.getSources(function(sources) {
returnToTest(JSON.stringify(sources));
});
}
/**
* Queries for video input devices on the current system using the
* getSources API.
*
* This does not guarantee that a getUserMedia with video will succeed, as the
* camera could be busy for instance.
*
* Returns has-video-input-device to the test if there is a webcam available,
* no-video-input-devices otherwise.
*/
function hasVideoInputDeviceOnSystem() {
MediaStreamTrack.getSources(function(devices) {
var hasVideoInputDevice = false;
devices.forEach(function(device) {
if (device.kind == 'video')
hasVideoInputDevice = true;
});
if (hasVideoInputDevice)
returnToTest('has-video-input-device');
else
returnToTest('no-video-input-devices');
});
}