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
cb93d6900c
Apply clang-format
2023-02-03 13:31:40 +01:00
Martchus
766e7657b5
Preserve explicitly "undefined" language of MP4 tracks
2023-01-02 19:50:30 +01:00
Martchus
3193df8e3f
Fix reading duration from MP4's track header atom
...
* Skip 4 bytes reserved space correctly
* See https://github.com/Martchus/tageditor/issues/98
2023-01-02 19:16:45 +01:00
Martchus
28abe151fd
Avoid duplicating MP4 epoch
2022-02-16 00:04:09 +01:00
Martchus
503fb725a2
Improve handling time values of MP4 files
...
* Cache result of `verifyPresentTrackHeader()` instead of running the code
unnecassarily multiple times
* Do not tamper with existing/raw values by default to avoid
inconsistencies through rounding errors and possibly fix
https://github.com/Martchus/tageditor/issues/80
* Avoid conversions to double (depending on the time scale rounding errors
might still occur)
2022-02-15 23:22:48 +01:00
Martchus
d19a09db5b
Make `startDate` static as it isn't used in any other units
2022-02-15 21:35:49 +01:00
Martchus
eafe2fa997
Avoid constructor for TrackHeaderInfo
2022-02-15 21:23:29 +01:00
Martchus
d390e8c9cf
Deduplicate code for computing timing values of MP4 track
2022-02-15 21:22:07 +01:00
Martchus
18d054a600
Fix warnings about unused variables
2021-12-05 17:49:54 +01:00
Jonas Kvinge
ea23d71e8a
Fix spelling and typos
2021-07-02 11:12:39 +02:00
Martchus
f5cb2c5cba
Preserve media type of MP4 tracks if media type is unknown
2021-04-09 22:15:44 +02:00
Martchus
0a041f6ad2
Fix warnings
2021-03-20 21:26:25 +01:00
Martchus
65597fd71e
Add API to allow aborting overall/expensive parsing functions
...
* Not really implemented within the various code paths of the parsers at
this point; this commit mainly adds the API.
* Adjust example in README
2021-02-04 23:21:50 +01:00
Martchus
6b469f1c26
Add Locale class to deal with differently specified languages/countries
...
Different media/tag formats specify languages and countries
differently. This change introduces a Locale class to keep track
of the format being used. So far there are no automatic conversions
implemented so it is entirely up to the user to pass valid values using
a format which matches the one required by the media/tag format.
This change also adds support for Matroska's IETF elements so at least the
raw value can be read, written and is preserved.
2020-12-16 17:48:08 +01:00
Martchus
4cc2dbd9e6
Use flags instead of tons of boolean fields in AbstractTrack
2020-12-16 17:48:08 +01:00
Martchus
b2c02e9acc
Fix childs -> children
2019-12-30 22:54:11 +01: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
48ee8023b2
Remove useless remarks
2019-06-16 18:04:31 +02:00
Martchus
c9e1dde70b
Adapt to changes in c++utilities
2019-06-12 20:40:45 +02:00
Martchus
5ad00a083c
Adapt to changes in c++utilities
2019-06-10 23:11:39 +02:00
Martchus
c17db5f2f6
Apply cmake-format and clang-format
2019-05-04 21:03:09 +02:00
Martchus
7efa7a0d5a
Adapt to c++utilities v5
2019-05-04 16:04:21 +02:00
Martchus
f687618002
Reduce compiler warnings in Mp4Track code
2019-04-21 18:18:56 +02:00
Martchus
bfb460d4fd
Preserve empty/zero language in MP4 tracks
2019-04-21 18:15:53 +02:00
Martchus
66895e8e2c
Distinguish text and "meta" tracks in MP4
2019-04-19 21:59:46 +02:00
Martchus
48166bde9e
Prevent updating tkhd atom to version 1 for compatibility
2019-04-19 21:59:42 +02:00
Martchus
8588edaa2e
Write preferably version 0 of mdhd atom for compatibility
2019-04-18 17:56:03 +02:00
Martchus
27d7a182d9
Preserve all child elements within trak element
2019-04-17 17:52:04 +02:00
Martchus
da15530f53
Remove obsolete code
2019-04-16 21:49:16 +02:00
Martchus
2d306b1a5f
Preserve all children of minf atom
...
See https://github.com/Martchus/tageditor/issues/45
2019-04-15 18:21:33 +02:00
Martchus
0024d5e115
Make message about parsing AV1 config not supported an info
...
rather than a critical error
2018-11-08 14:31:35 +01:00
Martchus
60f1288e42
Fix some warnings
2018-08-23 23:20:29 +02:00
Martchus
3332314eb6
Prepare logging errors when parsing AVC config
2018-08-23 23:20:17 +02:00
Martchus
534cb2a6f7
Prepare parsing AV1 config
2018-08-23 23:18:57 +02:00
Martchus
c4adad4297
Detect AV1 in IVF stream
2018-07-28 14:56:00 +02:00
Martchus
e81c6bb169
Implement small TODOs for v8
2018-07-12 12:34:38 +02:00
Martchus
9361e0bc13
Use constexpr where possible
2018-07-12 12:34:38 +02:00
Martchus
93bd1b2814
Don't warn about invalid language when making MP4 track if empty
2018-07-09 15:57:48 +02:00
Martchus
3265e0bea4
Fix documentation which was still using the old namespace
2018-06-03 20:38:32 +02:00
Martchus
0a640c9f7f
Fix warnings, mostly about implicit int conversions
...
This should fix all non-erros, leaving only warnings which
are indeed potential problems.
The following warnings should be safe to ignore:
* Conversions of various offsets from uint64 to
std::streamoff/int64 are safe because such offsets have
been obtained via tellg() and other functions
returning std::streamoff in the first place.
* It also works vice-versa since tellg() should not
return negative offsets with exceptions enabled.
* Conversions from char to unsigned char are also ok.
* Unused diag arguments can be ignored (those might be
useful later).
* Annotate all intended fallthoughs.
2018-06-02 23:04:53 +02:00
Martchus
c0336ed4bb
Apply clang-format
2018-03-07 01:17:50 +01:00
Martchus
a0986ad4a9
Fix style issues
2018-03-07 01:11:42 +01:00
Martchus
efa67d6a1a
Improve siblingById() and subelementByPath()
...
* Use 2 functions instead of flag parameter
* Support const correctness
2018-03-07 00:30:08 +01:00
Martchus
0e15c74103
Move everything into namespace TagParser
2018-03-06 23:09:15 +01:00
Martchus
36511fcc13
Add progress feedback and diagnostics replacing status provider
2018-03-06 22:44:01 +01:00
Martchus
d968b7cfd1
Prevent comparison of signed and unsigned
2017-09-21 23:30:35 +02:00
Martchus
fe5ac296b3
Fix unused lambda capture
2017-09-20 19:39:04 +02:00
Martchus
ba8c9204a9
Fix messing track header of MP4 files (tkhd atom)
2017-09-14 01:37:15 +02:00