Tag Archives: MKVToolNix

MKVToolNix v80.0 released

Heyo!

Time for another release. I’m still in a bit of a coding slump (or rather: preoccupied with all the amazing games that have come out this year); therefore this release is really, really small. I’ll likely do one more bug fix release this year that’ll be around this size as well. But let’s see how things shake out.

You can download the source code or one of the binaries. The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available over the course of the next couple of hours.

Here are the NEWS since the previous release:

New features and enhancements

  • MKVToolNix GUI: if the system’s locale uses one of the Han scripts, the GUI will force Arabic numerals to be used in spin boxes. This prevents Suzhou numerals from being used which seems to be the default on Windows systems sold in China. Implements #3624.

Bug fixes

  • build system: fixed detection of Qt6 if clang is used for compilation on Linux. In that case Qt’s qmake added a gcc-specific option that clang doesn’t understand, -mno-direct-extern-access. configure will now pass the parameter -spec linux-clang to qmake so that it uses the correct compiler flags.
  • build system: fixed the use of mktemp to be more portable to e.g. macOS. Fixes #3608.
  • mkvmerge: if a video aspect ratio was given with --aspect-ratio-factor, the code would apply a second factor based on the pixel resolution, resulting in much too large values for the DisplayWidth element. For example, with a pixel resolution of 720×520 & an aspect ratio factor of 1/1 the result should be 720×520, but instead it was 900×520. Up until release 76.0 this has only happened when a track order was given (which unfortunately includes all invocations with MKVToolNix GUI as it always includes the track order). Starting with release 77.0 this has always happened due to the automatic sorting of tracks implicitly creating a track order, even if none was given.

Have fun 😁

MKVToolNix v79.0 released

Heyo!

With up to 31°C outside, it’s a good idea to stay inside & do the likely last release of the summer for MKVToolNix, v79.0. Not a lot’s happened, but there’s support for AV1 with Dolby Vision. Yay!

You can download the source code or one of the binaries. The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available over the course of the next couple of hours.

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: AV1: added support for reading Dolby Vision from AV1 IVF & OBU streams. Patches by Quietvoid.
  • mkvmerge: MPEG TS reader: added support for colors in teletext subtitles. Patch by Angela Schmid.
  • MKVToolNix GUI: multiplexer: when adding files the GUI can automatically enable the “forced display” flag for subtitle tracks if the file name contains the word “forced” delimited by certain characters (configurable). This feature is turned on by default. Implements #3586.
  • MKVToolNix GUI: multiplexer: added the option --stop-after-video-ends to the dialog for additional command line options. Implements #3594.
  • MKVToolNix GUI: multiplexer: when adding Blu-ray playlists the dialog allowing the user to select the playlist to add will now show audio & video track properties as well (pixel dimensions for video; sampling frequency, channels for audio). Implements #3597.
  • MKVToolNix GUI: header editor: in order to reduce confusion with users non that versed in Matroska elements, the naming of the two “language” track properties has been changed: the old element is now titled “Language (obsolete)” & the current, IETF BCP 47 based one is simply called “Language”.
  • MKVToolNix GUI: preferences: you can now use the “delete” key to remove entries from simple list widgets for strings (e.g. the list of recently used destination directories).

Bug fixes

  • mkvmerge: DTS reader: if a DTS stream doesn’t start with a DTS core but a sub-stream element (EXSS), the reader will now look for a core. If found, it’ll start processing from there instead of from the start. This fixes the timestamp calculation if the sampling frequency in the core & in the extensions are different. Fixes #3602.
  • MKVToolNix GUI: multiplexer: the “emphasis” and “stereoscopy” combo-boxes now have a much smaller minimum width, allowing to make the whole “properties” pane much smaller again. Fixes #3581.
  • MKVToolNix GUI: macOS: when you install the application from the DMG it’ll no longer register itself as an alternate handler for its supported file types. It seems like this overrode existing associations, forcing people to change them manually to whatever they wanted them to be. Additionally this forced the associated file to always be shown with an MKVToolNix icon. The GUI’s own .mtxcfg files will still be registered. Fixes #3588.

Have fun! 😁

MKVToolNix v78.0 released

Heyo!

MKVToolNix v78 is out with tons of bug fixes, especially for those crashes in the GUI’s header editor & for the GUI hanging when adding files via drag & drop. Both have crept in in version 77. Fortunately they were only annoying but didn’t affect existing files.

You can download the source code or one of the binaries. The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available over the course of the next couple of hours.

Here are the NEWS since the previous release:

New features and enhancements

  • MKVToolNix GUI: header editor: for files that only contain legacy track language elements but no IETF language elements the header editor will now derive the IETF language elements from the legacy elements. See #3557.
  • AppImage: the AppImage is now built on AlmaLinux 8 with Qt 6.5.1. This means that the minimum glibc version this AppImage is compatible with has also been bumped, to v2.28. The oldest Debian coming with this version is Debian 10 “Buster”; for Ubuntu it’s 18.10 “Cosmic Cuttlefish”.
  • Windows installer: the installer will now remove the file data\portable-app if it’s present in the installation directory as its presence would signal to the app to run in portable mode, requiring write access to its base directory. This fixes some installation issues that could occur when a user extracted a portable app archive into a folder like C:\Program Files\MKVToolNix. Also added an installation check for the same issue. See #3558.

Bug fixes

  • all: Linux: if initializing the locale system based on the system’s settings fails, e.g. if environment variables such as LC_ALL have been set to fr_FR.UTF-8 but the locale for fr_FR.UTF-8 hasn’t been built, MKVToolNix will try to fall back to en_US.UTF-8 first & C.UTF-8 second. If neither of the three succeeds, an error message will be shown, and the program will abort. This fixes the programs not catching an exception from the boost::filesystem library which doesn’t cope with mis-configured locale systems well. Workaround for #3574.
  • mkvmerge: sorting tracks by type did not work properly when some tracks weren’t copied. Part of the fix of #3567.
  • mkvmerge: track numbers in the destination file were assigned out-of-order when the track order in the source files differs from the one in the destination file. Now they’re assigned sequentially in the order the tracks appear in the destination file again. Part of the fix of #3567.
  • MKVToolNix GUI: under certain circumstances the GUI would try to display error messages from a secondary thread, which isn’t allowed in Qt, causing to program to either hang or outright crash. Part of the fix of #3556 & #3561.
  • MKVToolNix GUI: the GUI will check for several potential installation issues wrt. to having write access to certain directories (system’s temporary directory, MKVToolNix’s file identification cache directory and others) & display proper error messages if not. Part of the fix of #3556 & #3561.
  • MKVToolNix GUI: header editor: fixed the application crashing whenever you change a property below the “segment information” node. This bug was introduced in v77. Fixes #3556.
  • MKVToolNix GUI: header editor: when reading files that only contain legacy track language elements but no IETF track language elements, the header editor was showing all tracks as having “English” as the language. This bug was introduced in v77. Fixes #3557.
  • MKVToolNix GUI: header editor: when a legacy track language element contains a country code (e.g. fr-CA), the header editor was wrongfully using und = “undetermined” as the language for that element. Now it’ll use the language from the language/country pair, which would be fr in the earlier example. Part of the fix of #3557.
  • MKVToolNix GUI: header editor: the keyboard shortcuts from the “modify selected track” sub-menu didn’t work right after opening a file. They only started working after opening the “header editor” menu. Fixes #3573.
  • AppImage: fixed the GUI resources (e.g. icons) not being found.
  • AppImage: the Qt plugins required for using compose key/dead keys are now included. Fixes #3577.

Build system changes

  • The compilation database (compile_commands.json) is now always built. The variable BUILD_COMPILATION_DATABASE is not evaluated anymore.

Have fun 😁