diff --git a/lib/transmuxer/ts_transmuxer.js b/lib/transmuxer/ts_transmuxer.js index 6a9e33c230..2af666a3e7 100644 --- a/lib/transmuxer/ts_transmuxer.js +++ b/lib/transmuxer/ts_transmuxer.js @@ -705,7 +705,7 @@ shaka.transmuxer.TsTransmuxer = class { /** @type {?number} */ let baseMediaDecodeTime = null; - let nalus = []; + const nalus = []; const videoData = tsParser.getVideoData(); if (!videoData.length) { throw new shaka.util.Error( @@ -716,7 +716,7 @@ shaka.transmuxer.TsTransmuxer = class { for (let i = 0; i < videoData.length; i++) { const pes = videoData[i]; const dataNalus = pes.nalus; - nalus = nalus.concat(dataNalus); + nalus.push(...dataNalus); const frame = H264.parseFrame(dataNalus); if (!frame) { continue; @@ -797,7 +797,7 @@ shaka.transmuxer.TsTransmuxer = class { /** @type {?number} */ let baseMediaDecodeTime = null; - let nalus = []; + const nalus = []; const videoData = tsParser.getVideoData(); if (!videoData.length) { throw new shaka.util.Error( @@ -808,7 +808,7 @@ shaka.transmuxer.TsTransmuxer = class { for (let i = 0; i < videoData.length; i++) { const pes = videoData[i]; const dataNalus = pes.nalus; - nalus = nalus.concat(dataNalus); + nalus.push(...dataNalus); const frame = H265.parseFrame(dataNalus); if (!frame) { continue; diff --git a/lib/util/uint8array_utils.js b/lib/util/uint8array_utils.js index acf44b4cd5..5e82e62d82 100644 --- a/lib/util/uint8array_utils.js +++ b/lib/util/uint8array_utils.js @@ -107,21 +107,26 @@ shaka.util.Uint8ArrayUtils = class { * @export */ static concat(...varArgs) { + const BufferUtils = shaka.util.BufferUtils; let totalLength = 0; - for (const arr of varArgs) { - totalLength += arr.byteLength; + for (let i = 0; i < varArgs.length; ++i) { + const value = varArgs[i]; + totalLength += value.byteLength; } const result = new Uint8Array(totalLength); let offset = 0; - for (const arr of varArgs) { - if (arr instanceof Uint8Array) { - result.set(arr, offset); + + for (let i = 0; i < varArgs.length; ++i) { + const value = varArgs[i]; + if (value instanceof Uint8Array) { + result.set(value, offset); } else { - result.set(shaka.util.BufferUtils.toUint8(arr), offset); + result.set(BufferUtils.toUint8(value), offset); } - offset += arr.byteLength; + offset += value.byteLength; } + return result; } };