blob: 4aa888e4e509dabdc964bb4f4f5b676ac0301778 [file] [log] [blame]
<!DOCTYPE html>
<html>
<!--
Copyright (c) 2012 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.
-->
<head>
<title>Video Capture Example</title>
<script type="text/javascript">
var device_array = [];
function HandleMessage(message_event) {
if (message_event.data) {
if (message_event.data == 'EnumerationFailed') {
var status = document.getElementById('status');
status.innerText = 'Device enumeration failed!';
} else if (message_event.data == 'OpenFailed') {
var status = document.getElementById('status');
status.innerText = 'Open device failed!';
} else {
device_array = message_event.data.split('#__#');
var list = document.getElementById('device_list');
for (var i = 0; i < device_array.length; ++i) {
var list_item = document.createElement('li');
var link = document.createElement('a');
link.href = 'javascript:UseDesignatedDevice(' + i + ');';
link.innerText = device_array[i];
list_item.appendChild(link);
list.appendChild(list_item);
}
}
}
}
function UseDesignatedDevice(index) {
UseDevice(device_array[index], index);
}
function UseDefaultDevice(use_0_1_interface) {
var display_text = use_0_1_interface ? 'Default(v0.1)' : 'Default';
var command = use_0_1_interface ? 'UseDefault(v0.1)' : 'UseDefault';
UseDevice(display_text, command);
}
function UseDevice(display_text, command) {
var in_use_device = document.getElementById('in_use_device');
in_use_device.innerText = display_text;
var plugin = document.getElementById('plugin');
plugin.postMessage(command);
var available_devices = document.getElementById('available_devices');
available_devices.parentNode.removeChild(available_devices);
var control_panel = document.getElementById('control_panel');
var link = document.createElement('a');
link.href = 'javascript:Stop();';
link.innerText = 'Stop';
control_panel.appendChild(link);
}
function Stop() {
var plugin = document.getElementById('plugin');
plugin.postMessage('Stop');
}
function Initialize() {
var plugin = document.getElementById('plugin');
plugin.addEventListener('message', HandleMessage, false);
plugin.postMessage('PageInitialized');
}
document.addEventListener('DOMContentLoaded', Initialize, false);
</script>
</head>
<body>
<embed id="plugin" type="application/x-ppapi-example-video-capture"
width="320" height="240"/>
<div style="margin-bottom:10px">In-use device:
<span id="in_use_device" style="font-weight:bold">None</span>
</div>
<div id="available_devices">
Available device(s), choose one to open:
<ul id="device_list">
<li><a href="javascript:UseDefaultDevice(true);">
Default - use interface version 0.1</a></li>
<li><a href="javascript:UseDefaultDevice(false);">Default</a></li>
</ul>
</div>
<div id="control_panel"></div>
<div id="status"></div>
</body>
</html>