Commit Graph

33 Commits

Author SHA1 Message Date
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 def74db180 Prefer pixel size over display size when computing 'XXXXp' specification 2021-12-07 21:30:26 +01:00
Martchus c7e95ad8d5 Avoid implicit conversion 2021-04-07 20:53:14 +02: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 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 cce1e2f96d Apply clang-format 2020-11-14 22:58:55 +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 6e9b39726d Add conversion from ISO-639-2/B codes to language names 2019-08-17 20:56:09 +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 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 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 21dc376ad1 Improve documentation 2017-08-17 19:08:54 +02:00
Martchus 5aa5ccb6eb Add method to generate short track description 2017-08-17 19:08:54 +02:00
Martchus 58411bc8c5 Improve subtitle format names and media types 2016-07-11 20:58:12 +02:00
Martchus 2c5d463a9f Improve API doc 2016-06-10 23:08:01 +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 b1eb6faba6 fixed includes 2015-09-06 15:42:18 +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 c5400ba562 return nullptr if MPEG-4 audio channel config is zero (indicating that
it is defined in AOT specific config)
2015-08-01 20:47:26 +02:00
Martchus 9f12607a0d added channel config to AbstractTrack and the implementations 2015-07-31 01:09:41 +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