Martchus
986b92bc0e
Show padding found in Ogg files after tags
2024-06-16 22:08:28 +02:00
Martchus
75c2bc20b6
Fix typo in documentation of OggPage
2024-06-16 21:36:34 +02:00
Martchus
ece59d54a9
Improve warnings in Ogg parser further
...
* Improve wording
* Check all pages the tag is contained by
* Check "continued"-flag as well
2024-06-16 21:36:10 +02:00
Martchus
43fac8cb67
Adapt tests to recent changes
2024-06-16 20:08:22 +02:00
Martchus
37bab4f353
Fix condition for code specific to `libstdc++`
2024-06-16 01:18:26 +02:00
Martchus
8c27ac0996
Make message about bytes left in segment after Vorbis comment just an info
...
Mp3tag produces such files and supposedly there's nothing problematic
about it (although also ffmpeg prints a message about it).
2024-06-16 00:48:13 +02:00
Martchus
b6b7ab25c2
Fix setting "continued packet" flag of Ogg pages
2024-06-16 00:45:23 +02:00
Martchus
e9306c3226
Write cover field as last field in Vorbis comments
...
This is also how Mp3tag does it.
2024-06-15 23:24:35 +02:00
Martchus
6f61730809
Extend documentation of `OggIterator::nextSegment()`
2024-06-15 22:57:07 +02:00
Martchus
494416f086
Write preferred padding also when making Ogg files
2024-06-15 22:56:39 +02:00
Martchus
fcc6dee569
Use correct abs granule pos for OGG pages that don't finish packets
...
A special value of '-1' (in two's complement) indicates that no packets
finish on a page. Ignoring this does not seem to lead to any real problems
but `oggz-validate` complains about it.
2024-06-15 22:17:49 +02:00
Martchus
0a40932c9b
Print warning if abs granule position of pages containing tags is wrong
2024-06-15 20:57:19 +02:00
Martchus
e9b11b8d5e
Apply clang-format
2024-06-15 19:32:40 +02:00
Martchus
2a340fc880
Write code for adding OggStream in a more compact way
2024-06-15 19:31:24 +02:00
Martchus
acfb9ef219
Handle TRACKTOTAL/DISCTOTAL/PARTTOTAL fields in Vorbis Comments
...
* Move those fields into their corresponding
TRACKNUMBER/DISCNUMBER/PARTNUMBER fields after parsing so they are
accessible via just one field as PositionInSet which is in line with
other tag formats and also how other software like VLC expect the total
to be specified
* NOT implemented yet: Move those fields optionally back into separate
fields when serializing
2024-02-28 21:36:06 +01:00
Martchus
351e953b83
Avoid empty documentation entry for `EvpMdCtx`
2024-02-28 21:36:06 +01:00
Martchus
8204b2dfde
Apply change of `global.h` template
2024-02-27 01:57:17 +01:00
Martchus
8246d30ec5
Update `global.h` via updated template in c++utilities
2024-01-30 23:32:35 +01:00
Martchus
d48722f26c
Fix unity builds
...
* Define `CHRONO_UTILITIES_TIMESPAN_INTEGER_SCALE_OVERLOADS` consistently
with all necassary changes
* Avoid ambiguity between enum members and certain class/struct names
2024-01-30 23:31:15 +01:00
Martchus
45ab6b17b9
Improve various details of documentation
2024-01-23 00:29:11 +01:00
Martchus
6fb34ec3b3
Update copyright date
2024-01-23 00:28:19 +01:00
Martchus
33327390e9
Add Vorbis comment IDs for total number of tracks/disks/parts
2023-12-29 17:12:20 +01:00
Martchus
7f3d4c5751
Add ID3v2 frame definitions for publisher web page and user defined URLs
2023-12-29 17:07:14 +01:00
Martchus
b1bca85ef4
Support publisher webpage in Vorbis comments
2023-12-29 16:50:41 +01:00
Martchus
0f669c88a7
Bump minor version
2023-12-29 16:50:19 +01:00
Martchus
1df871870b
Map the publisher field for Vorbis comments
2023-12-29 15:57:51 +01:00
Martchus
909a3ee98a
Improve comments in Matroska container code
2023-10-31 21:27:17 +01:00
Martchus
5aef3f84ee
Bump patch version
2023-10-31 20:07:02 +01:00
Martchus
56ccd3da80
Use auto-syntax in places touched by previous commit consistently
2023-10-31 20:06:38 +01:00
Martchus
9f41c30443
Silence/fix GCC's maybe-uninitialized warnings
...
* The warning about `bsEnvCount` is actually correct.
* The warning about `lastAtomToBeWritten` might be correct.
* The warning about `relPos` is definitely unjustified because `relPos` is
only used when `cueRelativePositionElement` is not `nullptr` and `relPos`
is initialized in that case.
* The warnings about `pos`, `nextPageOffset` and `startOfLastMetaDataBlock`
are also wrong for similar reasons.
2023-10-31 20:05:13 +01:00
Martchus
ef0ab3d8c3
Avoid GCC's stringop-truncation warning
...
Not copying the termination character here is wanted. Just use
`std::memcpy` to avoid it as the special behavior of `std::strncpy` is not
needed here anyways.
2023-10-31 19:36:12 +01:00
Martchus
0827002183
Fix duration and bitrate calculation of MP3 files via XING header
...
* Calculate the duration independently of the bitrate which is supposedly
more accurate
* Fix conversion factor for computing bitrate
* Use real size if it differs from size specified in Xing header; this way
the bitrate is consistent with MediaInfo and other tools (there is
possibly still a bug in the way the size is read from the Xing header,
though)
2023-08-21 12:09:07 +02:00
Martchus
f2e97b9899
Fix skipping TOC field of Xing header
2023-08-19 01:09:22 +02:00
Martchus
db5e1f2c8c
Fix check for presence of frame field in Xing header
2023-08-19 00:44:43 +02:00
Martchus
04795f957f
Fix setting writing app name after allowing to preserve it
2023-08-09 23:26:34 +02:00
Martchus
c0e9f9bf83
Fix condition for preserving muxing/writing app
2023-08-09 23:17:26 +02:00
Martchus
e6bb98d6e6
Improve dealing with muxing/writing application of Matroska files
...
* Allow reading the current muxing/writing application
* Allow to preserve the original muxing/writing application instead of
always overriding
2023-08-08 17:18:02 +02:00
Martchus
f5497fb300
Allow setting position/total of PositionInSet
2023-08-01 00:24:28 +02:00
Martchus
f7941d442f
Fix typo
2023-07-30 14:40:15 +02:00
Martchus
03f9698269
Expose tagDataTypeString()
2023-07-29 16:02:14 +02:00
Martchus
8a6cffad95
Bump minor version
2023-07-29 16:02:14 +02:00
Martchus
54a87cd32c
Avoid CMake deprecation warning by bumping version
2023-07-23 20:59:19 +02:00
Martchus
92345027fb
Use generic `toInt()` function which relies less on compiler optimizations
2023-05-18 00:52:28 +02:00
Martchus
90cace1e95
Fix computation of effective size when APE tag is present at end of file
2023-05-18 00:41:35 +02:00
Martchus
6eab8b8718
Log the mismatching sizes when XING header mismatches real size
2023-05-18 00:37:59 +02:00
Martchus
a5ab3ed1b2
Avoid abusing OggPage header flags to store whether last segment unconcluded
2023-05-16 23:18:27 +02:00
Martchus
5745632af7
Move `maxFullParseSize()` to `MediaFileInfo` as non-static member
2023-05-16 23:11:53 +02:00
Martchus
6f321b7b00
Fix typo in ContainerFormat enum
2023-05-16 23:00:32 +02:00
Martchus
60385aa347
Generalize copy functions in GenericFileElement to eventually use sendfile64()
...
Since we're still using `container().stream()` in `copyInternal()` this change
is still not really effective.
2023-05-16 22:58:04 +02:00
Martchus
c5cd20682d
Determine "effective size" via file info instead of track implementations
...
This allows removing duplicated code from the track implementations to take
APE tags into account.
2023-05-16 22:39:26 +02:00