MCPcopy Create free account
hub / github.com/Wscats/chrome-devtools-cli / generateEBML

Function generateEBML

src/__tests__/MediaStreamRecorder.js:2462–2493  ·  view source on GitHub ↗
(json)

Source from the content-addressed store, hash-verified

2460 }
2461
2462 function generateEBML(json) {
2463 var ebml = [];
2464 for (var i = 0; i < json.length; i++) {
2465 var data = json[i].data;
2466
2467 if (typeof data === 'object') {
2468 data = generateEBML(data);
2469 }
2470
2471 if (typeof data === 'number') {
2472 data = bitsToBuffer(data.toString(2));
2473 }
2474
2475 if (typeof data === 'string') {
2476 data = strToBuffer(data);
2477 }
2478
2479 var len = data.size || data.byteLength || data.length;
2480 var zeroes = Math.ceil(Math.ceil(Math.log(len) / Math.log(2)) / 8);
2481 var sizeToString = len.toString(2);
2482 var padded = (new Array((zeroes * 7 + 7 + 1) - sizeToString.length)).join('0') + sizeToString;
2483 var size = (new Array(zeroes)).join('0') + '1' + padded;
2484
2485 ebml.push(numToBuffer(json[i].id));
2486 ebml.push(bitsToBuffer(size));
2487 ebml.push(data);
2488 }
2489
2490 return new Blob(ebml, {
2491 type: 'video/webm'
2492 });
2493 }
2494
2495 function toBinStrOld(bits) {
2496 var data = '';

Callers 1

ArrayToWebMFunction · 0.85

Calls 3

bitsToBufferFunction · 0.85
strToBufferFunction · 0.85
numToBufferFunction · 0.85

Tested by

no test coverage detected