Commit Graph

286 Commits

Author SHA1 Message Date
Martchus 3924b5f56b Test more methods of MediaFileInfo 2017-08-17 18:44:11 +02:00
Martchus b9fb3c9695 Move test helper in its own namespace 2017-08-17 18:40:34 +02:00
Martchus fd98c5b968 Fix invalidating notifications 2017-08-17 18:19:07 +02:00
Martchus c79e0435fe Extend Size class
* Compute resolution
* Get abbreviation, eg. 1080p
2017-08-17 18:18:10 +02:00
Martchus 78ceef49fb Replace 'inline constexpr' with only 'constexpr' 2017-08-17 18:15:03 +02:00
Martchus e9c923471b Fix ambigious function call 2017-08-11 21:48:39 +02:00
Martchus 555fb53ab8 Improve documentation of MediaFileInfo::createAppropriateTags() 2017-07-28 21:01:28 +02:00
Martchus 66532353c7 Read track statistics from Matroska tags 2017-06-27 00:36:32 +02:00
Martchus c120b117c0 Fix tests 2017-06-19 13:54:23 +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 03383a18b9 Add GenericFileElement::copyPreferablyFromBuffer() 2017-06-17 00:29:49 +02:00
Martchus 6741e9ca0f Set Matroska track meta-data when element not present 2017-06-14 22:46:33 +02:00
Martchus 9b0d74b6ad Implement applying changed track meta-data for Mkv 2017-06-11 22:57:28 +02:00
Martchus b4de493b56 Prevent warning about unused variable 2017-06-11 01:22:30 +02:00
Martchus 8d08314e3b Introduce MatroskaTrackHeaderMaker
First step to implement applying changed track
meta-data for Matroska
2017-06-11 01:21:56 +02:00
Martchus f7ce96f4f9 Add convenience method to find tracks by ID 2017-06-11 01:17:13 +02:00
Martchus 2beb4b02aa Prevent some warnings 2017-06-10 21:47:07 +02:00
Martchus 2a808df3f5 Use argsToString() avoiding numberToString() 2017-06-08 01:26:34 +02:00
Martchus 646fc4d302 Fix TagValue::toInteger() from Latin1/UTF-8 str 2017-06-08 00:48:10 +02:00
Martchus 381d8db895 Fix check for removed tests in Mkv tests 2017-06-07 23:40:02 +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 4e59ed2742 Mind encoding in TagValue::toStandardGenreIndex() 2017-06-03 21:00:36 +02:00
Martchus 8ae3dd6f6f Specify behaviour of Id3Genres::indexFromString() in error case 2017-06-03 21:00:36 +02:00
Martchus e1d14ad61b Allow conversion of DateTime in TagValue::toString() 2017-06-03 21:00:36 +02:00
Martchus 6c1a0b9126 Fix TagValue::toDateTime() 2017-06-03 21:00:36 +02:00
Martchus 6b705d5652 Mind encoding when converting TagValue to pos 2017-06-03 21:00:26 +02:00
Martchus b76d35acfd Mind encoding when converting TagValue to int 2017-06-03 21:00:26 +02:00
Martchus 39b63c84cb TagValue equality: Actually ignore encoding if not relevant 2017-06-03 21:00:26 +02:00
Martchus 5e91661de3 Test TagValue 2017-06-03 21:00:26 +02:00
Martchus b88672e32f Fix compiling tests under 32-bit arch 2017-05-30 23:59:23 +02:00
Martchus 79845b96dc Remove friend class from Id3v2Frame 2017-05-29 14:36:22 +02:00
Martchus 98fc83af6a Make error skipping in EBML parser configurable 2017-05-29 14:33:28 +02:00
Martchus 0d39a70b5f Improve making picture/comment frames 2017-05-29 14:05:15 +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 527fcb694e Ensure MP4 ID strings only contain printable chars
Prevents tag editor from generating invalid XHTML
2017-05-29 00:57:42 +02:00
Martchus 58ddba4178 Ensure the track ID is unique 2017-05-29 00:57:05 +02:00
Martchus f849c22bad Test writing MP4 chunk-by-chunk
This feature was only implemented to play
around with MP4 a little bit and is not actually
used by the tag editor and hence was not tested
very well.
2017-05-29 00:56:26 +02:00
Martchus 966c0edc2e Allow setting track ID 2017-05-27 02:59:47 +02:00
Martchus 4e9a28aee3 Test linked Matroska files (manually)
Editing linked Matroska files works. The linked
files are treated as individual files. When saving
segment linking is retained and the files aren't
otherwise broken.
2017-05-24 20:01:29 +02:00
Martchus 32f4c7641c tests: Create cpp file for helper 2017-05-24 19:33:11 +02:00
Martchus ae6bd9522c tests: Do not check files converted via ffmpeg 2017-05-24 19:24:09 +02:00
Martchus 1f1fb4c302 tests: Check tag and index position 2017-05-23 00:52:56 +02:00
Martchus 9c3f596699 doc: Cross-reference methods for tag/index pos 2017-05-22 23:53:38 +02:00
Martchus 8f5f61c85e Fix finding termination in ID3v2 description
This check is only to prevent writing bad frame
when given description contains termination
2017-05-21 00:09:09 +02:00
Martchus cbc32890fa Test conversion to ID3v2.4 2017-05-21 00:09:09 +02:00
Martchus 44de1e6b7a tests: Move format specific flags from header 2017-05-20 23:37:33 +02:00
Martchus e925e15533 Improve handling of Unicode and BOM in ID3v2
* Convert UTF-8 text fields automatically to UTF-16
  when version is ID3v2.3 or below
  -> so conversion from ID3v2.4 to ID3v2.3 or below
     doesn't require manual conversion of possibly
     UTF-8 encoded fields
* Don't use magic numbers for ID3v2 encoding byte
* Don't warn about UTF-16 Big Endian with BOM
2017-05-20 23:34:45 +02:00
Martchus 2ed7ea800d Improve overall tests
* Move code for each format in an own file
* Use enum for test mode flags instead of magic
  numbers
2017-05-20 21:19:55 +02:00