Martchus
214c8eecb3
Don't emit warning about zero-bytes for designated padding
2020-11-26 23:11:22 +01:00
Martchus
5f39e377dc
Use std::size_t consistently
2020-11-25 17:54:30 +01:00
Martchus
9a5d366ce0
Vorbis comment: Turn "YEAR" into "DATE" (unless "DATE" exists)
...
"DATE" is an official field and "YEAR" only an inofficial one but present
in some files. In consistency with MediaInfo and VLC player it is treated
like "DATE" here.
2020-11-25 01:39:57 +01:00
Martchus
cce1e2f96d
Apply clang-format
2020-11-14 22:58:55 +01:00
Martchus
9569065fb4
Improve reading MPEG audio info
...
* Skip empty frames
* Improve error messages
2020-11-14 22:58:40 +01:00
Martchus
32e3cd9593
Fix computing MPEG audio frame size
2020-11-14 22:56:47 +01:00
Martchus
c583b3984f
Take slot size into account when calculating MPEG audio frame size
2020-11-14 22:54:33 +01:00
Martchus
41184e704d
Improve skipping padding
...
* Skip up to 0x800 bytes
* Skip zero bytes also if there are less than four consecutive zero bytes
remaining
2020-11-14 22:52:27 +01:00
Martchus
e7ce9e7ced
Improve documentation
2020-11-05 19:52:09 +01:00
Martchus
2cdcb9e6b2
Merge pull request #14 from Martchus/enhance-format-description
...
Enhance track description
2020-10-01 21:01:34 +02:00
Martchus
3a0b6c24dd
Include more details into track description
...
* Usually the profile and level are interesting and don't take much space
* Add also a short description if it is too long after all
2020-10-01 19:58:03 +02:00
Martchus
30f233377f
Include AVC profiles in abbreviations
...
One can still unset sub if it is too much detail.
2020-10-01 19:33:42 +02:00
Martchus
16f4d2165c
Do not incorrectly abbreviate MPEG-4 ASP as H.263
...
Unlike MPEG-4 AVC and H.264, MPEG-4 ASP and H.263 are not identical.
2020-10-01 19:09:01 +02:00
Martchus
965ee4ab4b
Adapt tests to recent changes
2020-04-26 22:22:29 +02:00
Martchus
44fea6c8c2
Omit default components when formatting date time
...
It just looks nicer to have e.g. "2017" instead of "2017-01-01T00:00:00".
The ID3v2.4.0 standard and the Matroska standard explicitely allow this
format as well.
2020-04-26 21:45:20 +02:00
Martchus
13a87b473d
Improve documentation
2020-04-24 23:15:30 +02:00
Martchus
d26e594777
Deprecate 'Year' in favor of 'RecordDate' and 'ReleaseDate', fix handling in ID3v2
...
1. Convert TYER and related fields of old ID3v2 versions to the new TDRC
field and only expose that via the generic accessors.
2. When writing an old ID3v2 tag, convert TDRC back to the old fields.
3. One can still manually unset the via 1. auto-populated TDRC to disable 2.
and write the old fields directly. So the automatic handling does not
reduce the flexibility of the library.
4. Deprecate 'Year'; it is replaced by the already existing 'RecordDate'
which is now supposed to be used everywhere where 'Year' was used before
5. Introduce 'ReleaseDate' to support this field which is supported in
ID3v2.4.0 and Matroska via the generic accessors.
6. Use ISO format when converting tag values of the type DateTime to/from
string. This is closer to what's used in ID3v2 tags internally. (The
library still allows the old format as fallback when parsing for
compatibility.)
2020-04-24 23:15:13 +02:00
Martchus
a7d359df81
Fix warnings about empty expression statements
2020-04-22 22:49:40 +02:00
Martchus
0d4d3da41e
Add script to update enum comments
2020-04-22 22:09:00 +02:00
Martchus
0e66b34d48
Add human readable representation of certain IDs as comments
2020-04-22 22:08:02 +02:00
Martchus
6c8f237087
Show warning when reading/writing ID3v2 frames not matching the tag version
2020-04-22 19:48:27 +02:00
Martchus
c9e0f82519
Add missing exports in id3v2frameids.h
2020-04-22 19:15:54 +02:00
Martchus
8f3eae59f1
Add more time-related ID3v2 IDs
2020-04-22 19:14:34 +02:00
Martchus
248a6555f3
Add links to upstream documentation of field IDs for the different formats
2020-04-22 18:43:41 +02:00
Martchus
25b567913b
Detect Dolby Digital Plus in Matroska files
2020-03-18 17:48:23 +01:00
Martchus
fb4633ad36
Add specific diag msg when abort saveing mkv while parsing orig file
2019-12-30 23:53:53 +01:00
Martchus
40a96c1fd4
Use 64 KiB buffer to copy file elements
2019-12-30 23:51:54 +01:00
Martchus
b2c02e9acc
Fix childs -> children
2019-12-30 22:54:11 +01:00
Martchus
49798ae3a8
Improve wording in Mp4Container
2019-12-15 19:44:44 +01:00
Martchus
eabc9c4438
Use 'override' in all TestFixture classes
2019-12-15 19:44:07 +01:00
Martchus
7043c3d2a9
Don't suppress IO errors when writing files
...
* Close or flush streams explicitely so writing is not
deferred
* to catch errors in the right place
* to avoid suppressing errors completely when writing
would be deferred to the destructor invocation
* Improve comments
2019-12-15 19:43:16 +01:00
Martchus
a59a01cfe9
Prevent warning when adding album artist to MP4
...
Prevents "making MP4 tag field aART: It was not possible to
find an appropriate raw data type id. UTF-8 will be assumed."
2019-10-09 18:03:34 +02:00
Martchus
9299c58c22
Detect VP9 in MP4
2019-09-25 22:05:25 +02:00
Martchus
eb9ab514eb
Detect Opus and FLAC in MP4
2019-09-25 21:52:44 +02:00
Martchus
fe67abcfeb
Fix old namespaces being mentioned in the documentation
2019-09-04 18:47:54 +02:00
Martchus
6e9b39726d
Add conversion from ISO-639-2/B codes to language names
2019-08-17 20:56:09 +02:00
Martchus
2725bad686
Add options for TagValue comparison
...
* Support case-insensitive comparision
* Allow ignoring meta-data
2019-08-12 20:24:27 +02:00
Martchus
85eb71cd20
Use helper for flag enum from c++utilities
2019-08-12 20:22:57 +02:00
Martchus
b09e7535bc
Support lyrics in Vorbis/FLAC
2019-08-12 00:29:08 +02:00
Martchus
53fd299a10
Set project() on top-level
...
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:08:53 +02:00
Martchus
86b980f609
Apply clang-format
2019-06-20 22:56:59 +02:00
Martchus
4ad9ceb68c
Fix warning in AacSbrInfo
2019-06-20 22:56:49 +02:00
Martchus
c8973c742c
Remove unused functions of MatroskaSeekInfo
2019-06-17 19:11:20 +02:00
Martchus
480857b1b6
Parse "SeekHead" elements referenced by "Seek" elements
...
Follow at least one level of indirection by default
2019-06-17 19:11:00 +02:00
Martchus
0c2056c2f9
Refactor WaveFormatHeader::parse()
2019-06-16 18:06:31 +02:00
Martchus
48ee8023b2
Remove useless remarks
2019-06-16 18:04:31 +02:00
Martchus
ed816a322d
Rename Id2v2 frame ID "grouping" to "albumArtist"
2019-06-16 17:45:49 +02:00
Martchus
0af4044a50
Remove deprecated functions of Id3v2Frame
2019-06-16 17:43:58 +02:00
Martchus
df9d869911
Fix const-corretness in Id3Genres::genreNames()
2019-06-16 17:42:14 +02:00
Martchus
8e71612cac
Fix types in out-commented code
2019-06-16 17:41:48 +02:00