Commit Graph

37 Commits

Author SHA1 Message Date
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
Martchus 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
Martchus ede94518d0 Add fields to AbstractTrack to support a few more Mkv specs in the future 2022-02-16 00:24:21 +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 64d98f5530 Use std::string_view where it makes sense 2021-01-30 21:53:06 +01:00
Martchus e4a89af3c0 Improve documentation 2020-12-16 17:49:02 +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 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 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +02:00
Martchus 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00
Martchus c4adad4297 Detect AV1 in IVF stream 2018-07-28 14:56:00 +02:00
Martchus 3265e0bea4 Fix documentation which was still using the old namespace 2018-06-03 20:38:32 +02:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +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 5aa5ccb6eb Add method to generate short track description 2017-08-17 19:08:54 +02:00
Martchus 66532353c7 Read track statistics from Matroska tags 2017-06-27 00:36:32 +02:00
Martchus 9b0d74b6ad Implement applying changed track meta-data for Mkv 2017-06-11 22:57:28 +02:00
Martchus b03273da44 Allow setting track meta-data
Currently applying is only implemented for
MP4 tracks (only ID, name and language).
2017-06-06 23:26:20 +02:00
Martchus 4faef55906 Fix writing MP4 chunk-by-chunk
This also involves finally implementing
Mp4Track::makeTrack(). Mp4Track::makeSampleTable()
which would enable modifying stbl atom is still not
fully implemented yet, though.
2017-05-29 00:58:08 +02:00
Martchus 966c0edc2e Allow setting track ID 2017-05-27 02:59:47 +02:00
Martchus 0cf30edbff Fix decoration for static builds 2016-08-29 15:43:05 +02:00
Martchus 58411bc8c5 Improve subtitle format names and media types 2016-07-11 20:58:12 +02:00
Martchus a84ac37dbe Add support for raw FLAC streams 2016-05-16 20:56:53 +02:00
Martchus 488fce3ab8 parsing AVC config 2016-02-17 20:19:05 +01:00
Martchus 7ae0aee4f7 set extension channel config to stereo if PS is present 2015-09-24 01:15:27 +02:00
Martchus aa50c2d8b3 fixed includes 2015-09-06 19:57:33 +02:00
Martchus 3d6c7f33d9 parse audio specific config for AAC tracks in MKV container (exposed API
in Mp4Track to do that)
renamed sampleRate to samplingFrequency
2015-08-13 03:23:28 +02:00
Martchus 9f12607a0d added channel config to AbstractTrack and the implementations 2015-07-31 01:09:41 +02:00
Martchus 1f4800c9be added detection of ADTS files 2015-07-15 00:11:09 +02:00
Martchus a821bb9310 improved doc 2015-07-07 23:03:22 +02:00
Martchus 7106e8650b improved format detection 2015-06-12 02:35:50 +02:00
Martchus 5ceb7891e5 parse FOURCCs found in MKV files 2015-06-11 00:27:34 +02:00
Martchus 43c33adedf improved detection of format of MP4 audio tracks 2015-06-10 01:28:22 +02:00
Martchus c452b009ae improved media format detection; other minor improvements 2015-06-07 00:18:28 +02:00
Martchus 033e313c74 First commit 2015-04-22 19:22:01 +02:00