50 Commits

Author SHA1 Message Date
3e1288a68c Added support for informational bits in Mpeg frame header
Copyright, Original, Private, CRC protected, Padding
2024-05-28 01:24:46 +01:00
4b2cbfb384 Cosmetics 2024-05-28 01:23:52 +01:00
2a98464bbe Put id3v1 genre_id in brackets as seen with id3v2 2024-05-27 23:53:08 +01:00
c54e75a899 Show error for invalid LAYER/CODEC versions 2024-05-27 23:46:04 +01:00
9b92776607 Differentiate btw id3v1.0 and id3v1.1 2024-05-27 23:45:35 +01:00
0ef2575001 Fix Mpeg frame verification 2024-05-27 23:44:54 +01:00
5b8e15a1e0 Fix Mpeg frame sync detection 2024-05-27 23:44:22 +01:00
c387953040 Optimise parsing of id3v2 flags 2024-05-27 20:56:20 +01:00
3184973867 Optimise searching for Mpeg frame 2024-05-27 20:55:51 +01:00
2a16b836b7 Return payload size for ID3v2 tags 2024-05-27 20:55:22 +01:00
38a962cbdc Style changes 2024-05-27 20:54:44 +01:00
3ff00fde72 Rename Syncsafe to Synchsafe according to spec 2024-05-27 20:53:50 +01:00
c98606734a Set filename and size in Mp3Info object 2024-05-27 20:53:03 +01:00
a3fddb495d Optimise id3v2.4 comment parsing 2024-05-27 20:04:43 +01:00
37bc9d5ec6 Optimise id3v2 header parsing 2024-05-27 20:04:23 +01:00
d474f40403 Helper for Syncsafe size values 2024-05-27 20:03:14 +01:00
c0d64e81aa Minor style optimisations 2024-05-27 20:01:29 +01:00
4de63bd94b Proper TXXX tag handling
TXXX consists of description and value. Descriptions should be unique, but rarely are. This now parses them into TXXX:<description> and turns it into an array if multiple tags are found.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 16:20:49 +01:00
d6977ef4dc Fix ID3v2 frame size calculation
Frame size uses 7-out-of-8-Bits notation.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 15:28:22 +01:00
48edb42c1e Fix isValidAudio()
Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 13:49:41 +01:00
120617847c Fix cover retrieval
Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 13:05:30 +01:00
3699fd5ecb Add separate classes for local and remote file access
Improves parsing of remote files by using HTTP Range requests so it doesn't have to download the whole file.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-26 14:15:17 +01:00
wapmorgan
f4e3b0d606 #29 Fix invalid short_description for empty short_description 2023-05-28 21:37:15 +03:00
Sergey
a28101d523
Merge pull request #28 from kesselb/guard-get-cover
fix: add string as return for getCover and make sure to not pass false to fseek
2023-05-28 21:05:37 +03:00
wapmorgan
534c3052d4 #13 #24 Fix invalid duration due to difference in first N frames. Solution: read few frames and compute duration based on the last frame data. 2023-05-28 21:04:09 +03:00
Daniel Kesselberg
c75f4e0a39
fix: add string as return for getCover and make sure to not pass false to fseek
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-05-28 16:33:05 +02:00
wapmorgan
13d1c142a7 Fixing #25: implode on php8 2022-06-16 02:39:26 +03:00
Sergey
752935f83a
Merge pull request #22 from shannah/master
Suppress check for valid audio on URLs to fix 'File not present' erro…
2022-02-20 23:25:01 +03:00
Paurakh Sharma Humagain
a4aa368e59
Fix isValidAudio logic for remote URL 2021-11-25 13:42:48 +01:00
Steve Hannah
45c8e67e43 Suppress check for valid audio on URLs to fix 'File not present' errors when passing URLs to constructor. Fixes https://github.com/wapmorgan/Mp3Info/issues/21 2021-11-12 10:12:15 -08:00
wapmorgan
b53a5e9368 Ability to scan remote files (downloads the whole file; #19) and checking file before scanning 2021-08-12 03:38:40 +03:00
wapmorgan
ee86090f0a Fix incorrect VBR-file duration (depending on quality) and add Cover extraction 2021-08-11 21:21:54 +03:00
wapmorgan
7b524fabfe Implement id3v2.4.x reading 2020-05-07 00:22:02 +03:00
wapmorgan
acfbcfb5d2 Fix checking vbr for 2.5 codec 2019-12-03 03:57:41 +03:00
wapmorgan
89fac15d4f update mp3scan & update seeking for mpeg header 2019-12-03 03:35:40 +03:00
wapmorgan
d21f67a9e0 Add $tags list with combined tags. Improve isValidAudio() 2019-12-03 03:27:22 +03:00
wapmorgan
9049767016 Adjust audio duration in case of VBR with present quality 2019-12-03 02:55:12 +03:00
wapmorgan
9a7559e0d4 Fix #5. Fixed invalid duration (+ few seconds) on files with non-popular sample rate. Updated looking for a mpeg header 2019-12-03 02:12:38 +03:00
wapmorgan
3d3bae1424 fix #14 problem 2019-12-02 03:31:14 +03:00
wapmorgan
491bee5706 Add comments 2018-12-15 00:03:35 +03:00
wapmorgan
9d5d136e1b Fix 'missing ending character when utf16 used' by @parzibyte' 2018-11-01 22:59:06 +03:00
ryanrigby17
596b6bf1b0 Update src 2018-09-12 11:39:05 +10:00
ryanrigby17
f4b5dd58e7 Add empty checking for readbytes and headerBytes 2018-09-04 14:20:45 +10:00
wapmorgan
27bb2c55e9 Simple update 2018-08-16 00:50:35 +03:00
Sergey
1f083faf60
Update Mp3Info.php 2018-04-11 19:38:43 +03:00
wapmorgan
0ed1ec7caa Fix scanning mp3-files with padding before audio data 2018-03-19 22:47:12 +03:00
David Lima
9b158b7fdc Fixing 'File not present' exception throw
Current code is throwing a wapmorgan\Mp3Info\Exception, which not exists
Bug fixed by throwing a \Exception instead
2017-05-28 10:16:48 -03:00
wapmorgan
bb70d36d2d Add track and TRCK tags handler 2017-03-01 14:37:35 +03:00
wapmorgan
a0a28c6a57 Fix scanning main id3v2 tags 2017-01-16 02:15:40 +03:00
wapmorgan
b2cad7745b Initiation 2017-01-10 02:42:58 +03:00