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
652e4809b4
Use unordered_map in MatroskaCuePositionUpdater
...
std::unordered_map should be faster than std::map
2018-03-06 22:44:01 +01:00
Martchus
e705de3704
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.
2018-03-06 22:44:01 +01:00
Martchus
5ed20c7e8e
Add function to determine Mkv element level by ID
...
Does not cover all element IDs but should be more
than sufficient for its purpose.
2018-03-06 22:44:01 +01:00
Martchus
038d30587c
Uniform spelling of Matroska IDs
2018-03-06 22:44:01 +01:00
Martchus
7a02e8a325
Uniform/simplify typedefs in templates
...
* Begin type names with capital letter
* Remove typedefs for implementation type
* Remove useless/obsolete comments
* Simplify relevant code
2018-03-06 22:44:01 +01:00
Martchus
0daabba17a
Use static polymorphism in FieldMapBasedTag
2018-03-06 22:44:01 +01:00
Martchus
138fa32f29
Restructure FieldMapBasedTag to use CRTP
2018-03-06 22:44:01 +01:00
Martchus
b55d956b83
Fix some warnings
2018-02-05 14:51:21 +01:00
Martchus
6068bb09dc
Improve coding style in determineElementPosition()
2018-02-05 00:59:34 +01:00
Martchus
ae4e46869d
Fix warning (signedness conversion)
2018-02-05 00:41:35 +01:00
Martchus
2c4b0abbea
Use C++ random API
2018-02-05 00:40:11 +01:00
Martchus
74054e6e87
Fix default timecode scale in Matroska
2018-02-05 00:11:28 +01:00
Martchus
e5c93e8293
Update 100 % percentage correctly
2017-10-30 08:21:17 +01: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
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
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
a740f96875
Improve notifications when validating Matroska index
2017-08-18 00:19:54 +02:00
Martchus
395ccd50ed
Add missing include for total file size
2017-08-18 00:18:16 +02:00
Martchus
a45e199c02
Fix warnings in EbmlElement
2017-08-17 20:37:49 +02:00
Martchus
21dc376ad1
Improve documentation
2017-08-17 19:08:54 +02:00
Martchus
a49c1cbbe9
Assume English as default language for Mkv tracks
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
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
8d08314e3b
Introduce MatroskaTrackHeaderMaker
...
First step to implement applying changed track
meta-data for Matroska
2017-06-11 01:21:56 +02:00
Martchus
2a808df3f5
Use argsToString() avoiding numberToString()
2017-06-08 01:26:34 +02:00
Martchus
98fc83af6a
Make error skipping in EBML parser configurable
2017-05-29 14:33:28 +02:00
Martchus
ee15e08dd9
Test parsing and rewriting nested Mkv tags
2017-05-19 00:05:57 +02:00
Martchus
6ff8a587ba
Detect H.265 format in Matroska
2017-05-08 23:23:57 +02:00
Martchus
12f2c5169d
Fix check for child EBML element
2017-05-07 21:46:12 +02:00
Martchus
a334d6db0a
Support Matroska field ID 'LANGUAGE'
2017-05-07 20:21:19 +02:00
Martchus
911026fb1c
Add DVB subtitles format
2017-04-30 02:02:10 +02:00
Martchus
c3394acdb2
Fix typos
2017-03-01 18:21:00 +01:00
Martchus
b97192abd3
Use std::make_unique provided by C++14
2017-02-05 21:02:40 +01:00
Martchus
5037713071
Remove numberToString() where possible
2017-01-30 00:42:35 +01:00
Martchus
230a14fcf1
Use string builder rather than stringstream
2017-01-27 21:27:24 +01:00
Martchus
541f14039b
Make use of string builder
2017-01-27 18:59:22 +01:00
Martchus
b4e167bd71
Ease dealing with native field IDs
...
In particular, this allow conversion from native field IDs
to readible string representation and vice verca
2017-01-23 00:25:53 +01:00
Martchus
477ac9884b
Use _wopen under Windows to support unicode filenames
2016-12-21 00:42:31 +01:00
Martchus
b2ceb822fb
Make implicit type conversion explicit
2016-11-26 12:33:38 +01:00
Martchus
554351810a
Implement determine tag/index pos for MKV
2016-11-16 22:06:12 +01:00
Martchus
a8dce14514
Allow checking index position
...
Only implemented for MP4 so far
2016-11-16 19:31:09 +01:00
Martchus
6717062ca2
Allow checking tag position
...
Only implemented for MP4 so far
2016-11-15 22:48:38 +01:00
Martchus
7e29d8aaad
Fix indentation
2016-10-09 19:37:23 +02:00
Martchus
0cf30edbff
Fix decoration for static builds
2016-08-29 15:43:05 +02:00
Martchus
549028c0cf
Calculate AVC pic size as soon as possible
...
so the size is calculated when further parsing fails
2016-08-06 21:54:35 +02:00
Martchus
b20e02ec29
Fix parsing/accessing Matroska editions/chapters
2016-08-06 20:51:57 +02:00
Martchus
817a8e25e6
Improve documentation and consistency
2016-08-04 00:16:19 +02:00
Martchus
8663dedf8c
Fix misc issues
2016-07-30 22:35:46 +02:00
Martchus
1182cbeb85
Improve handling of binary Matroska tag fields
2016-07-22 01:37:25 +02:00
Martchus
58411bc8c5
Improve subtitle format names and media types
2016-07-11 20:58:12 +02:00
Martchus
cf5b021180
Use workaround for GCC Bug 66145
2016-06-14 22:53:43 +02:00
Martchus
2c5d463a9f
Improve API doc
2016-06-10 23:08:01 +02:00
Martchus
415e68972a
Improve handling of targets
2016-05-26 01:59:22 +02:00
Martchus
a84ac37dbe
Add support for raw FLAC streams
2016-05-16 20:56:53 +02:00
Martchus
6c6ab0e301
improved file handling
...
- don't override backup files
- allow saving files at a different location
- reduce code duplication for restoring backups
2016-05-01 20:02:44 +02:00
Martchus
6cce90b106
overall code cleanup
2016-04-24 22:10:45 +02:00
Martchus
899e2a97fe
small improvements
...
- fixed some mostly ID3/MP3 related bugs
- added convenience methods/operators
2016-03-18 21:43:09 +01:00
Martchus
e0437c0a43
skip invalid bytes when parsing EBML
2016-03-13 22:00:23 +01:00
Martchus
56d13d326d
use pixel size as display size if display size not specified
2016-03-13 18:23:13 +01:00
Martchus
cc6e16e513
small improvements
2016-03-12 18:36:10 +01:00
Martchus
488fce3ab8
parsing AVC config
2016-02-17 20:19:05 +01:00
Martchus
098a0bdef8
added Opus
2016-01-16 17:41:52 +01:00
Martchus
949a88c678
improved document title / segment count API
2015-12-27 19:51:57 +01:00
Martchus
6f0adce661
make use of padding when applying changes to MP3 files
2015-12-22 23:54:35 +01:00
Martchus
47e7f4eea4
fixed misc bugs
2015-12-22 17:00:54 +01:00
Martchus
ee09a50915
removed useless destructors
2015-12-21 18:35:47 +01:00
Martchus
3da8337c6c
make use of padding when applying changes to MP4 files
2015-12-21 00:27:44 +01:00
Martchus
0c82c4c1fd
allow precalculation of MP4 tag size
2015-12-10 13:50:46 +01:00
Martchus
d9c197dcf2
improved project files
2015-12-08 08:38:26 +01:00
Martchus
736f8fc9a7
added simple CMake project file
2015-12-05 22:53:30 +01:00
Martchus
6dd2c7e774
updated make to use specified file layout
2015-11-26 14:40:35 +01:00
Martchus
4c8d1645a6
updated brief
2015-11-26 14:34:52 +01:00
Martchus
4d708b80d2
buffer required elements
2015-11-26 14:34:14 +01:00
Martchus
0d503e785b
added method to buffer current attachments
2015-11-26 14:33:08 +01:00
Martchus
10bc8516ee
option to set minimum number of bytes (makeSizeDenotation())
2015-11-21 01:10:04 +01:00
Martchus
a2673127fa
check cluster offset / padding
2015-11-11 11:52:32 +01:00
Martchus
e7bd2185d5
added properties to control position of tags when writing files
2015-11-07 21:25:37 +01:00
Martchus
4b13bac99c
improved handling of "SegmentInfo"-element
2015-10-14 19:42:48 +02:00
Martchus
7aea0e2a50
allow specific targets to be created with createAppropriateTags()
2015-10-13 23:32:00 +02:00
Martchus
458ee45e81
fixed cues updater
2015-10-08 22:03:47 +02:00
Martchus
ed10015b1a
fixed reset() methods
2015-10-06 22:39:18 +02: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
e4a487cb73
fixed some warnings
2015-09-19 23:42:05 +02:00
Martchus
5ab22eb9d9
chrono API change
2015-09-16 17:26:20 +02:00
Martchus
cdb649653c
added VP9
2015-09-16 17:25:45 +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