Commit Graph

55 Commits

Author SHA1 Message Date
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
Martchus 99b177a9ff Handle invalid language for MP4 track better 2017-06-17 00:32:38 +02:00
Martchus f323061767 Apply MP4 track meta-data also when not writing chunk-by-chunk 2017-06-17 00:31:35 +02:00
Martchus b4de493b56 Prevent warning about unused variable 2017-06-11 01:22:30 +02:00
Martchus d8d3fbd487 Enable code for parsing MP4 chunk-offsets from fragments 2017-05-29 00:58:44 +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 c3394acdb2 Fix typos 2017-03-01 18:21:00 +01:00
Martchus 541f14039b Make use of string builder 2017-01-27 18:59:22 +01:00
Martchus 817a8e25e6 Improve documentation and consistency 2016-08-04 00:16:19 +02:00
Martchus cf5b021180 Use workaround for GCC Bug 66145 2016-06-14 22:53:43 +02:00
Martchus ddf9ef02f8 improved handling of unsupported files
additionally:
- added detection for QuickTime files
- minor adjustments
2016-03-14 21:56:27 +01:00
Martchus 19593d4c24 added media format MPEG-4 Timed Text 2016-02-20 01:42:01 +01:00
Martchus 488fce3ab8 parsing AVC config 2016-02-17 20:19:05 +01:00
Martchus 3da8337c6c make use of padding when applying changes to MP4 files 2015-12-21 00:27:44 +01:00
Martchus e7bd2185d5 added properties to control position of tags when writing files 2015-11-07 21:25:37 +01:00
Martchus 7ae0aee4f7 set extension channel config to stereo if PS is present 2015-09-24 01:15:27 +02:00
Martchus faa40944bf changed handling of SBR/PS AAC extension 2015-09-24 00:19:04 +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 8dc85941eb small adjustments 2015-08-10 00:02:03 +02:00
Martchus 9f12607a0d added channel config to AbstractTrack and the implementations 2015-07-31 01:09:41 +02:00
Martchus 09fcb37442 small adjustments 2015-07-27 23:10:35 +02:00
Martchus 1f4800c9be added detection of ADTS files 2015-07-15 00:11:09 +02:00
Martchus 15a03a0029 improved format detection for MP4 tracks 2015-07-13 00:57:38 +02:00
Martchus 78c23779a6 fixed wrong end position in updateChunkOffsets() 2015-07-08 01:15:45 +02:00
Martchus 8618172f81 improved detection of media formats in Matroska and MP4 files 2015-07-07 03:01:48 +02:00