You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.3 KiB

var webglPlayer, canvas, videoWidth, videoHeight, yLength, uvLength;
var player=null;
function handleVideo() {
player = new Worker("Player.js");
startDeviceSession(player);
player.onmessage = function (evt){
var objData = evt.data;
switch (objData.t) {
case kplayeVideoFrame:
webgldisplayVideoFrame(objData.d);
break;
default:
break;
}
}
var req = {
t: kstartPlayerCoderReq,
};
player.postMessage(req);
}
function stopVideo(){
endWebrtc();
endMqtt();
}
var webt1=new Date().getTime();
function webgldisplayVideoFrame(obj) {
var data = new Uint8Array(obj.data);
var width = obj.width;
var height = obj.height;
var yLength = width * height;
var uvLength = (width / 2) * (height / 2);
if(!webglPlayer) {
const canvasId = "playCanvas";
canvas = document.getElementById(canvasId);
webglPlayer = new WebGLPlayer(canvas, {
preserveDrawingBuffer: false
});
}
const t2=new Date().getTime()-webt1;
console.log("display time:"+t2+" width:"+width+" height"+height+" yLength"+yLength+" uvLength"+uvLength);
webglPlayer.renderFrame(data, width, height, yLength, uvLength);
webt1 = new Date().getTime()
}