Borewit
c619ac4a5a
Replace text-coded with @exodus/bytes for text encoding and decoding
2026-02-21 16:13:00 +01:00
Borewit
952ceae807
Fix miscalculation Ogg/Vorbis, duration miscalculation
...
Fix miscalculation occurring when Ogg/Vorbis files when the duration option is not explicitly enabled. In that case, the parser performs a partial read of the file and reports the duration based only on the processed portion, resulting in an incomplete value.
Resolves #2518
2026-02-16 19:30:57 +01:00
ma225tq
d1916dea39
test: add test for multiple album artists in FLAC files
2026-02-08 14:15:46 +01:00
ma225tq
6027f894c2
test: add multiple album artists (TPE2) test
...
Verifies that albumartists array is populated from null-separated TPE2 frame values.
2026-02-08 14:15:46 +01:00
glebrock
a3c53f00c8
#2574 : update docs for grouping field to include reference to GP1 frame, update to consistently use strictEqual() in test
2026-02-02 20:18:17 +01:00
glebrock
e191ae87e8
#2574 : add support for correctly populating the 'metadata.common.grouping' field for a file with an Tunes IDv2.2 tag with the 'GP1' frame
2026-02-02 20:18:17 +01:00
Borewit
4909b6fe12
fix(id3v2): prevent crash when no tag frames present
...
Fix TypeError: Cannot read properties of undefined (reading 'filter') by defaulting missing frame/tag collections to empty arrays/objects.
- Add MP3 sample without tags + regression test
- Update related TS configs and dependencies/lockfile
2026-01-28 19:54:25 +01:00
Borewit
8c822709d3
Add ID3v2 chapter support
2026-01-24 19:48:05 +01:00
Borewit
b13fab0e7b
Depend on win-guid for Windows GUID conversion
2026-01-14 18:04:39 +01:00
Borewit
abbe09323d
Improve MP3 parsing code
...
Favor Uint8Array.subarray, over passing offset and length
2026-01-06 13:39:38 +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
9f5f545136
Fix Ogg/Opus duration calculation.
...
Duration calculation requires to parse the entire Ogg/Opus file.
2025-11-15 19:24:15 +01:00
Gérald LEBAN
44f262f011
Add support for vorbis unsynced lyrics ( #2489 )
...
Extract unsynced vorbis lyrics
---------
Co-authored-by: Borewit <Borewit@users.noreply.github.com >
2025-11-09 14:55:57 +01:00
Borewit
65e6146668
Add support Apple’s QuickTime File Format
2025-11-09 14:14:54 +01:00
Borewit
5445cbb816
Support variable length PCNT and POPM numeric values.
...
Add `common.playCounter`
2025-09-15 20:36:21 +02:00
Borewit
180b6641d7
Update Biome to 2.2.4
2025-09-15 17:32:59 +02:00
Borewit
ff13f3e03c
Map Vorbis.ENCODER and Vorbis VORBIS_COMMENT vendor to common.tool
2025-09-15 17:25:37 +02:00
Borewit
95c35ff566
Update Biome to 2.2.0
2025-08-19 12:28:41 +02:00
Borewit
763f72854c
Replace @kayahr/text-encoding with @borewit/text-codec
2025-08-13 21:48:37 +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
fa1ae31926
Skip streaming radio tests in Bun
2025-07-22 01:05:00 +02:00
Borewit
2849deb89e
CI: Improve structure Ogg unit tests
...
- Move an Ogg/Vorbis test to the correct description.
- Move some Ogg files, to the `ogg` subfolder
2025-07-20 13:32:23 +02:00
Borewit
eb17a5ce65
Fix peek Ogg radio streams
2025-07-19 22:14:35 +02:00
Borewit
3b688f1546
Use strtok3.parseBlob()
...
Instead of streaming Blob, uses `Blob.slice()`.
2025-07-17 00:26:37 +02:00
Borewit
121078b757
Add support for Ogg/FLAC
2025-07-03 22:17:42 +02:00
Borewit
1824cc1394
Implement handling multiple Ogg sub streams
2025-07-01 12:34:25 +02: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
Borewit
37d3275875
Remove unused empty file
2025-06-22 12:55:58 +02:00
Borewit
8e30127e92
Add original timestamps to FLAC LRC lyrics test cases
...
Add first appearance of milliseconds timestamp to unit tests
2025-06-14 11:12:06 +02:00
wizcheu
b741378ba4
Add additional FLAC LRC lyrics sync text assertions
...
Expand test coverage by adding assertions for syncText entries at indices 4 and 7, verifying both timestamp and text content for Japanese lyrics parsing.
2025-06-14 11:12:06 +02:00
wizcheu
715cc50bfc
Modifier the sample flac audio file with Lyrics tag value, for example:
...
[00:00.920]歪んだ憂いが飛び交う中で失い失い
[00:06.240]膝をつく道化
[00:08.210]あの蝶は自由になれたかな
[00:11.420]情熱は孤独と燃える
[00:24.395]昨日の自分に興味なんかない
[00:27.744]白黒返す言葉裏表
[00:31.437]常識とか言う偏見を編み込み
[00:34.820]明暗を分かつマジョリティ
2025-06-14 11:12:06 +02:00
Borewit
93be659d8b
Re-enable unit tests test web steam
2025-05-21 10:50:41 +02:00
Borewit
dffc712523
Unit tests: Read file directly as Blob
2025-05-19 16:43:59 +02:00
Jigz
9b060708e1
Fix lint failures
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
Borewit
db239009a2
Improve error handling in case the file is not supported
...
Changes:
- Avoid out of range error, parsing a very small file
- Export errors: `CouldNotDetermineFileTypeError` and `UnsupportedFileTypeError`
- Include the file path in the error message, in case the file path is known
2025-04-02 19:55:38 +02:00
Justinas Delinda
1894acb748
Refactor commonTags structure to use defaultTagInfo for consistency and improve readability
2025-04-01 20:03:49 +02:00
Justinas Delinda
7ff2786318
Refactor constructors to use explicit property assignments
2025-04-01 19:57:20 +02:00
Borewit
ece6d00ef1
Add unit tests for default WHATWG ReadableStream stream
2025-03-08 19:03:59 +01:00
Borewit
98a78ae389
Improve web-stream tests
2025-02-17 21:27:51 +01:00
Borewit
c51ada92c1
Update strtok3 to version 10.2.0.
2025-01-31 13:48:16 +01:00
Borewit
ca306bfc1e
Fix size in 'stst' box and handle sample description entry
2025-01-24 21:52:09 +01:00
Borewit
e972df0ad2
Fix providing skip unit test callback method
2025-01-21 12:03:13 +01:00
Borewit
a49a1da981
Set Mocha test timeout global
2025-01-18 15:53:49 +01:00
Borewit
97e09eab2c
Drop AMR support
2025-01-13 15:25:08 +01:00
Borewit
addcbef51c
Skip web-stream for some expensive tests
2025-01-13 15:04:51 +01:00