Commit Graph

21 Commits

Author SHA1 Message Date
Moritz Bunkus
055741c806 documentation: add xsltproc, DocBook XSL, po4a
See #1865.
2017-01-25 21:19:11 +01:00
Moritz Bunkus
a83fd64217 bump version number, set release code name 2017-01-22 14:17:42 +01:00
Moritz Bunkus
63effb10ef mkvmerge: VobSub: use default index for tracks read from Matroska missing CodecPrivate
The default palette used will not look good in most of the cases, but
it's hard to guess a palette and pretty much impossible without actually
decoding a lot of the packets.

Implements #1854.
2017-01-22 11:44:30 +01:00
Moritz Bunkus
945da6cd98 MP4 reader: drop frames for which track headers don't provide timestamps
Fixes #1847.
2017-01-21 20:41:00 +01:00
Moritz Bunkus
e52f878720 build system: look for & use system-wide version of nlohmann json-cpp
If one is found, it will be used. Otherwise the included version in
lib/nlohmann-json will be used.

Implements #1858.
2017-01-20 23:07:34 +01:00
Moritz Bunkus
5fe1b0be03 GUI: only clean the cache once per version
The process can take a lot of time, therefore only do it if there's a
reasonable chance that files will have to be cleaned up — which is after
a version change.

Another piece of the fix for #1860.
2017-01-20 22:20:24 +01:00
Moritz Bunkus
830c64ee3a GUI: don't lock cache dir for whole duration of cleanup operation
With a large number of files cleaning the cache can take quite some
time. During that time file identification won't work as it tries to
acquire a lock that's already held by the cleanup process.

With this change the cleanup process will release the lock after having
processed each file allowing the identification process to obtain the
lock temporarily.

Fixes #1860.
2017-01-20 21:21:32 +01:00
Moritz Bunkus
118abf32ff NEWS.md: add entry for recent commit 2017-01-14 19:32:18 +01:00
Moritz Bunkus
4007ceed93 GUI: add several installation checks at GUI startup
Things that are checked include:

• Can the mkvmerge executable be found?
• Can the mkvmerge executable be executed?
• Is mkvmerge's version the same as the GUI's?
• Only on Windows: Does the 'magic.mgc' file exist?

All of these are causes of problems that have been reported by users
multiple times over the years.
2017-01-14 19:26:15 +01:00
Moritz Bunkus
bccaccc324 NEWS.md: document changes around rake/drake 2017-01-08 21:10:52 +01:00
Moritz Bunkus
f8c320b162 NEWS.md: fix spelling errors 2017-01-08 15:16:10 +01:00
Moritz Bunkus
731f036f21 add "qaa" and "qad" ISO 639-2 language codes
Both codes come from the range "qaa–qtz" which is "reserved for local
use". Adding all of them would blow up the list of available languages
overly much, but adding just two is quite OK. These two are often used
in France.

See #1848.
2017-01-08 15:15:02 +01:00
Moritz Bunkus
87caecc71e mkvmerge cleanup: discard write buffer content in error situations
This prevents the error message "not enough space on disk" being shown
twice.

Whenever a write fails, an exception is throw, and an appropriate error
message is shown. This is the first time.

Next mkvmerge goes into its cleanup routine. There it closes the output
file. The output file uses a write buffer implementation. Before closing
the file any outstanding buffered content is written to the disk. The
disk is still full, though, triggering another exception, and another
error message is output.

The workaround is to discard any buffered content still remaining at
cleanup time. This is safe as the output file is closed manually normal
program flow. Therefore no buffered content is lost in a successful run.

Fixes #1850.
2017-01-07 18:48:45 +01:00
Moritz Bunkus
0d43f2744b Matroska reader: keep existing codec delay track property
Fixes #1849.
2017-01-07 13:00:49 +01:00
Moritz Bunkus
dcf7b15939 mkvmerge: include codec delay in identification output as "codec_delay" 2017-01-07 12:46:08 +01:00
Moritz Bunkus
17fd1fd53c MPEG TS: workaround for subtitle timestamps differing from audio/video timestamps widely
There are MPEG TS files where subtitle packets are multiplexed with
audio and video packets properly, meaning that packets that are supposed
to be shown/played together are also stored next to each other. However,
the timestamps in the PES streams have huge differences. For example,
the first timestamps for audio and video packets are around 00:11:08.418
whereas the timestamps for corresponding subtitle packets start at
09:19:25.912.

This workaround attempts to detect such situations. In that case
mkvmerge will discard subtitle timestamps and use the most recent audio
or video timestamp instead.

Implements #1841.
2017-01-06 20:06:22 +01:00
Moritz Bunkus
e1e14ed510 FileIdentifier: fix application of track defaults & caching
Before the defaults were applied before the result was stored in the
cache. The problem with that is that changing the defaults in the
preferences did not affect cached results. Adding a file the second time
was using cache data which had the old defaults applied.

Now the defaults are applied after the result has been stored in the
cache. Upon retrieval from the cache the current defaults are applied,
too.
2017-01-02 13:20:30 +01:00
Moritz Bunkus
5f096de087 MP4: determine track parameters from bitstream for MP2 audio, too
In this case the track contains MP3 data. However, the ESDS's object
type ID field is set to 0x6b in the headers indicating MP2. Additionally
the track's fields for channels & sampling frequency are set to 0.

Fixes #1844.
2017-01-01 11:55:25 +01:00
Moritz Bunkus
f40f77895f update NEWS.md 2016-12-31 19:09:11 +01:00
Moritz Bunkus
8eec6faf0c update NEWS.md 2016-12-30 15:04:47 +01:00
Moritz Bunkus
d426b2d15f convert date-ordered ChangeLog to more user-centric NEWS.md file 2016-12-29 17:03:57 +01:00