Marius Kittler
53701255ca
WIP: Rework notifications
2017-11-16 17:54:42 +01:00
Marius Kittler
e232c907ea
status provider: Use inline not inside the class definition
2017-11-16 17:13:58 +01:00
Marius Kittler
d5613954a4
Remove unnecessary cast
2017-11-16 17:12:21 +01:00
Martchus
44af199aeb
Use unordered_map in MatroskaCuePositionUpdater
...
std::unordered_map should be faster than std::map
2017-10-30 20:48:30 +01:00
Martchus
b69aab0cd1
Handle Mkv files with unknown element sizes correctly
...
Those elements are still assumed to fill the max available
space. However, if it turns out one "child" is more likely
a sibling, the wrong assumption is fixed.
2017-10-30 20:48:30 +01:00
Martchus
618efe3f96
Add function to determine Mkv element level by ID
...
Does not cover all element IDs but should be more
than sufficient for its purpose.
2017-10-30 20:48:30 +01:00
Martchus
fdb23e3cd0
Add method to get last child of file element
2017-10-30 20:48:30 +01:00
Martchus
bf31c9e89f
Add methods to get n-th parent of file element
2017-10-30 20:48:30 +01:00
Martchus
4231f2679e
Add method to determine level of file element
2017-10-30 20:48:30 +01:00
Martchus
8109f84f38
Allow specifying whether the size of an element is unknown
2017-10-30 20:48:30 +01:00
Martchus
1814cd9bfc
Uniform spelling of Matroska IDs
2017-10-30 20:48:30 +01:00
Martchus
0f12cf346c
Uniform/simplify typedefs in templates
...
* Begin type names with capital letter
* Remove typedefs for implementation type
* Remove useless/obsolete comments
* Simplify relevant code
2017-10-30 20:48:30 +01:00
Martchus
86d51f1e96
Use static polymorphism in FieldMapBasedTag
2017-10-30 20:48:30 +01:00
Martchus
90eac982a7
Restructure FieldMapBasedTag to use CRTP
2017-10-30 20:48:30 +01:00
Martchus
001cfc931d
Update major version to 7
2017-10-30 20:48:30 +01:00
Martchus
e5c93e8293
Update 100 % percentage correctly
2017-10-30 08:21:17 +01:00
Martchus
c611543e30
Add entry for Monkey's Audio on track level
2017-10-29 18:42:15 +01:00
Martchus
d9485311a1
Detect Monkey's Audio on container level
2017-10-29 18:41:51 +01:00
Martchus
cdccc247c6
Treat WavPack files like MP3
...
Players seem to be able to at least skip ID3v2 or
are even able to display it. ID3v1 should not cause
any trouble at all because its use is even proposed
in the WavPack documentation.
2017-10-29 18:04:13 +01:00
Martchus
c53e5e35ee
Add mapping for unofficial WavPack FOURCC
2017-10-29 17:44:01 +01:00
Martchus
33735f945a
Recognize WavPack at container level
2017-10-29 17:40:39 +01:00
Martchus
f65b90885a
Improve coding style
2017-10-09 21:49:04 +02:00
Martchus
c9b961d6b4
Remove some TODOs in MatroskaContainer and reindent accordingly
2017-10-09 21:16:11 +02:00
Martchus
17c76a5f29
Allow to abort making Mkv file when calculating cues
2017-10-09 21:00:52 +02:00
Martchus
b1f207303c
Fix warnings in MatroskaContainer
2017-10-09 20:59:43 +02:00
Martchus
d717913e99
Improve progress updates when making Mkv file
2017-09-21 23:30:35 +02:00
Martchus
dc32ca77fb
Use const in MatroskaCuePositionUpdater::updateSize
2017-09-21 23:30:35 +02:00
Martchus
7ffb83c4b2
Fix assigning child in MatroskaTagField::reparse
2017-09-21 23:30:35 +02:00
Martchus
d968b7cfd1
Prevent comparison of signed and unsigned
2017-09-21 23:30:35 +02:00
Martchus
cbf63a68aa
Compute all Mkv cluster before fixing invalidated cues
...
This should lead to less 'goto addCuesElementSize;' and
hence boost the time required to calculate sizes. With
the file I tested only one jump was still required after
the change.
2017-09-21 23:30:35 +02:00
Martchus
fe5ac296b3
Fix unused lambda capture
2017-09-20 19:39:04 +02:00
Martchus
5c4de0909a
Adjust tests to handle all notifications being present again
2017-09-14 22:31:32 +02:00
Martchus
5e4e6a04a9
Transfer notifications to media file info
...
Commit 'Fix duplicate notifications' (0f6ac6a
) caused missing
notifications by omitting `addNotifications(*m_container);`
before clearing parsing results. This commit restores the old
behavior and will actually preserve all notifications. However,
it will cause duplicated notifications again. The notification
system must be reworked in v7 for a decent solution.
2017-09-14 22:13:34 +02:00
Martchus
098c54e016
Update documentation
2017-09-14 21:41:18 +02:00
Martchus
ebcbe092a4
Reduce if-cascades in Mp4TagField
2017-09-14 19:33:49 +02:00
Martchus
a1547f9365
Fix some style issues
2017-09-14 18:19:30 +02:00
Martchus
9153e726d5
Fix EbmlElement::idToString()
2017-09-14 18:19:12 +02:00
Martchus
a71ffd3fc5
Improve some notification when parsing Matroska files
2017-09-14 18:18:59 +02:00
Martchus
ce92665848
Fix making TrackEntry element
2017-09-14 18:17:31 +02:00
Martchus
ad3b578bfe
Fix calculating size of mdat atom when writing chunk-by-chunk
2017-09-14 18:16:40 +02:00
Martchus
6eb8eaab11
tests: Check whether no cricical notifications or warnings occurred
2017-09-14 18:16:00 +02:00
Martchus
9c8a27c8b1
Fix gathering notifications of MatroskaContainer
2017-09-14 01:57:22 +02:00
Martchus
ba8c9204a9
Fix messing track header of MP4 files (tkhd atom)
2017-09-14 01:37:15 +02:00
Martchus
d4a406ba57
Increase minor version
2017-09-03 18:55:51 +02:00
Martchus
15af444e5a
Refactor calculating duration of OGG streams
2017-09-03 18:54:46 +02:00
Martchus
9448c3bc92
Add media format entry for Daala
2017-09-03 18:34:55 +02:00
Martchus
8197374249
Detect Speex in Ogg
2017-09-03 18:34:33 +02:00
Martchus
a2b36a0b30
Detect YUV4MPEG2 files
2017-09-03 18:27:37 +02:00
Martchus
ab9ab4ba48
Add missing class descriptions
2017-08-29 01:35:45 +02:00
Martchus
568f876b34
Improve performance when parsing big OGG files
...
by skipping pages in the middle (unless a full parse
is forced).
Additionally, the size of the tracks is now determined
on container-level which makes handling the skipping
easier.
2017-08-29 01:29:27 +02:00