|
@@ -2,33 +2,23 @@ var isFinish = false;
|
|
|
var decodeCount = 0;
|
|
|
var h264Queue = [];
|
|
|
var isFirst = true;
|
|
|
-// var AACdata = ''
|
|
|
var ret = ''
|
|
|
self.Module = {
|
|
|
- onRuntimeInitialized: function() {
|
|
|
+ onRuntimeInitialized: function () {
|
|
|
ret = Module._openDecoder(720, 1280);
|
|
|
if (!ret) {
|
|
|
- isFinish = true;
|
|
|
- console.log("打开编码器成功");
|
|
|
-
|
|
|
+ isFinish = true;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
self.importScripts("ffmpeghelper.js");
|
|
|
|
|
|
-self.addEventListener('message', function(e) {
|
|
|
+self.addEventListener('message', function (e) {
|
|
|
h264Queue.push(e.data);
|
|
|
- var AACdata = e.data
|
|
|
- // console.log("打印音频----")
|
|
|
- if (!ret) {
|
|
|
- console.log("打开编码器成功");
|
|
|
- if (AACdata[0] == 0xff && isFinish)
|
|
|
- {
|
|
|
- // decodeAAC(AACdata);
|
|
|
- } else {}
|
|
|
- }
|
|
|
-
|
|
|
+ $('.leftmains').hide()
|
|
|
+ $('.bottommains').hide()
|
|
|
+ $('#btnMuted').hide()
|
|
|
}, false);
|
|
|
|
|
|
function PrintfLog(str) {
|
|
@@ -45,7 +35,7 @@ function decodeAAC(data) {
|
|
|
var retPtr = Module._malloc(4 * 5 * 1024); //接收的数据
|
|
|
var inputPtr = Module._malloc(4 * data.length); //输入数据
|
|
|
|
|
|
- for (i = 0; i < data.length; i++) {
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
Module.HEAPU8[(inputPtr) + i] = data[i]; //转换为堆数据
|
|
|
}
|
|
|
|
|
@@ -58,8 +48,6 @@ function decodeAAC(data) {
|
|
|
}
|
|
|
|
|
|
player.feed(pcmData);
|
|
|
- } else {
|
|
|
- console.log("%d帧 aac 解码失败, %d", decodeCount, pcmLen);
|
|
|
}
|
|
|
|
|
|
decodeCount++;
|
|
@@ -68,7 +56,7 @@ function decodeAAC(data) {
|
|
|
}
|
|
|
|
|
|
setInterval(
|
|
|
- function() {
|
|
|
+ function () {
|
|
|
if (h264Queue.length > 0 && isFinish) {
|
|
|
if (isFirst) {
|
|
|
PrintfLog("当前队列大小 :" + h264Queue.length);
|
|
@@ -77,7 +65,6 @@ setInterval(
|
|
|
|
|
|
if (h264Queue.length > 10 && isFinish) {
|
|
|
PrintfLog("解不过来 " + h264Queue.length);
|
|
|
- //h264Queue.length = 0;
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -92,7 +79,7 @@ function decodeH264(data) {
|
|
|
var retPtr = Module._malloc(2457600); //接收的数据
|
|
|
var inputPtr = Module._malloc(data.length); //输入数据
|
|
|
|
|
|
- for (i = 0; i < data.length; i++) {
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
Module.HEAPU8[(inputPtr) + i] = data[i]; //转换为堆数据
|
|
|
}
|
|
|
|
|
@@ -100,16 +87,12 @@ function decodeH264(data) {
|
|
|
var ret = Module._feedData(inputPtr, data.length, retPtr);
|
|
|
|
|
|
if (ret >= 0) {
|
|
|
- //console.log("解码成功 %d, 耗时 %d ms", ret, new Date().getTime() - time);
|
|
|
if (decodeCount > 50) {
|
|
|
var curCost = new Date().getTime() - time;
|
|
|
PrintfLog("解码耗时 " + curCost + " ms");
|
|
|
decodeCount = 0;
|
|
|
}
|
|
|
decodeCount++;
|
|
|
- //console.log("解码耗时 %d ms", curCost);
|
|
|
- } else {
|
|
|
- //console.log("解码失败 %d", ret);
|
|
|
}
|
|
|
|
|
|
var yuvData = new Uint8Array(2457600);
|
|
@@ -124,7 +107,6 @@ function decodeH264(data) {
|
|
|
time: curTime
|
|
|
};
|
|
|
self.postMessage(objData);
|
|
|
- //webglPlayer.renderFrame(yuvData, 720, 1280, 720*1280, (720/2)*(1280/2));
|
|
|
Module._free(inputPtr);
|
|
|
Module._free(retPtr);
|
|
|
}
|