Tag Archives: MKVToolNix

MKVToolNix v9.6.0 released

This release fixes one major bug in mkvmerge (an endless loop) when appending files. It mostly occurred when muxing MPLS playlists. Several other minor bug fixes and usability enhancements were implemented.

Nothing’s been changed regarding the packaging since v9.5.0.

You can download the source code or one of the binaries. All of the binaries that I provide myself have been built already and are available for download.

Here’s the full ChangeLog since the previous release:

  • 2016-11-29 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.6.0 "Slave To Your Mind".
  • 2016-11-28 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge & mkvextract: added support for HDMV TextST subtitles.
  • 2016-11-20 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract: VobSub bug fix: mkvextract will add a "langidx" line to the .idx file upon extraction. Fixes #1810.
  • 2016-11-14 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: multiplexer enhancement: added a column "source file’s directory" to the track list. Implements #1809.
    • MKVToolNix GUI: multiplexer enhancement: added an option for selecting all tracks of the currently selected source files in the source file context menu. Inspired by #1809.
  • 2016-11-07 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: job output tool bug fix: the button for acknowledging warnings & errors wasn’t properly disabled when the user used outside methods of acknowledging them (e.g. via the menu or via the job queue). Fixes #1802.
  • 2016-10-31 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: MPLS parser bug fix: fixed reading the "in" & "out" timestamps for "play items". This bug resulted in mkvmerge not reading the correct range from the referenced M2TS file under certain rare circumstances.
  • 2016-10-30 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: mkvmerge was entering endless loops under certain conditions when appending files. This was a regression introduced with the fix to #1774 (using very large –sync values causing mkvmerge to abort).
  • 2016-10-23 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: added options in the preferences to only show the list of often used languages/country codes/character sets in their respective selections instead of both the often used and the full list. Implements #1796.

MKVToolNix v9.5.0 released

A new release of MKVToolNix with several bug fixes in mkvmerge and minor feature enhancements in the GUI. Nothing critical.

Nothing’s been changed regarding the packaging since v9.4.2.

You can download the source code or one of the binaries. The Windows and Mac OS binaries are available. Most of the Linux binaries are still being built and will be available in a couple of hours.

Here’s the full ChangeLog since the previous release:

  • 2016-10-16 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.5.0 "Quiet Fire".
    • mkvmerge, mkvextract: VobSub handling bug fix: mkvmerge and mkvextract will now update the duration stored in the SPU bitsream with the duration from the container level if it differs at least 1ms. Fixes #1771.
  • 2016-10-15 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: h.264 elementary stream handling bug fix: if mkvmerge ever encounters changing SPS or PPS NALUs (ones where their ID has been encountered before with different settings) in the h.264 then it will prepend all following key frames with all currently active SPS and PPS NALUs. This enables playback from arbitrary key frames even if they require other SPS or PPS settings than the ones stored in the AVCC in CodecPrivate. Fixes #1711.
  • 2016-10-12 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge, mkvpropedit, MKVToolNix GUI: added support for the "field order" video track header element.
    • mkvinfo: added support for the "field order" video track header element. Patch by James Almer (see AUTHORS).
    • mkvmerge: MPEG transport stream reader bug fix: fixed the handling of Blu-ray PCM audio with an odd number of channels by removing their alignment bytes.
  • 2016-10-10 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: MPEG transport stream reader bug fix: fixed mis-detection of certain h.264 files as MPEG transport streams.
  • 2016-10-09 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: WAV reader bug fix: the track properties (channels, sample rate) for DTS and AC-3 in WAV will now be derived from the decoded bitstream headers instead of the WAV file header as the latter is often incorrect.
    • mkvmerge: WAV reader bug fix: fixed detection and merging of DTS in WAV that uses the 14-bytes-in-16-bytes packing method.
  • 2016-10-08 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: merge tool enhancement: added menu entries that execute the "close", "save settings", "start muxing" or "add to job queue" action for all currently open tabs.
  • 2016-10-07 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: merge tool enhancement: when dragging & dropping directories the GUI will process all files within those directories recursively instead.
  • 2016-10-06 Moritz Bunkus <moritz@bunkus.org>
    • mkvpropedit, MKVToolNix GUI’s header editor: added options to modify the "muxing application" and "writing application" elements in the "segment information" container. Implements #1788.
  • 2016-09-30 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus files with comment headers anymore. This was broken by the fix to not require Ogg/OGM files to have comment headers in v9.4.0.

Have fun :)

MKVToolNix v9.4.2 released

Unfortunately the just-released v9.4.2 contained a nasty regression in both the AVC and HEVC readers. I’m therefore releasing v9.4.2 mere hours after v9.4.1. The only difference is the fix to the aforementioned regression. I’m including the whole announcement for v9.4.1 below.

Somewhat unscheduled I’m releasing v9.4.1. It fixes several errors in mkvmerge, most of which are exploitable via specially crafted file. They were found by fuzzing done by Justin Smith.

Nothing’s been changed regarding the packagin since v9.4.0.

You can download the source code or one of the binaries. The Windows and Mac OS binaries are available. Most of the Linux binaries are still being built and will be available in a couple of hours.

Here’s the full ChangeLog since the previous release:

  • 2016-09-11 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.4.2 "So High".
    • mkvmerge: bug fix: AVC & HEVC readers: release v9.4.1 contains a change to both readers so that they will refuse to handle files where the detected pixel width or height is equal to or less than 0. This check was wrong in certain cases causing mkvmerge to reject a file as an unsupported file type. This has been fixed while keeping the constraints on width & height having to be positive.
    • Released v9.4.1 "Black Rain".
  • 2016-09-07 Moritz Bunkus <moritz@bunkus.org>
    • Note: most of the bugs fixed on 2016-09-06 and 2016-09-07 for issue #1780 are potentially exploitable. The scenario is arbitrary code execution with specially-crafted files. Updating is highly recommended.
    • mkvmerge: bug fix: AVC & HEVC readers: the readers will now refuse to handle files where the detected pixel width or height is equal to or less than 0. Before this fix the muxing process aborted with an assertion inside libMatroska. Fixes the last test case of #1780.
    • mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of allocated space). Fixes two test cases of #1780.
  • 2016-09-06 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of a fixed-size array). Fixes several test cases of #1780.
    • mkvmerge: bug fix: MP4 reader: an error message will be printed instead of an uncaught exception when an invalid atom chunk size is encountered during resync. Fixes a test case of #1780.
    • mkvmerge: bug fix: AAC reader: fixed mkvmerge throwing an uncaught exception due to the sample rate being 0. Fixes a test case of #1780.
    • mkvmerge: bug fix: MP4 reader: fixed an invalid memory access (beyond the end of allocated space). Fixes several test cases of #1780.
    • mkvmerge: bug fix: HEVC parser: fixed an invalid memory access (beyond the end of allocated space). Fixes several test cases of #1780.
    • mkvmerge: bug fix: fixed an invalid memory access (use after free) during global destruction phase. Fixes several test cases of #1780.
  • 2016-09-02 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: using very large –sync values (several minutes) with certain container formats was causing mkvmerge to abort muxing. Fixes #1774.

Have fun :)

MKVToolNix v9.4.1 released

Somewhat unscheduled I’m releasing v9.4.1. It fixes several errors in mkvmerge, most of which are exploitable via specially crafted file. They were found by fuzzing done by Justin Smith.

Nothing’s been changed regarding the packagin since v9.4.0.

You can download the source code or one of the binaries. The Windows and Mac OS binaries are available. Most of the Linux binaries are still being built and will be available in a couple of hours.

Here’s the full ChangeLog since the previous release:

  • 2016-09-11 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.4.1 "Black Rain".
  • 2016-09-07 Moritz Bunkus <moritz@bunkus.org>
    • Note: most of the bugs fixed on 2016-09-06 and 2016-09-07 for issue #1780 are potentially exploitable. The scenario is arbitrary code execution with specially-crafted files. Updating is highly recommended.
    • mkvmerge: bug fix: AVC & HEVC readers: the readers will now refuse to handle files where the detected pixel width or height is equal to or less than 0. Before this fix the muxing process aborted with an assertion inside libMatroska. Fixes the last test case of #1780.
    • mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of allocated space). Fixes two test cases of #1780.
  • 2016-09-06 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of a fixed-size array). Fixes several test cases of #1780.
    • mkvmerge: bug fix: MP4 reader: an error message will be printed instead of an uncaught exception when an invalid atom chunk size is encountered during resync. Fixes a test case of #1780.
    • mkvmerge: bug fix: AAC reader: fixed mkvmerge throwing an uncaught exception due to the sample rate being 0. Fixes a test case of #1780.
    • mkvmerge: bug fix: MP4 reader: fixed an invalid memory access (beyond the end of allocated space). Fixes several test cases of #1780.
    • mkvmerge: bug fix: HEVC parser: fixed an invalid memory access (beyond the end of allocated space). Fixes several test cases of #1780.
    • mkvmerge: bug fix: fixed an invalid memory access (use after free) during global destruction phase. Fixes several test cases of #1780.
  • 2016-09-02 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: using very large –sync values (several minutes) with certain container formats was causing mkvmerge to abort muxing. Fixes #1774.

Have fun :)