6fb34ec3b3
Update copyright date
2024-01-23 00:28:19 +01:00
33327390e9
Add Vorbis comment IDs for total number of tracks/disks/parts
2023-12-29 17:12:20 +01:00
7f3d4c5751
Add ID3v2 frame definitions for publisher web page and user defined URLs
2023-12-29 17:07:14 +01:00
b1bca85ef4
Support publisher webpage in Vorbis comments
2023-12-29 16:50:41 +01:00
0f669c88a7
Bump minor version
2023-12-29 16:50:19 +01:00
1df871870b
Map the publisher field for Vorbis comments
2023-12-29 15:57:51 +01:00
909a3ee98a
Improve comments in Matroska container code
2023-10-31 21:27:17 +01:00
5aef3f84ee
Bump patch version
2023-10-31 20:07:02 +01:00
56ccd3da80
Use auto-syntax in places touched by previous commit consistently
2023-10-31 20:06:38 +01:00
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
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
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
f2e97b9899
Fix skipping TOC field of Xing header
2023-08-19 01:09:22 +02:00
db5e1f2c8c
Fix check for presence of frame field in Xing header
2023-08-19 00:44:43 +02:00
04795f957f
Fix setting writing app name after allowing to preserve it
2023-08-09 23:26:34 +02:00
c0e9f9bf83
Fix condition for preserving muxing/writing app
2023-08-09 23:17:26 +02:00
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
f5497fb300
Allow setting position/total of PositionInSet
2023-08-01 00:24:28 +02:00
f7941d442f
Fix typo
2023-07-30 14:40:15 +02:00
03f9698269
Expose tagDataTypeString()
2023-07-29 16:02:14 +02:00
8a6cffad95
Bump minor version
2023-07-29 16:02:14 +02:00
54a87cd32c
Avoid CMake deprecation warning by bumping version
2023-07-23 20:59:19 +02:00
92345027fb
Use generic toInt()
function which relies less on compiler optimizations
2023-05-18 00:52:28 +02:00
90cace1e95
Fix computation of effective size when APE tag is present at end of file
2023-05-18 00:41:35 +02:00
6eab8b8718
Log the mismatching sizes when XING header mismatches real size
2023-05-18 00:37:59 +02:00
a5ab3ed1b2
Avoid abusing OggPage header flags to store whether last segment unconcluded
2023-05-16 23:18:27 +02:00
5745632af7
Move maxFullParseSize()
to MediaFileInfo
as non-static member
2023-05-16 23:11:53 +02:00
6f321b7b00
Fix typo in ContainerFormat enum
2023-05-16 23:00:32 +02:00
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
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
8ad28f857b
Allow extending important classes without ABI break
...
This allows to make ABI breaks less often while still
being able to extend many aspects of the library.
2023-05-16 22:20:48 +02:00
6ed968f5e6
Update major version to 12
2023-05-16 22:00:35 +02:00
a167e0702e
Ignore iso_639-2.json
2023-05-11 22:59:09 +02:00
405631625f
Fix typo
2023-05-08 11:15:53 +02:00
6fb16d72eb
Avoid unqualified call to std::strncpy()
2023-05-07 21:45:47 +02:00
111d6190cb
Avoid some of the warnings from MSVC
2023-05-07 21:45:15 +02:00
0a2b948f26
Detect APE tags, emit according messages and update README
...
It is likely not worth adding support for APE tags at this point.
However, it still makes sense to acknowledge the presence of them
despite not being actually supported to avoid possible confusion.
With this change, APE tags at the beginning of the file will be
dropped when applying changes as the container offset is updated
when skipping the tag. I suppose that makes sense considering
putting those tags at the beginning is not recommended anyways.
The diag messages and README have been updated accordingly.
2023-05-06 13:04:01 +02:00
9e4d221bb1
Bump minor version
2023-05-06 12:51:16 +02:00
ea6b474e8c
Add container format name for ID3v2
2023-05-06 11:12:08 +02:00
10a6b10658
Fix typos
2023-05-06 11:07:31 +02:00
25166e4cb4
Bump patch version
2023-05-06 11:00:52 +02:00
7d9d5c8408
Detect zstd compressed files
2023-03-05 22:37:14 +01:00
21edf75047
Ease setting up build by downloading iso_639-2.json automatically
2023-03-04 19:00:24 +01:00
d80736743b
Use pubsetbuf
only with libstdc++
...
This usage of the function seems only to work as intended with that
standard lib. With `libc++` and the MSVC standard lib the call has no
effect.
2023-02-28 21:06:52 +01:00
981db492e4
Avoid unqualified calls to std::move
2023-02-20 19:54:42 +01:00
15d74bbfb0
Add media format entry for H.266
2023-02-18 21:43:16 +01:00
3272d9c511
Bump minor version
2023-02-18 21:42:38 +01:00
522aa4359e
Avoid use of platform-specific unistd.h
header
2023-02-11 13:55:04 +01:00
cb93d6900c
Apply clang-format
2023-02-03 13:31:40 +01:00
a9c4bca679
Fix broken doc comment
2023-02-03 12:45:44 +01:00