<!DOCTYPE html>
<html>
<!--
Copyright 2014 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<head>
<title>Media Stream Video Example</title>
<script type="text/javascript">
var plugin;
var stream;
function handleMessage(message) {
console.log(message);
}
function success(s) {
stream = s;
plugin.postMessage({command: 'init', track: stream.getVideoTracks()[0]});
}
function failure(e) {
console.log(e);
}
function initialize() {
plugin = document.getElementById('plugin');
plugin.addEventListener('message', handleMessage, false);
var constraints = {
audio: false,
video: {
mandatory: {
minWidth: 640,
minHeight: 320,
minFrameRate: 30
},
optional: []
}
};
navigator.webkitGetUserMedia(constraints, success, failure);
}
function changeFormat(format) {
plugin.postMessage({command:'format', format: format});
}
function changeSize(width, height) {
plugin.postMessage({command:'size', width: width, height: height});
}
document.addEventListener('DOMContentLoaded', initialize, false);
</script>
</head>
<body>
<h1>Pepper MediaStream Video API Example</h1><br>
This example demonstrates receiving frames from a video MediaStreamTrack and
rendering them in a plugin.<br>
Left side shows YUV frames. Right side shows BGRA frames.
<embed id="plugin" type="application/x-ppapi-example-media-stream-video"
width="640" height="240"/>
<h2>Format:</h2><br>
<button onclick="changeFormat('YV12')" >YV12</button>
<button onclick="changeFormat('I420')" >I420</button>
<button onclick="changeFormat('BGRA')" >BGRA</button>
<button onclick="changeFormat('DEFAULT')" >DEFAULT</button>
<h2>Size:</h2><br>
<button onclick="changeSize(72, 72)" >72 x 72</button>
<button onclick="changeSize(640, 360)" >640 x 360</button>
<button onclick="changeSize(1280, 720)" >1280 x 720</button>
<button onclick="changeSize(0, 0)" >DEFAULT</button>
</body>
</html>