From 4e190acb3d45b745519d5fe8cbac36ad73c75443 Mon Sep 17 00:00:00 2001 From: Paul Berberian Date: Thu, 2 May 2024 16:34:19 +0200 Subject: [PATCH] Remove duplicate find_complete_box file in transports code --- .../utils/__tests__/find_complete_box.test.ts | 57 ------------------ src/transports/utils/find_complete_box.ts | 58 ------------------- 2 files changed, 115 deletions(-) delete mode 100644 src/transports/utils/__tests__/find_complete_box.test.ts delete mode 100644 src/transports/utils/find_complete_box.ts diff --git a/src/transports/utils/__tests__/find_complete_box.test.ts b/src/transports/utils/__tests__/find_complete_box.test.ts deleted file mode 100644 index a81b057563a..00000000000 --- a/src/transports/utils/__tests__/find_complete_box.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 2015 CANAL+ Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import findCompleteBox from "../find_complete_box"; - -describe("transports utils - findCompleteBox", () => { - it("should return -1 if the box is not found", () => { - const byteArr = new Uint8Array([ - 0, 0, 0, 9, 0x64, 0x67, 0x32, 0x55, 4, 0, 0, 0, 10, 0x88, 0x68, 0x47, 0x53, 12, 88, - ]); - - expect(findCompleteBox(byteArr, 0x75757575)).toEqual(-1); - expect(findCompleteBox(byteArr, 0x99999999)).toEqual(-1); - expect(findCompleteBox(byteArr, 0x99999)).toEqual(-1); - }); - - it("should return its index if the box is found", () => { - const byteArr = new Uint8Array([ - 0, 0, 0, 9, 0x64, 0x67, 0x32, 0x55, 4, 0, 0, 0, 10, 0x88, 0x68, 0x47, 0x53, 12, 88, - ]); - - expect(findCompleteBox(byteArr, 0x64673255)).toEqual(0); - expect(findCompleteBox(byteArr, 0x88684753)).toEqual(9); - }); - - it("should not return a box if it is incomplete", () => { - const byteArr = new Uint8Array([ - 0, 0, 0, 9, 0x64, 0x67, 0x32, 0x55, 4, 0, 0, 0, 10, 0x88, 0x68, 0x47, 0x53, 12, - ]); - - expect(findCompleteBox(byteArr, 0x88684753)).toEqual(-1); - }); - - it("should return a box if a later one is incomplete", () => { - const byteArr = new Uint8Array([ - 0, 0, 0, 9, 0x64, 0x67, 0x32, 0x55, 4, 0, 0, 0, 12, 0x58, 0x58, 0x57, 0x53, 15, 99, - 87, 77, 0, 0, 0, 10, 0x88, 0x68, 0x47, 0x53, 12, - ]); - - expect(findCompleteBox(byteArr, 0x64673255)).toEqual(0); - expect(findCompleteBox(byteArr, 0x58585753)).toEqual(9); - expect(findCompleteBox(byteArr, 0x88684753)).toEqual(-1); - }); -}); diff --git a/src/transports/utils/find_complete_box.ts b/src/transports/utils/find_complete_box.ts deleted file mode 100644 index bfb7b0f2908..00000000000 --- a/src/transports/utils/find_complete_box.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright 2015 CANAL+ Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { be4toi, be8toi } from "../../utils/byte_parsing"; - -/** - * Find the offset for the first declaration of the given box in an isobmff. - * Returns -1 if not found or if incomplete. - * - * This function does not throw or log in case of partial segments. - * @param {Uint8Array} buf - the isobmff - * @param {Number} wantedName - * @returns {Number} - Offset where the box begins. -1 if not found. - */ -export default function findCompleteBox(buf: Uint8Array, wantedName: number): number { - const len = buf.length; - let i = 0; - while (i + 8 <= len) { - let size = be4toi(buf, i); - - if (size === 0) { - size = len - i; - } else if (size === 1) { - if (i + 16 > len) { - return -1; - } - size = be8toi(buf, i + 8); - } - - if (isNaN(size) || size <= 0) { - // should not happen - return -1; - } - - const name = be4toi(buf, i + 4); - if (name === wantedName) { - if (i + size <= len) { - return i; - } - return -1; - } - i += size; - } - return -1; -}