1
0
mirror of synced 2026-08-06 03:26:55 +00:00
Commit Graph

80 Commits

Author SHA1 Message Date
Borewit c619ac4a5a Replace text-coded with @exodus/bytes for text encoding and decoding 2026-02-21 16:13:00 +01:00
Borewit af6caa7738 Improve MP4 bitrate calculation
Avoid using bitrate using `mdat` box, which could contain multiple streams
2025-11-23 12:25:29 +01:00
Borewit 1944b80e8c Fix bitrate calculation over multiple mdat boxes 2025-11-19 21:50:04 +01:00
Borewit 65e6146668 Add support Apple’s QuickTime File Format 2025-11-09 14:14:54 +01:00
Borewit 044e565de8 Update Biome to 2.3.4 2025-11-09 14:10:39 +01:00
Borewit 95c35ff566 Update Biome to 2.2.0 2025-08-19 12:28:41 +02:00
Borewit 06d83b2e7a Fix missing uint8array-extras dependency 2025-08-19 12:09:40 +02:00
Borewit 763f72854c Replace @kayahr/text-encoding with @borewit/text-codec 2025-08-13 21:48:37 +01:00
Borewit a5bc776e6d Remove uint8array-extras dependency
Remove `uint8array-extras` dependency in favour of having the same TextEncoder everywhere.
2025-08-13 09:58:54 +01:00
Borewit d3bfd7ae4e Use @kayahr/text-encoding for decoding
To avoid problems with unsupported character sets.
2025-08-12 20:39:42 +01:00
Borewit a9094e9829 Indicate on every media file if it contains an audio and/or video stream.
Introduces: `format.hasAudio` and `format.hasVideo`
2025-06-30 17:33:09 +02:00
Borewit b16866e666 Add support for MP4 fragments
Add support to decode `moof`, `traf`, `tfhd`, and `trak` boxes
2025-06-26 20:52:44 +02:00
Borewit f16f584b0b Fix code style issues 2025-06-26 20:24:05 +02:00
Jigz 9b060708e1 Fix lint failures 2025-04-14 21:35:42 +02:00
Jigz 88df50fa2d Fix format 2025-04-14 21:35:42 +02:00
Jigz bb1fd459e0 Add start time of each chapter 2025-04-14 21:35:42 +02:00
Borewit 5e93e8e1d8 Move supported MIME-types declaration to parser implementations 2025-04-10 18:24:45 +02:00
Justinas Delinda 7fc74efc5b simplify parser loader 2025-04-01 20:01:38 +02:00
Justinas Delinda 7ff2786318 Refactor constructors to use explicit property assignments 2025-04-01 19:57:20 +02:00
Borewit ca306bfc1e Fix size in 'stst' box and handle sample description entry 2025-01-24 21:52:09 +01:00
Borewit 75096ebf41 Minor code style fix 2025-01-20 20:32:01 +01:00
Borewit 4456defc99 Dynamic import parsers 2024-09-05 20:25:18 +02:00
Borewit f04f3ed411 Fix bug which can occur when processing an MP4 file, with an atom using an extended header size 2024-09-05 19:50:36 +02:00
Borewit 8fe9ac2057 Implement own custom Error using ADT style implementation 2024-08-29 17:48:28 +02:00
Borewit 3937085154 Enable TypeScript options strict & verbatimModuleSyntax 2024-08-12 08:54:43 +02:00
Borewit 89ff43a053 Migrate eslint to biome, fix lint errors 2024-08-08 19:15:49 +02:00
Borewit d6c275509d Remove remaining Buffer usages.
Add lint rule to prevent global Buffer usage.
2024-07-12 12:01:12 +02:00
Borewit 594e128ba5 Remove Node.js Buffer dependencies 2024-07-09 21:57:28 +02:00
Borewit 573c505a84 Prevent subpath imports, for Angular compatibility 2024-07-09 21:26:38 +02:00
Bjorn Stromberg eb0f8e61b8 feat: convert most Buffer usage to Uint8Array (#2103)
Convert most Buffer usage to Uint8Array and `uint8array-extras` to fill functionality gaps
* Update `token-types` to version 6.0.0
* Update `strtok3`  to version 7.1.0
* Update `file-type` to version 19.1.0
* Update dependency diagram to desired Node.js free via primary entry point

Co-authored-by: Borewit <Borewit@users.noreply.github.com>
2024-07-08 19:53:02 +02:00
Borewit cf709dd5ab Correction on rate MP4 implementation 2023-11-07 20:21:02 +01:00
Borewit c07debb399 Add support for MP4 (M4A) rating support via the moov.udta.meta.ilst.rate atom (box) 2023-11-07 20:17:22 +01:00
certuna 1b3a07496d Update MP4TagMapper.ts 2023-11-01 12:05:06 +01:00
Borewit 9ff9d8774e MP4 parser: calculate duration using time-to-sample-table 2023-11-01 11:14:32 +01:00
Borewit 586b857658 Ability to handle MP4 meta atom without 4 bytes padding
Workaround for issue #1390
2023-01-11 21:49:29 +01:00
Borewit 740992b1e3 Merge remote-tracking branch 'origin/master' into es-module
# Conflicts:
#	.github/workflows/nodejs-ci.yml
#	package.json
#	test/test-file-matroska.ts
#	yarn.lock
2022-08-02 21:21:58 +02:00
Borewit 79da8f4bd2 Correct bigint type 2022-07-04 12:57:08 +02:00
Borewit 7cdebd1ca6 Migrate from CommonJS to ES Modules 2022-02-27 15:27:40 +01:00
Borewit 65ba6661fa Normalize import debug towards ES module compatibility 2022-02-27 13:28:45 +01:00
Borewit 19366b896c Fix lint code style issues
Parse TypeScript files recursive.
Fix duplicate interface declarations.
2022-01-29 19:02:24 +01:00
Borewit 5ae7f3817d Minor source code improvements 2021-12-10 17:50:09 +01:00
Borewit 2923a8be25 MP4 decoder: Replace Buffer with Uint8Array in integer decoding
Improve unit test: replace `Buffer` with `Uint8Array`.

Fix: Borewit/music-metadata#877, Borewit/audio-tag-analyzer#563
2021-08-04 11:52:06 +02:00
Borewit 973e90978c Use Uint8Array instead of Buffer where reasonable possible 2021-07-22 15:34:01 +02:00
Borewit a3c1e218c9 Update token-types to v3 utilizing BigInt
BigInt requires Node version 10, updated module engine API requirement.
Update strtok3 to v6.1.0 to allign the dependent token-types version.
2021-07-11 07:39:31 +02:00
Borewit 892dab3b03 Borewit/music-metadata#749: Handle box (atom) with 0 length. 2021-02-06 20:35:34 +01:00
Borewit 63e0f29093 Borewit/music-metadata#744: Fix MP4 audio track selection. 2021-02-04 20:19:00 +01:00
Borewit abbaafd18c Get rid of assert dependency. 2021-01-10 21:10:25 +01:00
Borewit fa80ad3211 Extract MP4 creation and modification time 2021-01-02 19:32:22 +01:00
Borewit de850e76c1 Replace switched with mapped functions on their atom name. 2021-01-02 07:38:33 +01:00
Borewit 94112e3c06 Remove unused files & move WaveParser to wav package 2020-12-30 15:17:35 +01:00