* Fri Apr 09 2021 aloisio@gmx.com
- Update to version version 56.1.0
New features and enhancements:
* mkvmerge: AAC: added support for LOAS/LATM files with
channel configuration indexes 9?21 (e.g. channel count 22.2
for index 13) according to Rec. ITU-R BS.1196-7 & ISO/IEC
23008-3:2019.
Bug fixes:
* mkvmerge: HEVC/H.265 parser: fixed invalid memory access
that could happen when reading certain types of HEVC data
(e.g. with changing parameter sets mid-stream) from certain
containers (e.g. Matroska). This bug was introduced in
release 56.0.0.
* mkvextract: AAC: mkvextract will now abort with an useful
error message when the user tries to extract a track whose
'audio-specific config' element in `CodecPrivate` signals a
number of channels of 7 or greater than 8 as that isn't
supported by the ADTS format.
Build system changes:
* configure: the `--enable-ubsan` option hasn't actually
enabled anything since release 39.0.0.
* Mon Apr 05 2021 Luigi Baldoni <aloisio@gmx.com>
- Update to version 56.0.0
New features and enhancements:
* mkvmerge, mkvpropedit: tags: the programs will no longer
write tag elements that are mandatory and set to their
default value (e.g. "tag language" set to `und` =
undetermined).
* mkvmerge, mkvpropedit, MKVToolNix GUI chapter editor:
chapters: the programs will no longer write chapter elements
that are mandatory and set to their default value (e.g.
"chapter language" set to `eng` = English or "Chapter flag
enabled" = 1).
* mkvextract: chapters: mkvextract will no longer add a
`ChapterLanguage` element set to `eng` to the generated XML
content if the source file doesn't contain such an element.
* MKVToolNix GUI: multiplexer: when using the "tab widget
below the files & tracks" layout option for the track
properties the elements in the "general options" tab will
use six rows à four columns instead of twelve rows à two
columns, greatly reducing the required height.
Bug fixes:
* mkvmerge: AAC reader: fixed mkvmerge aborting to read AAC
files bigger than 2 GB with a message about not being able
to allocate memory.
* mkvmerge: chapters: `ChapLanguageIETF` elements were still
created when the option `--disable-language-ietf` was given
after an option leading to the creation of chapters. Now the
position doesn't matter anymore.
* mkvmerge: chapters: when the option
`--disable-language-ietf` is used, `ChapLanguageIETF`
elements won't be written even when sources are read
(Matroska files or XML chapters files) that do contain those
elements.
* mkvmerge: tags: when the option `--disable-language-ietf` is
used, `TagLanguageIETF` elements won't be written.
* mkvmerge: tags: mkvmerge will no longer write language
elements for the track statistics tags it creates, making
the effective language "undetermined" due to `und` being the
default value for the legacy tag language element.
* mkvmerge: tags: the XML tag parser will now validate all
`<Simple>` children of `<Tag>` elements, not just the first
for each `<Tag>`.
* mkvmerge: tags: the XML tag parser now uses the
spec-compliant `und` ("undetermined") as the default
language for `<Simple>` tags instead of `eng`.
* mkvmerge, mkvpropedit: tags: mkvmerge will no longer set the
"target type" for track statistics tags (earlier it used
`MOVIE`). The "target type value" will still be set to `50`.
* mkvmerge, mkvextract: HEVC/H.265: both programs will now
normalize the placement of VPS, SPS and PPS NALUs. Each key
frame is prefixed with exactly one copy of the currently
active parameter sets. This fixes certain classes of bugs
related to splitting/appending.
* mkvinfo: when compiled with newer versions of the `fmt`
library, certain numbers were not output correctly (e.g. a
track's audio sampling frequency of 48000 might be output as
48).
* MKVToolNix GUI: multiplexer: deriving the track language
from the file name will match languages case insensitively
again (like versions prior to v55).
* MKVToolNix GUI: multiplexer: under certain circumstances
keyboard shortcuts such as `Ctrl+W` for closing the active
tab or `Ctrl+R` for starting to multiplex ceased to work
until the user did certain other things (such as switching
to a different tool & back to the multiplexer or opening the
multiplexer menu). This started with v54.
* MKVToolNix GUI: chapter editor: the editor will no longer
create empty `ChapterCountry` elements when adding a chapter
name with no default country selected in the preferences.
Build system changes:
* The bundled `fmt` library was updated to v7.1.3.
* Sat Mar 06 2021 Luigi Baldoni <aloisio@gmx.com>
- Update to version 55.0.0
Bug fixes:
* MKVToolNix GUI: multiplexer: the user can now configure what
to do when using the "Add source files" button independently
of the setting for what happens when files are dragged &
dropped onto the GUI. The same options are available, but
they're distinct settings, allowing for different use cases.
* MKVToolNix GUI: multiplexer: deriving the track language
from file names doesn't use one big regular expression of all
enabled languages anymore. Instead, the file name is split
into parts on a list of characters (such as `.` or
`(` and `)`; configurable in the preferences). This prevents
the regular expression becoming too big for the regular
expression library to handle when many languages are enabled.
* MKVToolNix GUI: preferences: the language lists for
"deriving track languages" and "enabling items by language"
always included all the ISO 639-3 languages, even if those
weren't enabled in the "often-used languages" pane.
Other changes:
* mkvmerge, MKVToolNix GUI multiplexer: the functionality for
changing the length of the NALU "size" field for AVC/H.264
and HEVC/H.265 tracks has been removed. The corresponding
command-line option will continue to be recognized by
mkvmerge as not to break existing third-party applications,
but it won't actually do anything.
* Fri Feb 26 2021 Luigi Baldoni <aloisio@gmx.com>
- Update to version 54.0.0
New features and enhancements:
* mkvmerge: added support for using ISO 639-3 language codes in
IETF BF47 language tags.
* mkvmerge: AC-3 parser: added support for byte-swapped AC-3
data.
* mkvmerge: Matroska reader: for audio tracks that have the bit
depth track header set mkvmerge will now keep that header
even for codecs that don't require it for decoding.
* mkvmerge: MPEG transport stream reader, PCM audio tracks:
mkvmerge will now re-order the channels for 5.1, 7.0 and 7.1
channel tracks from the Blu-ray layout to the
WAVEFORMATEXTENSIBLE layout expected in Matroska.
* mkvmerge, mkvinfo, mkvpropedit, MKVToolNix GUI: added support
for the following new track header elements: "hearing impaired"
flag, "visual impaired" flag, "text descriptions" flag,
"original" flag, "commentary" flag.
* MKVToolNix GUI: added support for using ISO 639-3 language
codes in IETF BF47 language tags. As there are several
thousand of them, they're deactivated by default and must be
activated in the preferences ("GUI" ? "Often used selections"
? "Languages").
* MKVToolNix GUI: multiplexer: when adding Blu-rays the user
can select multiple playlists to add simultaneously in the
"select playlist to add" dialog.
* MKVToolNix GUI: multiplexer: the file name extensions "eb3"
and "ec3" were added for Dolby Digital Plus & "mpl" for Dolby
TrueHD in the file dialogs.
* MKVToolNix GUI: multiplexer: when adding multiple files the
dialog asking the user what to do with them has gained a new
checkbox. If enabled, all files containing at least one video
track will always be placed in newly created multiplex
setting.
* MKVToolNix GUI: multiplexer: added a menu entry in the
"Multiplexer" for adding all files that are currently in the
clipboard.
Bug fixes:
* mkvextract: AAC: fixed wrong channel mask field in the ADTS
headers for 7.1 channel layouts.
* mkvextract: h.265/HEVC extraction: if the first frame starts
with the parameter sets (SPS, PPS & VPS), the ones from
CodecPrivate aren't written and the ones from the first frame
are kept.
* mkvmerge: fixed the calculation of chapter timestamps read
from NTSC DVDs.
* MKVToolNix GUI: IETF BCP 47 language widget: the language
combo box will now always contain the language code the user
enters in the free-form field, even if it isn't in the list of
often-used languages the user configured in the preferences.
* MKVToolNix GUI: multiplexer: when browsing for the
destination file name the default directory is now chosen
according to the preferences regarding how the destination
file name should be formed. For example, if the policy is
set to "fixed output directory" then that output directory
will be the one initially set when the directory selection
dialog is opened.
* MKVToolNix GUI: multiplexer: fixed the removal of appended
source files if the "delete source files" end-of-job action
is enabled.
* MKVToolNix GUI: chapter editor: when importing chapters from
DVDs the IETF BCP 47 language elements will be set, too, not
just the legacy language elements.
Build system changes:
* libEBML v1.4.2 and libMatroska v1.6.3 are now required. The
optional, bundled copies of both libraries have been updated
to those versions. This bump in requirements fixes several
heap overflow bugs in libEBML.
* MKVToolNix is now using the C++17 library feature "file
system library" instead of Boost's "file system" and "system"
libraries. For the GNU Compiler Collection (gcc) libstdc++
this means v8 or newer is required; for clang's libc++ it
means v7 or newer.
* Sat Jan 30 2021 Luigi Baldoni <aloisio@gmx.com>
- Update to version 53.0.0
New features and enhancements:
* mkvmerge: AVI reader: added support for reading the video
aspect ratio from the video properties header (`vprp` chunk)
if present and setting the display dimensions accordingly.
* mkvmerge: MP4 reader: for h.264/AVC tracks that don't have an
`AVCConfigurationBox` (`avcC` atom) in their sample
description (`stsd`) atom or whose `avcC` atom contains no
content `mkvmerge` will now re-derive the
`AVCConfigurationBox` from the bitstream.
* mkvextract: mkvextract will now check if any of the
destination file names is the same as the source file name
and abort with an error if that's the case.
* MKVToolNix GUI: when querying the user for a file name for
saving things (e.g. multiplexer settings or an attachment in
the header editor), the automatically suggested file name
will now be based on the situation-specific file names (e.g.
the destination file name for multiplexer settings or the
attachment's name when saving an attachment in the header
editor) instead of the directory's name.
* MKVToolNix GUI: multiplexer: when deriving track languages
from file names the GUI will now select the right-most match
instead of the left-most one. For example,
"La.vie.en.rose.(fr).srt" will now be detected as French (fr)
instead of English (en).
* MKVToolNix GUI: preferences: the items in the "pre-defined
?" lists can now be renamed by double-clicking with the
mouse or pressing the F2 key.
Bug fixes:
* mkvmerge: stretching chapter timestamps with
`--chapter-sync` now works correctly with floating point
values including fractions of floating point numbers (e.g.
`12.3/45.67`). The tooltips in the GUI have been adjusted
accordingly.
* mkvmerge: MPEG 1/2 video handling: the "default duration"
header field was often half the value it actually should be,
resulting in all video frames having an explicit block
duration with the correct value.
* mkvmerge: MPEG 1/2 video handling: the data stored in `Codec
private` and `Codec state` doesn't contain extensions other
than sequence & sequence display extensions anymore.
* mkvmerge: tag handling: when remuxing a Matroska file with
the `--no-track-tags`, existing `SOURCE_ID` track tags are
now skipped, too.
* MKVToolNix GUI: multiplexer: the drop-down boxes with
pre-defined track names now follow the order set in the
preferences instead of sorting the entries alphabetically.
* Tue Jan 05 2021 aloisio@gmx.com
- Update to version 52.0.0
New features and enhancements:
* MKVToolNix GUI: job queue: the maximum number of jobs to run
concurrently can now be increased in the preferences. The
default remains at 1.
* MKVToolNix GUI: the GUI will now add a context-specific
default extension to file names selected for saving on
platforms that don't add one itself (e.g. GNOME). For
example, when saving multiplexer settings the extension
`.mtxcfg` will be added.
* MKVToolNix GUI: added an option to the preferences for the
window to stay on top of other windows.
Bug fixes:
* mkvextract: h.265/HEVC extraction: the code for skipping
extraction of prefix SEI NALUs in the first frame was
skipping two bytes too few, resulting in broken processing
of all following bytes.
* libEBML: the optional, bundled version of libEBML was
updated to v1.4.1.
Build system changes:
* libEBML v1.4.1 is now required due to a bug in libEBML that
caused pointers to just-freed memory being returned to the
caller under certain invalid data constellations, causing
use-after-free errors in all of MKVToolNix's programs.
* Sun Oct 04 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 51.0.0
New features and enhancements:
* mkvmerge, mkvpropedit, MKVToolNix GUI: IETF BCP 47 language
tags: added missing support for UN M.49 regions for which
there are no corresponding ISO 3166 alpha codes. This
enables language tags such as `es-419` = Spanish in
Latin America and the Caribbean.
* MKVToolNix GUI: IETF BCP 47 language tags: the text in the
widget displaying the current language & the corresponding
edit button is now displayed like a link (depending on the
theme: different color & underlined), making it clearer
that not just the edit button can be clicked but the text,
too.
Bug fixes:
* mkvmerge: AV1 parser: fixed mkvmerge crashing after uncaught
exceptions due to certain data conditions. Found by fuzzying.
* mkvmerge: AV1 packetizer: the duration of frames wasn't set
properly. When appending AV1 IVF or OBU files this meant that
the last frame of the Nth file and the first frame of file
N+1 had the same timestamp.
* mkvmerge: DTS reader: fixed handling of buffers with an odd
length when byte-swapped DTS is detected so that mkvmerge
doesn't abort with a failed assertion. Found by fuzzying.
* mkvmerge: h.264/AVC and h.265/HEVC elementary stream
readers: mkvmerge will no longer claim to recognize data
that looks like AVC or HEVC but with invalid video
width/height values as that lead to failed assertions in
libEBML later. Found by fuzzying.
* mkvmerge: h.265/HEVC parser: fixed mkvmerge aborting after
uncaught exceptions due to certain data constellations found
by fuzzying.
* mkvmerge: IVF reader: fixed mkvmerge crashing with a
"division by zero" error due to certain data conditions.
Found by fuzzying.
* mkvmerge: fixed mkvmerge aborting with a "division by zero"
error due to the timestamp scaling factor being 0 after
handling certain data constellations. Found by fuzzying.
* mkvmerge: track statistics: fixed a "division by zero" error
when the content's shorter than 1ms. Found by fuzzying.
* mkvmerge, mkvinfo, mkvextract, mkvpropedit: Matroska access
class: fixed an invalid memory access under certain data
conditions. Found by fuzzying.
* MKVToolNix GIU: IETF BCP 47/RFC 5646 language tags: the GUI
will no longer open the language dialog when clicking on a
disabled language display widget.
* MKVToolNix GUI: IETF BCP 47 language tags: the "variants"
combo-boxes were not populated even when the language tag was
valid and contained at a variant.
* MKVToolNix GUI: IETF BCP 47 language tags: when no language
is selected, at least one of the other components (extended
subtags, region, or variants) has something selected and
"private use" is not empty, the GUI would claim this to be a
valid tag, which it isn't.
* MKVToolNix GUI: multiplexer: when the tracks/chapters/tags
selection changes from "at least one entry selected" to "no
entry selected", the input controls will be reset to their
default state and not just disabled.
Build system changes:
* `configure` now checks for the presence of the a system-wide
installed copy of the JPCRE2 C++ wrapper library for the
PCRE2 library and uses that if it's new enough (at least
v10.32.1). If not, the bundled version will be used as a
fallback.
* Sun Sep 06 2020 aloisio@gmx.com
- Update to version 50.0.0
New feature: IETF BCP 47 language tags:
* I've written up a [nice FAQ
https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/Languages-in-Matroska-and-MKVToolNix
about the switch to using IETF BCP 47 language tags, how
they interact with legacy language elements, how the programs
actually behave and how to disable their use if necessary.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: mkvmerge will
now accept full BCP 47 language tags for all options taking
a language. mkvmerge will always write "LanguageIETF" track
header elements. If the language tag contains a valid ISO
639-2 language code it will also set the legacy "Language"
track header element to the included ISO 639-2 code.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: if present the
"LanguageIETF" track header element will be reported as the
`language_ietf` property in JSON identification mode.
* mkvmerge: IETF BCP 47/RFC 5646 language tags in chapters:
mkvmerge will now write "ChapLanguageIETF" elements when
creating chapter atoms, either when reading the simple
chapter format or when generating
chapters due to the `--generate-chapters` command line
option.
* mkvmerge: IETF BCP 47/RFC 5646 language tags in tags:
mkvmerge will now write "TagLanguageIETF" elements when
creating "simple tag" elements, either when reading tag XML
files or when generating them.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: added an option
`--disable-language-ietf` that causes mkvmerge to only write
the legacy language elements.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: IETF
BCP 47/RFC 5646 language tags in chapters: when reading XML
chapter files the programs will now add "ChapLanguageIETF"
elements for atoms that don't contain them. The values are
derived from existing "ChapterLanguage" elements.
* mkvpropedit: IETF BCP 47/RFC 5646 language tags:
setting/deleting the track language now acts on both the old
language element as well as the "LanguageIETF" track header
element.
* mkvpropedit: IETF BCP 47/RFC 5646 language tags: added an
option `--disable-language-ietf` that causes mkvpropedit to
apply changes to the `language` track header property only
to the legacy language track header element.
* mkvinfo: IETF BCP 47/RFC 5646 language tags: added support
for the "LanguageIETF" track header element.
* MKVToolNix GUI: multiplexer: added full support for IETF BCP
47/RFC 5646 language tags for both track and chapter
languages.
* MKVToolNix GUI: chapter: added full support for IETF BCP
47/RFC 5646 language tags for chapter languages.
* MKVToolNix GUI: header editor: added full support for IETF
BCP 47/RFC 5646 language tags for track header languages.
The header editor allows editing of the legacy language
elements and the IETF BCP 47 language elements independent
of each other.
Other new features and enhancements:
* mkvmerge: the chapter generation mode `when-appending` now
also works with the splitting modes `parts:` &
`parts-frames:` when using the `?,+?` syntax for appending
other sections of the source file to the same destination
file.
* MKVToolNix GUI: multiplexer: the file selection dialogs now
include the extension `.dtsma` for DTS files.
* mkvmerge: MP4 reader: sped up parsing MP4 DASH files with a
lot of segments (`trun` atoms) quite a bit.
* The PCRE2 regular expression library is now used instead of
`std::regex` for big performance improvements in all places
where regular expressions are used for parsing big chunks of
text, e.g. in the subtitle parsers.
Bug fixes:
* MKVToolNix GUI: preferences: under certain conditions
changing the selected entry in the page tree on the left did
not cause the page shown on the right to be updated.
* mkvmerge: splitting text by a fixed string (e.g. `,`) is now
done by using `std::string.find()` instead of using a
regular-expression-based text splitting function, greatly
improving its performance.
* mkvmerge: MP4 reader: fixed handling of `tkhd` atoms of
version 1.
Build system changes:
* The PCRE2 library (the 8-bit variant) is now required.
* Sun Aug 02 2020 aloisio@gmx.com
- Update to version 49.0.0
New features and enhancements:
* mkvmerge: added support for copying the new track header
elements `BlockAddIDName`, `BlockAddIDType`,
`BlockAddIDValue` and `BlockAddIDExtraData` from Matroska
files if they exist.
* mkvinfo: added support for the new track header elements
`BlockAdditionMapping`, `BlockAddIDName`, BlockAddIDType`,
`BlockAddIDValue` and `BlockAddIDExtraData`.
* MKVToolNix GUI: multiplexer: the list of recent directories
can now be edited in the preferences ? "Multiplexer" ?
"Destination file name".
* MKVToolNix GUI: preferences: the values in the various
"predefined values" lists can now be re-ordered freely by
dragging & dropping.
Bug fixes:
* mkvmerge: Matroska reader: when reading tracks (e.g. a
subtitle track) from Matroska files with their `default
track` flag set to `yes`, and when overwriting those via the
command line to `no`, `mkvmerge` would not promote
additional tracks of the same type from other files (e.g.
another subtitle track from an SRT file).
* mkvmerge: SRT reader: empty lines inside entries were
doubled.
* mkvmerge: subtitles: when calculating the rounded duration
of each entry the error from rounding the corresponding
timestamp will be taken into account.
* mkvextract: SSA/ASS extraction: mkvextract is no longer
inserting empty lines before the `Dialogue:` lines.
* mkvextract: USF subtitles: start & end timestamps were too
high by a factor of 1.000.000.
* MKVToolNix: info tool: when saving to a text file the
checkbox "Save as default for saving output to text files"
did nothing.
* MKVToolNix: info tool: when saving to a text file in "all
elements in a tree-like structure" mode, the GUI always
stopped at the first cluster regardless of the setting of
the "verbosity" option.
* MKVToolNix GUI: preferences: when tooltips were disabled the
dialogs for adding new entries to the various "predefined
values" lists were missing their texts.
* configure: fixed detection of QtDBus. Fixes #2886.
Build system changes:
* libMatroska v1.6.1 is now required. The bundled version has
been updated to that version.
* Sun Jun 28 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 48.0.0
New features and enhancements:
* mkvmerge: AC-3: file identification will report AC-3 tracks
encoded in Dolby Surround EX as codec "AC-3 Dolby Surround
EX".
* MKVToolNix GUI: multiplexer: on new installations the GUI
will now recognize all known ISO 639-2 language codes in file
names by default instead of only the top 100 of languages by
native speakers.
* MKVToolNix GUI: multiplexer: on new installations the list
of "often used languages" will by default only contain
certain agnostic ones ("multiple languages", "no linguistic
content", "reserved for local use", "uncoded languages"),
"English" and the default user interface language. The "list
of spoken languages by native speaks" isn't used anymore.
* MKVToolNix GUI: header editor: added an option to remove all
attachments to the tree context menu.
* MKVToolNix GUI: while the GUI is running it will remember
the last page that was selected when the preferences dialog
is closed. Upon re-opening the preferences that page will be
selected by default.
Bug fixes:
* mkvmerge: fixed a segmentation fault when exiting
prematurely due to write errors such as the destination
having run out of space.
* mkvmerge: DTS: fixed wrong channel count for DTS tracks with
XCh extensions.
* mkvmerge: MPEG TS reader: fixed detecting h.264/AVC and
h.265/HEVC tracks that consist of only a single frame.
* mkvmerge: MPEG TS reader: fixed handling of unbounded PES
sizes for tracks that consist of only a single PES packet.
* mkvmerge: MPEG TS reader: PGS subtitle tracks are now exempt
from the "detect bogus subtitle timestamps" heuristic which
could lead to some PGS subtitles not being timestamped
correctly. Symptoms were that they were shown at the wrong
time or that they were shown indefinitely.
* mkvmerge: MPEG TS reader: when reading MPLS playlists the
start timestamps of a play items were handled wrong: all the
timestamps of packets read were compared to that start
timestamp, dropping those packets whose timestamps were
smaller than the play item's start timestamp. The correct
behavior is to accept all packets as soon as the first one
with a timestamp equal to or larger than the play item's
start timestamp is encountered. This could result in PGS
subtitle entries located right at the start of the play item
being garbled/lost as they consist of multiple PES packets
for which some timestamps are often slightly smaller.
* mkvmerge: MPEG TS reader: when reading MPLS playlists
mkvmerge will no longer read the whole M2TS files they
reference, processing only the packets lying inside the
timestamp range given by the playlists's play item's start &
end timestamps. Instead mkvmerge will use the index
information present in corresponding clip information (CLPI)
files in order to seek to the nearest file position of the
play item's start timestamp. Additionally mkvmerge will
simply stop processing a file once the end timestamp is
seen. This change greatly speeds up processing files from
which only small portions must be read.
* mkvmerge: WavPack: fixed support for files created by v5 of
the program. Checksums, DSD audio data and non-standard
sampling rates are handled correctly.
* MKVToolNix GUI: multiplexer: fixed the cursor being
positioned wrong after entering or pasting characters that
aren't allowed in file names into the "destination file"
control.
Build system changes:
* libEBML v1.4.0 and libMatroska v1.6.0 are now required.
Other changes:
* The source code repository's main development branch was
renamed to `main`.
* Tue Jun 02 2020 Michel Normand <normand@linux.vnet.ibm.com>
- Add _constraints file to avoid build error for ppc64/ppc64le
* Sat May 30 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 47.0.0
New features and enhancements:
* mkvmerge: chapters: mkvmerge can now read chapters from DVDs
if the user specifies the path to a DVD folder structure via
the `--chapters ?` parameter. By default chapters from the
first title will be imported. This can be changed by append
`:<title number>` to the file/directory name in the
`--chapters ?` argument, e.g. `--chapters
/srv/dvds/BigBuckBunny/VIDEO_TS:3`. This feature requires
mkvmerge to have been built with the `libdvdread` library.
* mkvmerge: added `--engage append_and_split_flac` that
enables mkvmerge to append and split FLAC tracks, restoring
pre-v45 behavior. The resulting tracks will be broken: the
official FLAC tools will not be able to decode them and
seeking will not work as expected.
* MKVToolNix GUI: multiplexer: added support for mkvmerge's
new support for reading chapters from DVDs if both have been
built with the `libdvdread` library.
* MKVToolNix GUI: multiplexer: when deriving languages from
file names the GUI will now look for simplified language
names instead of the full ones (e.g. instead of looking for
"Greek, Modern (1453-)" it would simply look for "Greek").
* MKVToolNix GUI: multiplexer: the options in the "additional
command-line options" dialog are now sorted alphabetically.
Additionally the `--append-mode` option has been added as
one of the only missing global options.
* MKVToolNix GUI: chapter editor: the chapter editor can now
read chapters from DVDs if MKVToolNix has been built with
the `libdvdread` library.
* MKVToolNix GUI: header editor: added an option in the
preferences for displaying all date & time values in UTC
instead of the local time zone.
Bug fixes:
* all: fixed a crash when using the `MTX_LOGGER=file` syntax
for logging debug messages without specifying a file name to
log to. It will now log to a file called
`mkvtoolnix-debug.log` in the system's default temporary
directory, as initially intended.
Build system changes:
* The `libdvdread` library will be used if found via
`pkg-config`. If it is found, support for reading chapters
from DVDs will be enabled in `mkvmerge` and the MKVToolNix
GUI.
* Boost's Date/Time, Lexical Cast, Range, Range Adaptors,
Tri-Bool, Variant libraries are not used anymore.
* MKVToolNix now requires a C++ compiler & standard library
that support the following features of the C++17 standard:
"`std::variant`", "`std::gcd`". For the GNU Compiler
Collection (gcc) this means v7 or newer; for clang it means
v4 or newer ? the same versions required by earlier
MKVToolNix versions.
* MKVToolNix now requires version 6.1.0 of fmtlib or later for
the `fmt::to_string` function and bugfixes to the formatting
of floating point numbers. If a system-wide version is
installed that's older, the bundled copy will be used.
Version: 46.0.0-bp152.1.10
* Fri May 01 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 46.0.0
New features and enhancements:
* mkvmerge: when splitting, the placeholder `%c` can be used
in the destination file name. It'll be replaced by the name
of the first chapter in the file. Implements #2791.
* mkvmerge: when reading MPLS playlists mkvmerge will include
a tag named `SOURCE_ID` in the track's statistics tags that
conveys the fact that the source was a Blu-ray and what the
track's ID was in the source container. When reading Matroska
file existing `SOURCE_ID` tags will be kept. The format used
is the same format MakeMKV uses. Implements #2774.
* mkvmerge: for audio-only files mkvmerge will now write a cue
entry every 500ms instead of every 2s.
* MKVToolNix GUI: job actions: split up the option "execute
when the job finishes successfully or with warnings" into two
separate options: "?when finishes successfully" and "?when
exits with warnings". Implements #2798.
Bug fixes:
* mkvmerge: Matroska reader: when regenerating UIDs for
chapters mkvmerge will now fix referencing tag chapter UID
targets to have the same values. Fixes #2804.
* mkvmerge: MP4 reader: fixed a crash that could potentially
happen while trying to identify H.265/HEVC tracks.
* mkvmerge: MP4 reader: when reading H.265/HEVC tracks without
a frame offset table (`ctts` atom) present, mkvmerge did not
parse the `hevcC` structure correctly in certain cases,
causing no video frames to be output at all or the output not
being playable. This fixes #2782, a bug introduced in v45.
* mkvmerge: MPLS handling/MPEG TS reader: timestamp
restrictions as given in an MPLS file were only honored for
the first play item, not for subsequent play items. For those
play items the whole referenced file was always copied. Part
of the fix of #2789.
* mkvmerge: MPLS handling/MPEG TS reader: under certain
circumstances mkvmerge copied one frame too many before
switching to the next play item. Part of the fix of #2789.
* mkvmerge: for audio-only files cues will only be created for
I frames (important for e.g. TrueHD where decoding can only
start on a sync frame). Fixes #2790.
* MKVToolNix GUI: fixed a crash that happened when closing the
preferences after having closed at least one multiplexer tab.
Fixes #2785.
* Sat Apr 04 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 45.0.0
New features and enhancements:
* mkvmerge: mkvmerge has never supported appending & splitting
FLAC audio tracks. mkvmerge will now emit error messages
when the user attempts either instead of continuing and
creating invalid FLAC tracks.
* MKVToolNix GUI: added an option in the preferences to turn
on eliding text on tab headers. If enabled, tab names will be
shortened so that all tab headers fit into the window's
width. Implements #2768.
* MKVToolNix GUI: added an option in the preferences to
disable all tooltips.
* MKVToolNix GUI: multiplexer: if the file identification
fails due to a JSON parser error, the output generated by
`mkvmerge` will be output to `STDERR` allowing insight into
what's gone wrong.
* MKVToolNix GUI: multiplexer: if an error occurs during file
identification, the name of the processed file will be
mentioned in the error message.
* MKVToolNix GUI: multiplexer: if an error occurs during
identification of multiple files, the GUI will ask the user
whether to continue or abort the identification process.
Implements #2778.
* MKVToolNix GUI: job queue: added an option in the
preferences for removing completed jobs when exiting the
program depending on their status. Implements #2769.
Bug fixes:
* mkvmerge: H.265/HEVC packetizer: fixed changing the NALU
size length, it was using the wrong offset into the `hevcC`
structure.
* mkvmerge: MP4 reader: fixed calculating the duration of
video tracks that only contain a single frame. Fixes #2747.
* mkvmerge: MP4 reader: if there's no frame offset table
(`ctts` atom) present for H.265/HEVC video tracks, mkvmerge
will determine the timestamp order itself instead of relying
on the timestamps in the MP4 being in the presentation order
required by Matroska. Fixes #2777.
* MKVToolNix GUI: multiplexer: when using the title as part of
the destination file name (both automatically as well as
using the "copy title to destination file name" function) all
characters that aren't valid in a file name are replaced by
hyphens.
* MKVToolNix GUI: multiplexer: the "copy title to destination
file name" function was broken when the "make file name
unique" option in the preferences was disabled. In that case
the file base name was removed regardless of what the title
was set to at the time.
* MKVToolNix GUI: multiplexer: when adding Blu-ray playlists
the GUI used to only look for the English version of the disc
library information (title & cover images). Now the GUI will
present all disc library entries in the "select playlist to
add" dialog & let the user chose which one to use (if any).
Fixes #2765.
* MKVToolNix GUI: multiplexer, info tool: fixed the "warn
before overwriting" check wrt. jobs creating the same file.
Fixes #2758.
* Mon Mar 09 2020 aloisio@gmx.com
- Update to version 44.0.0
New features and enhancements:
* MKVToolNix GUI: header editor: the attachments can now be
reordered via drag & drop. Implements #2753.
Bug fixes:
* mkvmerge: Matroska reader: when encountering certain errors
in the track headers such as the codec ID not being present
mkvmerge will simply skip those tracks instead of exiting
with an error. Fixes #2737.
* MKVToolNix GUI: multiplexer: the "ask before overwriting"
functionality did not look for the correct file names when
splitting was active. Fixes #2741.
* Mon Jan 27 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 43.0.0
New features and enhancements:
* MKVToolNix GUI: using one of the command line options
`--info`, `--edit-headers` or `--edit-chapters` will make
the GUI select the corresponding tool on startup even if no
further file name is given. Implements #2723.
* MKVToolNix GUI: multiplexer: added a setting in the
preferences for changing the location of the MediaInfo
executable for when the user accidentally selected the wrong
one.
Bug fixes:
* mkvmerge: AVC/h.264 parser: the order of the NALUs before
each key frame was sometimes wrong: mkvmerge wrote SPS & PPS
after SEI NALUs. Now SPS & PPS NALUs are always written
before the other NALUs. Patch by Torsten Hauska. Part of the
implementation of #2709 and part of the fix of #2250.
* mkvmerge: AVC/h.264 parser: when additional SPS or PPS NALUs
(with IDs that haven't been seen so far) are found
mid-stream, mkvmerge will prepend all following key frames
with all current valid SPS & PPS NALUs (just like when SPS &
PPS NALUs are overwritten mid-stream). Part of the fix of
[#2250].
* mkvmerge: MPEG TS reader: fixed detection of MPEG-1/2 video
tracks consisting of very few frames. Fixes #2732.
* mkvmerge: Ogg Opus reader: fixed the handling of Ogg Opus
streams that contain a just one Ogg page (`mkvmerge` aborted
with an exception). Fixes #2722.
* MKVToolNix GUI: multiplexer: dragging & dropping XML files
with chapters or tags to the GUI's window was broken in v42.
Instead of adding the file names to the appropriate input
boxes the GUI was running mkvmerge for file identification
purposes which then failed. Fixes #2718.
* Thu Jan 02 2020 Luigi Baldoni <aloisio@gmx.com>
- Update to version 42.0.0
New features and enhancements:
* mkvmerge: added an option for creating byte-identical files:
`--deterministic <seed>`. Part of the implementation of
[#2698].
* mkvmerge: Matroska reader: mkvmerge will remove the `icpf`
atom headers if they're present in frames read from Matroska
files. Implements #2692.
* mkvmerge: MP4 reader: ALAC tracks: the number of channels,
sampling frequency and bit depth are now taken from the
bitstream in order to fix bogus values on the container level.
Implements #2714.
* mkvpropedit: when changing track UIDs the referring elements
in existing chapters & tags will be updated automatically,
too. Part of the implementation of #2700.
* mkvinfo: when the option `-p`/`--hex-positions` is used,
element positions will be output regardless of the verbosity
level. Part of the implementation of #2713.
* mkvinfo: added the option `-P`/`--positions` for showing the
position of each element in decimal regardless of the
verbosity level used. Part of the implementation of #2713.
* mkvinfo: added the option `-o`/`--continue` for continuing
processing when the first cluster is encountered regardless
of the verbosity level used. Part of the implementation of
[#2713].
* mkvinfo: added the option `-a`/`--all` for outputting all
sub-elements (even cues & seek head entries) and not
stopping at the first cluster regardless of the verbosity
level used. Part of the implementation of #2713.
* MKVToolNix GUI: multiplexer: added an option in the
preferences for disabling adding cover images from Blu-ray
discs. Implements #2693.
* MKVToolNix GUI: multiplexer: added mkvmerge's new
`--deterministic` option in the "additional command-line
options" dialog. Part of the implementation of #2698.
* MKVToolNix GUI: header editor:: when changing track UIDs the
referring elements in existing chapters & tags will be
updated automatically, too. Part of the implementation of
[#2700].
Bug fixes:
* mkvmerge: HEVC ES parser: fixed a bug in the slice parser
calculating the size of a field which in turn could have led
to the slice's type being read wrong. Patch by Torsten
Hauska. Fixes #2710.
* mkvmerge: Matroska reader: fixed a segmentation fault when
trying to read a file that uses header removal compression
but no removed bytes are present in the track headers. Fixes
[#2687].
* mkvmerge: MPEG elementary stream parser: fixed an invalid
memory access and use of uninitialized memory that could
happen under certain circumstances. Fixes #2690.
* mkvmerge: RealMedia reader: fixed a division by zero when
all audio timestamps were zero. Fixes #2689.
* mkvmerge: RealMedia reader: fixed an invalid memory access
in the video frame assembly code triggered by invalid data
in the file. Fixes #2691.
Build system changes:
* `std::optional` (C++17 feature) is now used instead of
`boost::optional`.
* `std::regex` is now used instead of `boost::regex`.
Other changes:
* New man page translations into French, Italian, Russian and
Chinese Traditional have been added.
* Fri Dec 06 2019 Luigi Baldoni <aloisio@gmx.com>
- Update to version 41.0.0
New features and enhancements:
* mkvmerge: Matroska reader: Vorbis tracks: stream comments
(aka Vorbis comments) will be converted to Matroska
attachments (for cover arts) and Matroska track tags (for
other comments). Additionally the stream comments will be
removed from Vorbis headers.
* mkvmerge: MP4 reader: added support for reading Opus audio
from MP4 files. Part of the implementation of #2673.
* mkvmerge: MP4 reader: added support for reading VP9 video
from MP4 files. Part of the implementation of #2673.
* mkvmerge: Ogg reader: Vorbis, Opus & VP8 streams: stream
comments (aka Vorbis comments) will be converted to Matroska
attachments (for cover arts) and Matroska track tags (for
other comments). Additionally the stream comments will be
removed from Vorbis headers.
* mkvmerge: WAV reader: added support for reading RF64 files.
* MKVToolNix GUI: multiplexer: the list of predefined track
names is now split up into three lists, one for each track
type (audio, video & subtitles). Part of the implementation
of #2654.
* MKVToolNix GUI: multiplexer: when trying to add thumbnails
for a Blu-ray the GUI will determine the thumbnail's pixel
size from the thumbnail files if the XML file doesn't
contain that information. This works for JPEG and PNG files.
Implements #2674.
* MKVToolNix GUI: general: line edits & combo boxes will now
have a "clear text" button appear whenever they're not
empty. Part of the implementation of #2654.
* MKVToolNix GUI: update check: the dialog showing the latest
news & version information states explicitly where the links
take the user (the MKVToolNix `NEWS.md` file and YouTube
respectively).
Bug fixes:
* mkvmerge: Matroska reader: mkvmerge did not copy the codec's
private data when reading WavPack from Matroska files. Fixes
[#2685].
* mkvmerge: MPLS handling: re-added caching when using MPLS
playlists as input files. Fixes #2666.
* mkvmerge: MPEG TS reader: when reading an MPLS playlist, the
calculation of the minimum timestamp to use for shifting all
output timestamps to zero was wrong. It was wrongfully
considering timestamps from packets it would not copy due to
the MPLS's timestamp restrictions. This could lead to the
first timestamps in the output file being quite large, e.g.
more than a couple of minutes, causing sync problems when
multiplexing together with other files. Fixes #2670.
* MKVToolNix GUI: multiplexer: the automatic switch between
aspect ratio & display width/height wasn't reflected in the
configuration generated for `mkvmerge`. The user had to
change between the two settings manually. Fixes #2660.
* MKVToolNix GUI: multiplexer: the progress dialog shown when
scanning a Blu-ray wasn't closed properly in certain
situations. Fixes #2678.
* MKVToolNix GUI: general: the configured font was not applied
to a lot of controls (e.g. the file & track lists or the
menu entries) on application startup. Instead the user had
to open & close the preferences in order for the font to be
applied to all controls. Fixes #2671.
* Sat Nov 09 2019 Luigi Baldoni <aloisio@gmx.com>
- Update to version 40.0.0
New features and enhancements:
* mkvmerge: MP4 reader: added support for BMP covert art
images.
* MKVToolNix GUI: multiplexer: added an option to disable
deriving the destination file name from the file title.
Implements #2648.
* MKVToolNix GUI: multiplexer: the content of the
"stereoscopy" combo box has been simplified making the box's
minimum width much smaller, allowing the user to resize the
GUI's whole window to a much smaller width.
* MKVToolNix GUI: multiplexer: whenever the user changes the
"aspect ratio" or "display dimensions" controls, the
corresponding radio button will be activated automatically.
Implements #2651.
* MKVToolNix GUI: Windows: added a setting in the preferences
to disable the GUI's dark color mode even if Windows's app
color mode is set to dark. Implements #2646.
* MKVToolNix GUI: Windows: replaced the dark mode introduced
in v39 with another dark mode that's less wasteful with
space between widgets.
Bug fixes:
* mkvmerge: MP4 reader: mkvmerge was reading eight bytes too
many for cover art images. This could cause file
identification to fail when the cover art was located at the
end of the MP4 file. Even if it succeeded, this meant too
much data present in the attachment. Fixes #2650.
* mkvmerge: MP4 reader: covert art images with unknown image
types will be skipped instead of treated as JPEG images.
Build system changes:
* Qt 5.9.0 or newer is now required for building MKVToolNix
GUI.
* Tue Nov 05 2019 Luigi Baldoni <aloisio@gmx.com>
- Update to version 39.0.0
New features and enhancements:
* mkvmerge: Blu-ray: when reading an MPLS playlist mkvmerge
will look up and use chapter names from the Blu-ray's
"track/chapter names" meta data if it exists. Part of the
implementation of 2486.
* mkvmerge: MP4 reader: if present, cover art images (the
`meta.udta.ilist.covr` atom) will be converted into
attachments.
* MKVToolNix GUI: multiplexer: when adding a playlist from a
Blu-ray disc, the disc library meta data will be parsed, and
the biggest thumbnail, if present, will be added as a new
attachment with name `cover.jpg` (extension depends on
thumbnail's extension). Implements #2644.
* MKVToolNix GUI: multiplexer: when adding a playlist from a
Blu-ray disc, the title from the disc library meta data will
be set as the new file title if the disc library meta data
contains one & no title has been set yet.
* MKVToolNix GUI: multiplexer: the automatically generated
destination file name will now be based on the file title if
one is set at that point. This works in conjunction with the
title being said from the Blu-ray disc library meta data.
* MKVToolNix GUI: chapter editor: when reading chapters from
an MPLS playlist the GUI will look up and use chapter names
from the Blu-ray's "track/chapter names" meta data if it
exists. Part of the implementation of 2486.
* MKVToolNix GUI: Windows: added a dark mode that's enabled
when Windows 10's dark mode is turned on.
* translations: added a Bulgarian translation of the programs
& the man pages by ?????? ??????? (see `AUTHORS`).
Bug fixes:
* mkvmerge: attachments without a file name won't be ignored
anymore. Part of the fix of #2642.
* MKVToolNix GUI: header editor: attachments with an empty
name element will be shown as `<unnamed>` as originally
intended. Part of the fix of #2642.
* Linux AppImage: the AppImage will no longer change
directories before running the desired executable allow the
use of relative file names. Fixes #2632.
Build system changes:
* MKVToolNix now requires a C++ compiler that supports the
following features of the C++17 standard: "`[[maybe_unused]]`
attribute", "nested namespace definition",
"structured bindings". For the GNU Compiler Collection (gcc)
this means v7 or newer; for clang it means v4 or newer.
* Boost 1.60.0 or newer is now required.
- Use system nlohmann-json
- Spec cleanup
* Sun Oct 06 2019 Luigi Baldoni <aloisio@gmx.com>
- Update to version 38.0.0
New features and enhancements:
* mkvextract: chapters, tags & cue sheets will now be written
to standard output if no file name is given, same as if `-`
is given as the file name.
* MKVToolNix GUI: job queue: added a new setting in the
preferences' "job queue & job status" section that, when
enabled, will cause the GUI to remove all output files
created by jobs that are either aborted by the user or that
end in an error. Implements #2614.
Bug fixes:
* all programs: macOS: fixed file access if the file name
(including all path components) contains any Unicode
character where NFC (Normalization Form Canonical Composed)
and NFD (Normalization Form Canonical Decomposed) differ,
e.g. German Umlauts. Fixes #2620.
* mkvmerge: when splitting by chapters the user can now split
by chapters coming from one of the appended files, too.
Fixes #2625.
* mkvmerge: AAC reader: fixed reading codec parameters
(channels, sample rate) if a file starts with garbage that
includes valid-but-bogus AAC headers. Fixes #2622.
* MKVToolNix GUI: Hebrew was added to the list of often-used
languages so that it can be selected by default again. Fixes
[#2610].
* MKVToolNix GUI: when updating the GUI's settings from
v37.0.0 or older, the GUI checks if the list of often-used
languages equals the built-in list from v36.0.0. If it does,
it will be updated to the built-in list changed in v37.0.0.
Fixes #2611.
Build system changes:
* Boost's Operators header library is now required.
* Mon Sep 02 2019 Ismail Dönmez <idonmez@suse.com>
- Update to version 37.0.0
New features and enchancements:
* MKVToolNix GUI: the list of often used languages now contains those from
Wikipedia's "List of languages by native speakers" by default. Also by
default only those languages will be shown in the language drop-down boxes.
* mkvmerge: mkvmerge now allows appending AV1, VP8, VP9, H.264/AVC and
H.265/HEVC tracks whose pixel dimensions differ. Implements #2582.
Bug fixes:
* MKVToolNix GUI: multiplexer: fixed a bug in the "make destination file names
unique" logic that caused an existing number-in-parenthesis at the end of
the file base name to be removed in certain situations (e.g. when the first
added file was named `m (3).mkv` and both `m (3) (1).mkv` and `m (3)
(2).mkv` existed already, the GUI was suddenly use `m.mkv` instead of `m (3)
(3).mkv`).
* MKVToolNix GUI: on Windows the GUI is built with a slightly older version of
the Qt library again (5.12.4). The Qt version used in release v36.0.0,
v5.13.0, lead to crashes when doing certain things such as selecting
multiple tracks in the multiplexer. Fixes #2605 and #26008.
* source code: fixed building with Boost 1.71.0. Fixes #2599.
* all: fixed the spelling of the H.264 & H.265 codec names.
* mkvmerge: Blu-ray MPLS handling: mkvmerge will now find corresponding M2TS
files even if the `clip_codec_identifier` playlist item field is not set to
`M2TS` in the MPLS file. Fixes #2601.
* mkvmerge: fixed handling of text files that use both DOS-style and
Unix-style line endings resulting in problems such as text subtitle files
not being parsed correctly. Fixes #2594.
* Wed Jun 26 2019 Luigi Baldoni <aloisio@gmx.com>
- Update to version 35.0.0
New features and enhancements:
* mkvmerge: JSON identification: the "codec name" track
property will be output as `codec_name`. The JSON schema has
been bumped to v12 for this change.
* MKVToolNix GUI: job queue: added a new type of action to
execute after job completion: deleting source files for of
multiplexer jobs. As this is a destructive operation, the
action is disabled by default. Implements #869 and #2570.
Bug fixes:
* mkvmerge: the "codec name" track property wasn't copied from
Matroska files. Fixes #2566.
* MKVToolNix GUI: multiplexer: Windows: clearing the
destination file name will reset the tab name to
"\<No destination file\>" again. Fixes #2571.
* MKVToolNix GUI: multiplexer: the file types were not
re-translated if the UI language was changed. Fixes #2572.
* Fri Jun 07 2019 Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 34.0.0:
* mkvmerge: bugfix: all subtitle frames are now treated as key
frames in order to fix wrong data in source files.
bugfix: AV1: fixed frame timestamp calculation when reading
bitstreams that lack timing information from IVF files.
bugfix: Matroska reader: fixed an infinite loop that could
happen with large video frames and applied timestamp files
due to too much data being buffered at the wrong time.
* Tue Apr 16 2019 Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 33.1.0:
* Build with stack protection
- Update to version 33.0.0:
* mkvinfo: bugfix: when using the `--size` option, mkvinfo will
now report the correctly if an element has an unknown size.
* MKVToolNix GUI: bugfix: info tool: clusters with an unknown
size will now be read and displayed correctly.
bugfix: multiplexer: if a destination file names ends with a
number in parenthesis (e.g. a year such as "(2017)"), that
number will not be stripped anymore during the process of
ensuring the destination file name is unique. Only those suffixes
added automatically in prior attempts to make the file name
unique will be removed.
- Update to version 32.0.0:
* mkvinfo: new feature: when sizes are output the size of the
element's data portion is output in addition to the element's
total size.
* MKVToolNix GUI: new feature: info tool: the element's data
portion is shown as an extra column.
new feature: multiplexer: added column "Delay" to the track list
containing the additional delay to apply during multiplexing.
bugfix: the portable mode wasn't detected correctly when the
current working directory the GUI was started from wasn't the
directory the GUI's executable file was located it.
bugfix: multiplexer: using button to change the current
destination directory to one of the recently used ones did not
update the file name according to the "make file name unique"
setting.
bugfix: multiplexer: the function "set destination file name from
selected file's name" will now only change the destination file's
name but not its path.
* all: fixed handling of Unicode code points > U+FFFF.
- Update to version 31.0.0:
* all programs: New Feature: added a new option
`--abort-on-warnings` that will cause the program to abort after
it has emitted the first warning, similar to how it aborts after
the first error.
* mkvmerge, mkvextract: New Feature: when closing files that were
opened for writing, cached data will not be flushed to storage
automatically anymore. A new option was added to both programs
(`--flush-on-close`) that re-enables flushing for people who are
affected by data loss.
The reason is that automatic flushing causes long delays in
processing queues when the output by mkvmerge/mkvextract isn't
the final product but just an intermediate result to be
processed further.
Bugfix: AVI reader: using DV type 1 AVIs will now result in an
unsupported file type being reported instead of crashing mkvmerge
Bugfix: HEVC: the height of interlaced streams will now be set
correctly to the height of the full frame instead of the height of
a single interlaced field.
Bugfix: MP4 reader: edit lists consisting solely of elements that
mkvmerge doesn't support (such as dwells) are simply ignored.
Before no data was read for such tracks at all.
Bugfix: text subtitles: entries with an explicit duration of 0ms
will now be handled correctly: the 0ms duration will be stored
in Matroska instead of the difference between the current and
the following entry.
* MKVToolNix GUI: New Feature: multiplexer: the dialog previewing
different character sets for text subtitles will now keep the
position of the displayed text when switching between character
sets.
Bugfix: multiplexer, chapter editor: fixed drag & drop handling
with Qt 5.12.0 and newer.
Bugfix: multiplexer: the GUI did not clean up temporary files
created when running `mkvmerge`.
* Tue Mar 19 2019 plater <davejplater@gmail.com>
- Fix Factory build by changing rubygem-rake build requirement to
rubygem(rake) and adding libboost_system build dependency again,
fixes boo#1129626
* Mon Jan 14 2019 Martin Pluskal <mpluskal@suse.com>
- Drop libboost_system dependency as it is not needed
* Sat Jan 12 2019 Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 30.1.0:
* MKVToolNix GUI: bugfix: chapter editor: when opening a
Matroska/WebM file that doesn't contain chapters and later
saving chapters back to them, the editor was truncating the file
down to a couple of KB in size.
- Update to version 30.0.0:
* MKVToolNix GUI: New Feature: multiplexer: a new button was
added next to the "destination file" controls. Clicking it
shows a menu with the ten most recently used output
directories. Selecting one of them will change the destination
file to the selected directory keeping the file name.
New Feature: The ten most recently used values for the "relative
output directory" and "fixed output directory" settings are now
saved. The corresponding settings have been changed into combo
boxes allowing quick access to those recent values.
New Feature: The predefined split sizes and durations can now be
customized in the preferences.
New Feature: chapter editor: added an option in the "Chapter
editor" menu for appending chapters from an existing file to the
currently open editor tab.
New Feature: Added an action in the context menu for copying the
selected entry and all of its children to another open editor tab.
Bugfix: removing a file added as an "additional part" will no
longer cause a crash.
* mkvextract: New Feature: WAV extractor: mkvextract will now
write W64 files instead of WAV files if the file name extension
is `.w64` or if the final file size is bigger than 4 GB, the
file size limit for WAV files.
* mkvmerge: Bugfix: all files opened for writing will now be
flushed once before they're closed. This ensures the operating
system actually writes all cached data to disk preventing data
loss in certain situations such as power outages or buggy drivers
in combination with suspending the computer.
Bugfix: AAC: under certain conditions 8 channel audio files were
taken for 7 channel ones.
- Update to version 29.0.0:
* MKVToolNix GUI: New Feature: added an option in the preferences
for disabling automatic scaling for high DPI displays.
New Feature: The GUI will now prevent the system from going to
sleep while the job queue is running.
* mkvmerge: Bugfix: chapter generation: the start timestamps of
chapters generated in intervals was wrong for files whose
smallest video timestamp was bigger than 0.
Bugfix: MP4 reader: fixed handling of atoms whose size exceeds the
parent atom's size.
Bugfix: the chapter name template will now also be used when
reading Ogg-style chapter files with empty chapter names.
* mkvextract: Bugfix: AAC: mkvextract will now write the program
config element (PCE) before the first AAC raw data packet if the
PCE is present in the `AudioSpecificConfig` structure in the
`Codec Private` Matroska element. The PCE carries vital
information about the number of channels and is required in
certain cases.
* mkvpropedit, MKVToolNix GUI's header editor: Bugfix: in
situations when a one-byte space must be covered by a new EBML
void element the following element must be moved up instead.
If that moved element is a cluster, the corresponding cue
entries will now be updated to reflect the cluster's new
position.
Version: 28.2.0-bp150.2.3.1
* Tue Oct 30 2018 Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 28.2.0
* mkvmerge, mkvinfo, mkvextract, mkvpropedit, MKVToolNix GUI's info
tool & chapter editor: fixed a case of memory being accessed after
it had been freed earlier. This can be triggered by specially
crafted Matroska files and lead to arbitrary code execution. The
vulnerability was reported as Cisco TALOS 2018-0694 on 2018-10-25
(CVE-2018-4022). Fixes boo#1113709.
- Update to version 28.1.0
* mkvmerge: bugfix: AV1 parser: fixed an error in the sequence
header parser if neither the `reduced_still_picture_header` nor
the `frame_id_numbers_present_flag` is set.
bugfix: AV1 parser: when creating the `av1C` structure for the
Codec Private element the sequence header OBU wasn't copied
completely: its common data (type field & OBU size among others)
was missing.
bugfix: Matroska reader, AV1: mkvmerge will try to re-create the
`av1C` data stored in Codec Private when reading AV1 from
Matroska or WebM files created by mkvmerge v28.0.0.
* MKVToolNix GUI: bugfix info tool: the tool will no longer stop
scanning elements when an EBML Void element is found after the
first Cluster element.
- Update to version 28.0.0
* mkvmerge: New feature: AV1 parser: updated the code for the
finalized AV1 bitstream specification.
New feature: AV1 packetizer: updated the code for the finalized
AV1-in-Matroska & WebM mapping specification.
New feature: AV1 support: the `--engage enable_av1` option has
been removed again.
New feature: MP4 reader: added support for AV1.
New feature: DTS: implemented dialog normalization gain removal
for extension substreams.
New feature: VP9: mkvmerge will now create codec private data
according to the VP9 codec mapping described in the WebM
specifications.
bugfix: JSON identification: fixed a bug when removing invalid
UTF-8 data from strings before they're output as JSON.
bugfix: MP4/QuickTime reader: fixed handling of PCM audio with
FourCC `in24`.
bugfix: MPEG transport stream reader, teletext subtitles: the
decision whether or not to keep frames around in order to
potentially merge them with the following frame is made sooner.
That avoids problems if there are large gaps between teletext
subtitle frames which could lead to frames being interleaved
too late.
* mkvmerge, mkvextract: New feature: simple text subtitles:
added a workaround for simple text subtitle tracks that don't
contain a duration.
* mkvextract: New feature: added support for extracting AV1 to IVF.
New feature: IVF extractor (AV1, VP8, VP9): precise values will
be used for the frame rate numerator & denominator header fields
for certain well-known values of the track's default duration.
* MKVToolNix GUI: New feature: automatic scaling for high DPI
displays is activated if the GUI is compiled with Qt ? 5.6.0.
New feature: added a menu item ("Help" ? "System information") for
displaying information about the system MKVToolNix is running on
in order to make debugging easier.
New feature: multiplexer, header editor: the user can enter a list
of predefined track names in the preferences. She can later select
from them in "track name" combo box.
* mkvextract: bugfix: IVF extractor (AV1, VP8, VP8): the frame rate
header fields weren't clamped to 16 bits properly causing wrong
frame rates to be written in certain situations.
* mkvpropedit, MKVToolNix GUI's header editor: bugfix: fixed file
corruption when a one-byte space must be covered with a new EBML
void element but all surrounding elements have a "size length"
field that's eight bytes long already.
* Thu Oct 18 2018 Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 27.0.0:
* mkvmerge: New feature: chapters: the timestamps of chapters
read from containers or from chapter files can be adjusted
(multiplication and addition) with the new
`--chapter-sync` option or using the special track ID `-2`
for the existing `--sync` option.
Bugfix: AC-3: dialog normalization gain removal was corrupting
E-AC-3 frames irreversibly by writing checksums in places where
they didn't belong. Additionally only the first E-AC-3 frame in
a Matroska was processed but not additional dependent frames in
the same block.
* MKVToolNix GUI: New feature: multiplexer: adjusted & added
controls for mkvmerge's new feature of being able to adjust
chapter timestamps.
New feature: multiplexer: the GUI can now ask for confirmation
when the user is about to create a file that won't contain
audio tracks. It does this by default if at least one source
file contains an audio track.
Bugfix: fixed a leak of Windows font resources leading to a
general slowdown and subsequent crash.
- Update to version 26.0.0:
* mkvmerge: New feature: chapter generation: if the name template
given by `--generate-chapters-name-template` is empty, no names
will be generated for the chapter atoms.
New feature: chapters: chapter names generated from MPLS files
will now use the name template if one is set via
`--generate-chapters-name-template`.
New feature: mkvmerge will no longer abort with an error message
if no audio, video and subtitle tracks should be multiplexed.
This allows copying of chapters from non-chapter source files.
Bugfix: Matroska reader: fixed wrong timestamps when appending
Matroska files where the second Matroska file's first timestamp
is bigger than 0.
Bugfix: MP4 reader: fixed division by zero errors during file
identification if the timescale is 0 in the `MVHD` atom.
Bugfix: Windows Television DVR files are now recognized as an
unsupported file type. This prevents mis-detection as MPEG-2
with an accompanying flood of error messages.
* MKVToolNix GUI: New feature: the font size in the tool
selector on the left will scale with the font size the
user selects in the preferences.
New feature: the GUI will no longer automatically resize the
columns in tree and list views to match the content size.
Instead it remembers and restores the widths set by the user.
New feature: multiplexer: the chapter name template will now be
set automatically to the name template in the preferences'
"chapter editor" section. Additionally the option
`--generate-chapters-name-template ?` will be passed to
mkvmerge in situations when mkvmerge will generate chapters.
New feature: chapter editor: if the chapter name template is empty,
chapters will be generated without names.
New feature: chapter editor: added an option to remove all chapter
names to the "additional modifications" dialog.
Bugfix: info tool: under certain circumstances "cues" were shown at
the wrong level (inside the previous master element instead of on
lvel 1).
Bugfix: job queue: fixed invalid memory handling and consequent
crashes when using the "edit in corresponding tool & remove from
job queue" option if one of the files in that job contained
attached files.
* Wed Aug 08 2018 rpm@fthiessen.de
- Update to 25.0.0:
* mkvextract: New feature: VobSub extraction: empty SPU packets
will now be dropped during extraction as other tools such as
MP4Box cannot handle them correctly.
Bugfix: fixed a crash when mkvextract with a non-Matroska file as
the source file.
* MKVToolNix GUI: New feature:: multiplexer: added options to only
enable tracks of certain types by default.
New feature: multiplexer: added an option to enable dialog
normalization gain removal by default for all audio tracks for
which the operation is supported.
New feature: multiplexer: when deriving track languages from the
file names is active and the file name contains the usual
season/episode pattern, then only the part after the
season/episode pattern will be used for detecting the language.
New feature: multiplexer: the regular expression used for deriving
track languages from the file names can now be customized in
the preferences.
New feature: multiplexer: the user can now customize the list of
track languages the GUI recognizes in file names. This list
defaults to a handful of common languages instead of the full
list of supported languages.
Bugfix: multiplexer: when scanning playlists, all playlists were
offered for selection regardless of the value of the "minimum
playlist duration" setting.
Bugfix: multiplexer: deriving track languages from file names:
the regular sub-expressions for ISO 639-1 codes could match
on empty strings, too, causing matches in wrong places and hence
no language being recognized in certain situations.
Bugfix: header editor: fixed a crash when saving the file fails
(e.g. because it isn't writable).
Bugfix: header editor: the editor was wrongfully claiming that
mandatory elements with default values cannot be removed in
the "status" text.
Bugfix: preferences: on macOS & Linux the setting "enable copying
tracks by their type" wasn't restored on program start.
Bugfix: the central area is now scrollable, allowing the GUI to be
resized to almost arbitrary sizes.
Bugfix: multiplexer: the "copy file title to destination file name"
functionality will now replace everything in the destination file
name up to the last period instead of only up to the first period.
* mkvmerge: New feature: SRT/ASS/SSA text subtitles: for files for
which no encoding has been specified, mkvmerge will try UTF-8
first before falling back to the system's default encoding.
New feature: SRT/ASS/SSA/WebVTT text subtitles: a warning is now
emitted if invalid 8-bit characters are encountered outside valid
multi-byte UTF-8 sequences.
New Feature: Matroska & MPEG transport stream readers: the encoding
of text subtitles read from Matroska files can now be changed
with the '--sub-charset' parameter.
New feature: MP4 reader: improved the detection of edit lists
consisting of two identical entries, each spanning the file's
duration as given in the movie header atom. The second entry is
ignored in such cases.
New feature: JSON identification: the "display unit" video track
property is now reported as `display_unit`. The JSON schema has
been bumped to v11 for this change.
New feature: AVC/h.264: empty NALUs will now be removed.
New feature: input: format detection uses file-extension to improve
performance and to give preference when several formats match.
New feature: AV1: added support for reading AV1 video from
Open Bitstream Unit files.
New feature: AV1: adjusted the code for the AV1 bitstream format
changes made up to 2018-05-02 (git revision d14e878).
New feature: MP4 reader: if a track has an edit list with two
identical entries, each spanning the file's duration as given in
the movie header atom, then the second entry will now be ignored.
Improves the handling of files with bogus data.
Bugfix: AVC/h.264 and HEVC: fixed file identification failing
for certain elementary streams due to internal buffers not
being cleared properly.
Bugfix: MLP code: fixed various issues preventing MLP from being
parsed correctly.
Bugfix: TrueHD/MLP packetizer; dialog volume normalization removal
isn't attempted if the track is an MLP track as the operation is
only supported for TrueHD, not MLP.
Bugfix: MPEG TS reader: when reading MPLS mkvmerge will now
compare the MPLS's start and end timestamps against the transport
stream's PTS instead of its DTS. Otherwise the first key frame of
a video track might be dropped if it isn't the first in
presentation order.
Bugfix: JSON identification: mkvmerge will ensure that all strings
passed to the JSON output modules are valid UTF-8 encoded strings
by replacing invalid bytes with placeholder characters. This avoids
the JSON library throwing an exception and mkvmerge
aborting on such data.
Bugfix: audio packetizers: mkvmerge will now keep discard
padding values if they're present for packets read
from Matroska files.
Bugfix: Ogg Opus reader: packet timestamps aren't calculated by
summing up the duration of all packets starting with
timestamp 0 anymore. Instead the algorithm is based on the Ogg page's
granule position and which packet number is currently timestamped
(special handling for the first and last packets in the stream).
Bugfix: E-AC-3 parser: fixed determining the number of channels for
streams that contain an AC-3 core with dependent E-AC-3 frames.
Bugfix: Matroska reader: fixed mkvmerge buffering the whole file if a
video track is multiplexed that consists of only one or a few frames.
Bugfix: the "display unit" video track property will now be kept if
it is set in the source file.
Bugfix: MP3 packetizer: removed a memory leak growing linearly with the
track's size.
Bugfix: VobSub packetizer: whenever a VobSub packet doesn't contain a
duration on the container level, mkvmerge will now set it from
the duration in the SPU packets. Before it was accidentally setting
the SPU-level duration to 0 instead.
Bugfix: track statistics tags: if writing the `Date` element is
deactivated via `--no-date`, the `_STATISTICS_WRITING_DATE_UTC`
isn't written either anymore.
Bugfix: removed several small, constant-size memory leaks.
Version: 22.0.0-bp150.1.3
* Mon Apr 09 2018 rpm@fthiessen.de
- Update to 22.0.0:
* mkvmerge: New feature: AC-3, DTS, TrueHD: added an option for
removing/minimizing the dialog normalization gain for all
supported types of the mentioned codecs.
New feature: AV1: added support for reading AV1 video from IVF,
WebM and Matroska files.
New feature: FLAC: mkvmerge can now ignore ID3 tags in FLAC
files which would otherwise prevent mkvmerge from detecting the
file type.
Bugfix: MP4 reader: fixed reading the ESDS audio header atom if
it is located inside a "wave" atom inside the "stsd" atom.
Bugfix: MP4 reader: AAC audio tracks signalling eight channels
in the track headers but only seven in the codec-specific
configuration will be treated as having eight channels.
Bugfix: MPEG TS reader: fixed wrong handling of the continuity
counter for TS packets that signal that TS payload is present
but where the adaptation field spans the whole TS packet.
Bugfix: the 'document type version' and 'document type read version'
header fields are now set depending on which elements are
actually written, not on which features are active.
Bugfix: the 'document type version' header field is now set
to 4 correctly if any of the version 4 Matroska elements
is written.
* mkvinfo: New Feature: the size and positions of frames
within "SimpleBlock" and "BlockGroup" elements are now shown
the same way they're shown for other elements.
Bugfix: summary mode: the file positions reported for frames in
`BlockGroup` elements did not take the bytes used for
information such as timestamp, track number flags or lace sizes
into account. They were therefore too low.
* mkvpropedit, MKVToolNix GUI header editor: the
'document type version' and 'document type read version' header
fields are now updated if elements written by the changes require
higher version numbers.
Bugfix: mandatory elements can now be deleted if there's a default
value for them in the specifications.
* MKVToolNix GUI: multiplexer: added options for deriving the
track languages from the file name by searching for
ISO 639-1/639-2 language codes or language names enclosed in
non-word, non-space characters.
Bugfix: info tool: implemented reading all elements in the file
after the first cluster. Only top-level elements are shown;
child elements are only loaded on demand.
Bugfix: info tool: added a context menu with the option to show a
hex dump of the element with the bytes making up the EBML ID and
the size portion highlighted in different colors.
In-depth highlighting is done for the data in `SimpleBlock`
and `Block` elements.
Bugfix: chapter editor: added an option to remove all end
timestamps to the "additional modifications" dialog.
- Update to 21.0.0:
* mkvinfo: the GUI portion has been removed. mkvinfo is now a pure
command-line program again.
* mkvmerge: New feature: track statistics tags: the `TagDefault`
element will not be written anymore as it was always set to the
default value `1` anyway.
New feature: JSON files can now contain C++-style line comments
outside of strings. Such comments, even though not part of the
official JSON specifications, are now ignored when reading JSON
files.
Bugfix: Appending files with additional parts at the same time
was broken if more than one additional part was appended.
Bugfix: FLV reader: a single invalid AAC frame was written for
AAC audio tracks with codec initialization data longer than five
bytes.
Bugfix: FLV reader: timestamps will be normalized down to 0.
Bugfix: MP4 reader: if an AAC track doesn't contain an
AAC-specific decoder configuration in the ESDS portion,
then a default decoder configuration will be generated based on
the track's header data instead of skipping the track.
Bugfix: MP4 reader: fixed reading HEVC/h.265 video tracks if
they're stored as Annex B byte streams inside MP4.
Bugfix: Ogg Opus reader: mkvmerge will now emit a warning
instead of aborting when it encounters an Ogg Opus page with
no data in the packet.
Bugfix: Matroska parser: fixed a segmentation fault that
occurred whenever the first level 1 element after resyncing
after an error in the file structure isn't a cluster.
Bugfix: fixed a crash during file type detection for
attachments if MKVToolNix is installed in a path with
non-ASCII characters (e.g. German Umlauts).
* MKVToolNix GUI: New Feature: chapter editor: opening a
Matroska file without chapters in it will now open the file
in an empty chapter editor instead of showing an error message.
New Feature: an "info" tool has been added, replacing the
functionality of mkvinfo's GUI. The functionality is not on
par yet but will be for release v22.
Bugfix: MKVToolNix GUI: Bugfix: multiplexer: the subtitle
character set can now be set for appended subtitle files, too.
Bugfix: MKVToolNix GUI: multiplexer: when appending, all tracks
appended to disabled tracks will start out disabled, too.
* mkvinfo: the `--hex-positions` parameter did nothing in summary mode.
Bugfix: mkvinfo: Windows: line endings will be written as `\r\n`
again instead of just `\n`.
* mkvpropedit: Bugfix: adding track statistics tags: for tracks
with content encoding (compression) mkvpropedit is now
accounting the uncompressed number of bytes, not the encoded
(compressed) number of bytes.
* Sun Jan 21 2018 rpm@fthiessen.de
- Update to 20.0.0:
* Feature removal: several deprecated features have been removed:
mkvmerge: the deprecated options `--identify-verbose`,
`--identify-for-gui`, `--identify-for-mmg` and
`--identification-format verbose-text`
all command line tools: support for the deprecated, old,
proprietary format used for option files
all command line tools: support for passing command line
options via the deprecated environment variables
`MKVTOOLNIX_OPTIONS`, `MKVEXTRACT_OPTIONS`, `MKVINFO_OPTIONS`,
`MKVMERGE_OPTIONS` and `MKVPROPEDIT_OPTIONS`
* mkvmerge: AVC/h.264 packetizer (framed): access unit delimiter
NALUs will now be removed.
bugfix: AVC/h.264 parser: when fixing the bitstream timing
information mkvmerge will now use exact representations of
the desired field duration if possible.
bugfix: AVC/h.264 parser: mkvmerge no longer assumes that
encountering sequence parameter set or picture parameter set
NALUs signal the start of a new frame.
bugfix: AVC/h.264 packetizer (framed): when mkvmerge is told
to fix the bitstream timing information, it will now update
all SPS NALUs, not just the ones in the AVCC.
bugfix: MPEG TS reader: TS packet payloads will only be
treated as PES packets if the payload actually starts with
a PES start code. The prior behavior led to wrong timestamps
and potentially broken frame data.
bugfix: MPEG TS reader: mkvmerge will now drop incomplete PES
packets as soon as an error is detected in the transport
stream instead of passing the incomplete frame to the
packetizer. An error is assumed either if the
`transport_error_indicator` flag is set or if the value of
the `continuity_counter` header field doesn't match the
expected value.
bugfix: Opus: when re-muxing Opus from Matroska mkvmerge will
now write "block duration" elements for all block groups
where a "discard padding" is set, too.
bugfix: SRT reader: mkvmerge can now handle SRT files with
timestamps without decimal places.
bugfix: read buffer I/O class: the class could get out of sync
regarding the file position of the underlying file I/O class
causing wrong data to be returned on subsequent read
operations. One result was that trying to identifying MPLS
files that refer to very short M2TS files caused mkvmerge
to segfault.
bugfix: multiplexer core: if there's a gap in audio timestamps,
a new block group/lace will be started for the first frame
after each gap. Before the fix the frame after the gap was
often stored in the previous block group causing the gap to
be in the wrong place: at the end of that block group.
* mkvextract: bugfix: AVC/h.264: if two consecutive IDR frames
with the same `idr_pic_id` parameter and no access unit
delimiters are found between them, mkvextract will insert an
access unit delimiter in order to signal the start of a new
access unit.
* MKVToolNix GUI: bugfix: update check dialog: Markdown links will
now be converted to clickable links.
* Mon Dec 25 2017 jengelh@inai.de
- Update to new upstream release 19.0.0
* mkvmerge: splitting by duration, by timestamps or by
timestamp-based parts: mkvmerge will now consider the first
key frame within 1ms of the requested value to be eligible
for splitting.
* mkvmerge: fixed reading text files encoded in UTF-16 order
UTF-32 that have different forms of line endings (new lines,
carriage returns or a mix of both).
* MKVToolNix GUI: multiplexer: once a "subtitle/chapter
character set" was set for a track it couldn't be changed
back to the empty entry (= auto-detection) anymore.
* Tue Dec 12 2017 rpm@fthiessen.de
-Update to 18.0.0:
* mkvmerge: bugfix: AAC ADTS parser: fixed interpretation of the
`channel_configuration` header element for ADTS files that do
not contain a program configuration element: value 7 means
7.1 channels.
bugfix: Matroska identification: the `date_local` and
`date_utc` attributes will only be output if the identified
Matroska file actually contains the "date" header field.
bugfix: WebVTT: mkvmerge did not recognize timestamp lines if
the hours components were absent.
enhancement: AVC & HEVC ES parsers: performance improvements
by copying much less memory around.
enhancement: tags: reintroduced a workaround for non-compliant
files with tags that do not contain the mandatory `SimpleTag`
element. This workaround was removed during code refactoring
in release v15.0.0.
* mkvpropedit: bugfix: GUI's header editor: the `date` header
field won't be added automatically anymore whenever the
segment info section is edited and the `date` element is
either deleted or not present in the first place.
* GUI: multiplexer: the "AAC is SBR/HE-AAC/AAC+" checkbox in
the "audio properties" section will be disabled if the
functionality is not implemented for the selected track's
codec & container.
enhancement: multiplexer: the "reduce to core" checkbox in
the "audio properties" section will be disabled if the
functionality is not implemented for the selected track's
codec.
* Wed Nov 08 2017 rpm@fthiessen.de
- Update to 17.0.0:
* The word "timecode" has been changed to "timestamp" everywhere.
This affects program output (including mkvinfo's), GUI controls,
command line parameters (e.g. `mkvmerge --timestamp-scale ?`) and
file formats.
All programs remain backwards compatible insofar as they still
accept "timecode" in all those places.
* mkvextract's command line interface has been changed to allow
extraction of multiple items at the same time.
* mkvmerge: New feature: AC-3: during identification regular AC-3
and E-AC-3 tracks will now be identified differently for most
container formats (exception: AVI, Real Media, Ogg/OGM).
The codec will be reported as `AC-3` for regular AC-3 and as
`E-AC-3` for E-AC-3 tracks instead of the combined `AC-3/E-AC-3`.
bugfix: AAC ADTS parser: mkvmerge will now parse the
`program_config_element` if it is located at the start of an AAC
frame in order to determine the actual number of channels.
This overrides invalid channel configurations in the ADTS headers.
bugfix: fixed AC-3 being misdetected as encrypted MPEG program
streams under certain conditions.
bugfix: Dirac: under certain conditions (e.g. only muxing a single
Dirac track without any other tracks) mkvmerge was always setting
the pixel width & height to 123. The frame rate was wrong, too.
bugfix: E-AC-3 in Matroska: if AC-3 cores and their corresponding
E-AC-3 extension are located in two different Matroska blocks,
then mkvmerge will now re-assemble them into a single block and
only use the first block's timestamp.
bugfix: SRT reader: fixed calculating the duration of entries
starting with at a negative timestamp.
bugfix: VC-1: under certain conditions (e.g. only muxing a single
VC-1 track without any other tracks) mkvmerge was always setting
the pixel width & height to 123. The frame rate was wrong, too.
bugfix: command line options: an error message will be output if
the single-value-form of the `--sync` option is used and it
isn't a number (e.g. `--sync 0:asd`).
* mkvpropedit, GUI's header editor: bugfix: both programs will now
show proper error messages instead of crashing when certain
kinds of data corruption is found when reading a file.
- Update to 16.0.0:
* mkvmerge: New feature MP4 reader: added support for Vorbis.
bugfix: AAC reader: mkvmerge will now emit an error message for
AAC files whose header fields imply a sampling frequency
or number of channels of 0.
bugfix: AVC/h.264 ES parser: fixed the calculation of reference
information for P and B frames. This also fixes some P frames
being marked as B frames and vice versa.
bugfix: AVC/h.264 ES parser: only non-key frames that have the
NALU header field `nal_ref_idc` set to 0 will be marked as
"discardable" in `SimpleBlock` elements. Other half of the
fix for #2047.
bugfix: HEVC/h.265: the generation of the HEVCC structure
stored in `CodecPrivate` was wrong in two places:
1. the position of the number of sub-layers was swapped with
reserved bits and 2. the VPS/SPS/PPS/SEI lists did not start
with a reserved 1 bit.
bugfix: output: the `doc type version` will be set at least
to 2 if certain elements are written (`CodecState`,
`CueCodecState`, `FlagInterlaced`).
bugfix: output: the track header attributes `MinCache` and
`MaxCache` will not be written anymore.
bugfix: Matroska reader: the "key" and "discardable" flags of
SimpleBlock elements will be kept as they are.
bugfix: Matroska reader: if present in the file,
the "white colour coordinate x" track header attribute was
written to both "white colour coordinate x" and
"white colour coordinate y" in the output file.
bugfix: Opus output: mkvmerge will now put all frames with
discard padding into their own block group.
* MKVToolNix GUI: Bugfix: header editor: removed the check for
external modification when saving the file.
bugfix: job queue: fixed calculation of total progress when
automatic removal of completed is enabled.
* Thu Aug 31 2017 rpm@fthiessen.de
- Update to 15.0.0:
* Requires libebml >= 1.3.5
* Dropped disable-update-check.patch (upstream now provides
configure option for disabling the update check).
* mkvmerge, mkvpropedit, GUI's header and chapter editors: the
programs will no longer add most missing Matroska elements that
are mandatory but have a default value in the Matroska
specification (e.g. the `TagLanguage` element with a value of
`und` if it isn't present in its `SimpleTag` parent).
* mkvmerge: the option `--colour-matrix` has been renamed to
`--colour-matrix-coefficients` in order to match the
specification more closely. The old option name will
continue to be recognized as well.
* all: bugfix: selecting the program's language (e.g. via the
`--ui-language`command-line option or via the GUI's
preferences) did not work on Linux & Unix if the `LANGUAGE`
environment variable was set and didn't include the desired
language.
* MKVToolNix GUI: new feature: multiplex tool: added a new entry
to the "source files" context menu labeled "Set destination
file name from selected file's name". It will force the GUI
to consider the selected file to be the reference for
automatically setting the file name, no matter which file was
originally added as the first file. It will also force setting
the destination file name once if automatic destination file
name generation is turned off in the preferences.
new feature: multiplex tool: added an option in the preferences
on "Multiplexer" ? "Output" labeled "Only use the first source
file that contains a video track". If enabled, only source
files containing video tracks will be used for setting the
destination file name. Other files that are added are ignore.
new feature: header editor: added support for editing the video
colour attributes.
new feature: header editor: added support for the "video
projection" track header attributes.
new feature: job queue: selected jobs can now be move up and
down by pressing the `Ctrl+Up` and `Ctrl+Down` keys.
Additionally, push buttons to move them up & down are shown
if the corresponding option is enabled in the preferences.
bugfix: removed the keyboard shortcuts for switching between
the different tools (e.g. `Ctrl+Alt+1` for the multiplexer).
They overlapped with basic functionality on keyboards that
use an `AltGr` key, e.g. German ones, where `AltGr+7` emits
`{`. As `AltGr+key` is implemented as `Ctrl+Alt+key` under the
hood, this means that `AltGr+7` is really `Ctrl+Alt+7` which
the GUI now took to mean "switch to the job queue" instead of
"insert `{`".
bugfix: header editor: after saving the file the GUI wasn't
updating its internal file modification timestamp. That lead
to the GUI wrongfully claiming that the file had been
modified externally when the user wanted to save the file
once more, requiring a reload of the file losing all
modifications made since saving the first time.
* mkvmerge: new feature: added support for the
"video projection" track header attributes.
bugfix: DTS handling: some source files provide timestamps for
audio tracks only once every `n` audio frames.
In such situations mkvmerge was buffering too much data
resulting in a single gap in the timestamps of one frame
duration after frame number `n - 1` (the second audio
timestamp read from the source file was used one output
frame too early).
* mkvinfo: new feature: added support for the
"video projection" track header attributes.
bugfix: fixed a null pointer dereference if an `EbmlBinary`
element's data pointer is a null pointer.
* mkvpropedit: new feature: added support for editing the
video colour attributes.
new feature: added support for the "video projection"
track header attributes.
* Fri Aug 25 2017 rpm@fthiessen.de
- Split boost-devel BuildRequires for Tumbleweed
- Update to version 14.0.0
* mkvmerge, mkvpropedit, MKVToolNix GUI (chapter editor):
new feature: added support for chapters in WebM files that is
spec-compliant by removing all tag elements not supported
by the WebM spec.
* translations: added a Romanian translation of the programs.
* mkvmerge: bugfix: AVC/h.264 and HEVC/h.265 parser: fixed wrong
frame order & timestamp calculation in certain situations when
SPS (sequence parameter sets) or PPS (picture parameter sets)
change mid-stream.
bugfix: MPEG-1/-2 video: the "remove stuffing bytes" feature
introduced in v5.8.0 was broken. In a lot of situations it
did not detect the end of a slice correctly and removed 0 bytes
that were actually part of the slice structure. Often there
were no visual problems as decoders were able to ignore such
errors, but in other cases there are visual artifacts upon
decoding. As detecting the slice end properly requires parsing
the whole slice structure, this feature has been removed again.
bugfix: MPEG PS reader: fixed mkvmerge trying to handle an "end"
code the same way as a "program stream map" code.
bugfix: MPEG TS reader: mkvmerge won't emit warnings if the
system's `iconv` library doesn't support the ISO 6937
character set.
bugfix: when appending fails the error message details (e.g.
"the number of channels differs: 1 and 2") were often not output.
new feature: AAC: implemented support for AAC with 960 samples per
frame.
new feature: identification: if the encoding/character set of a
text subtitle track is known (e.g. because a byte order mark is
present in the file), then it will be output during
identification as the `encoding` property.
new feature: WAV reader: added support for Wave64 files.
* MKVToolNix GUI: bugfix: multiplex tool: implemented a workaround
for a crash that could occur during drag & drop if at least one
of the columns is hidden.
bugifx: multiplex tool: appended tracks can no longer be enabled
(selected for multiplexing) if the track they're going to be
appended to is not enabled.
bugifx: multiplex tool: if the GUI is set to ensure unique output
file names, it will now verify that right before starting to
multiplex/adding the job to the queue, too.
bugifx: fixed the total progress reverting to 0% instead of
staying at 100% when all jobs have finished. This was introduced
by the attempt at fixing the computation of the value of total
progress bar for multiple jobs running.
new feature: multiplexer: if the encoding/character set of a
subtitle track cannot be changed, the GUI will deactivate the
"subtitle character set" drop-down box and ignore changes to it
when multiple tracks are selected. Additionally, if the track's
encoding is known and cannot be changed (e.g. due to a
byte order mark in the file), that encoding will be selected in
the drop-down box automatically. Both changes signal to the user
that she doesn't have to take care of the encoding herself.
new feature: chapter editor: added a function to the "additional
modifications" dialog for calculating and setting the end
timestamps.
new feature: changed the shortcuts for switching between the
various tools from `Alt+number` (e.g. `Alt+1` for the multiplexer
tool) to `Ctrl+Alt+number` in order to avoid clashing with
Windows' input method for arbitrary characters (pressing and
holding `Alt` and typing the codepoint on the number pad).
new feature: added a "Window" menu and entries with shortcuts for
selecting the next (`Ctrl+F6`) respectively previous tab
(`Ctrl+Shift+F6`) in the current tool.
* Thu Jul 13 2017 rpm@fthiessen.de
- Update to version 13.0.0
* mkvmerge: new feature: MPEG TS reader: information about
multiple programs will be output as container properties during
verbose/JSON identification.
bugfix: MP4 reader: MPEG-1/2 video read from MP4 files was written
with an invalid codec ID (e.g. `V_MPEG7`) in certain cases.
bugfix: MPEG PS reader: made the file type detection less strict
so that garbage at the start of the file doesn't prevent detection.
bugfix: MPEG PS reader: (E-)AC-3 tracks were not detected if the very
first packet for that track didn't contain a full (E-)AC-3 frame.
bugfix: MPEG TS reader: fixed mkvmerge not detecting all tracks in
MPEG transport streams containing multiple programs.
bugfix: MPEG TS reader: fixed track content being broken for some
tracks read from MPEG transport streams containing multiple programs.
bugfix: JSON identification: the `stream_id` and `sub_stream_id`
track properties were output as hexadecimal strings instead
of unsigned integers. As the `ts_pid` track property was only
used for MPEG transport streams, its value is now output as
`stream_id` instead, and the `ts_pid` property has been removed.
The JSON schema version has been bumped to 8 due to this change.
bugfix: fixed a crash when appending video tracks where one track
has a CodecPrivate member and the other one doesn't.
bugfix: track statistics tags: the `NUMBER_OF_BYTES` tag
is supposed to contain the number of bytes in a track before any
of the content encoding schemes such as lossless compression
is applied; however, mkvmerge was wrongfully using the number of
bytes after the schemes had been applied.
bugfix: CLPI & MPLS parsers: MPLS and CLPI files with version
number `0300` as used on Ultra HD Blu-ray Discs are
now accepted as well.
* MKVToolNix GUI: new feature: multiplex tool: added a column
"program" to the tracks list. Certain container types such
as MPEG transport streams can contain multiple programs.
The new column will contain the service name (think TV station
names such as "arte HD") for such streams.
bugfix: fixed computation of value of total progress bar for
multiple jobs running.
bugfix: multiplexer, adding new attachments: when the GUI checks
if there's an attachment with the same name it will now
disregard disabled attached files.
new feature: multiplex tool: the dialog asking the user what to
do with dropped files (add to current settings, add to new
settings etc.) now remembers the previous decision and defaults
to it the next time it's shown.
new feature: tabs can now be closed by pressing the middle mouse
button.
* mkvpropedit: bugfix: fixed a crash when the selector used
for `--tags` is invalid.
* Tue Jun 06 2017 olaf@aepfle.de
- Adjust usage of gccN-c++ for Leap42 and SLE12
* Tue May 30 2017 rpm@fthiessen.de
- Update to version 12.0.0
* MKVToolNix GUI: new feature: the key combination
Ctrl+Shift+Space will now toggle the selection of the current
item in all tree views where multiple selections are allowed.
new feature: chapter editor: added the extension `*.cue`
to the "open chapter file" dialog.
bugfix:preferences ? job actions, type "play audio file":
the GUI will no longer clear the audio file name input if the
user aborts the audio file selection dialog.
bugfix: multiplexer tool: the "show command line" dialog will no
longer include the mkvmerge executable's location as the first
argument for the two "MKVToolNix option files" escape modes.
bugfix: header editor: empty track language elements are now
treated the same as those set to invalid ISO 639-2 codes:
as if they were set to `und` = "undetermined".
new feature: watch jobs: the user can now have the GUI execute
an action once as soon as the current job or the whole queue
finishes. The actions are the same ones that can be configured
to be run automatically after job or queue completion.
new feature: implemented several built-in actions that can be
executed either on special events or once via the "watch jobs"
tool. These are: playing an audio file; hibernating, sleeping
and shutting down the computer.
new feature: multiplex tool: added a new option for what to do
after starting to multiplex/adding to the job queue:
"close current settings" will close the current multiplex
settings without opening new ones.
* mkvmerge: New feature: cue sheet parser: if the cue sheet
contains a non-empty `TITLE` entry and if no other segment title
has been set yet, then the segment title will be set to the
cue sheet's `TITLE` value.
new feature: added an option `--no-date` that prevents the "date"
field from being written to the segment information headers.
new feature: FLAC reader: added support for handling embedded
pictures as attachments.
new feature: MP4 reader: Added support for parsing the "COLR"
atom and including its values as track headers.
bugfix: HEVC/h.265 parser: fixed the superfluous copying of the
'bitstream_restriction_flag' and its dependent flags in the
VUI parameters of the sequence parameter sets if the timing
information is present, too.
bugfix: MPEG TS reader, AAC parser: the MPEG TS reader will now
force the AAC parser to use the multiplex mode that the MPEG TS
reader has detected. This prevents the AAC packetizer from
mis-detecting it in its own attempt to identify the mode.
bugfix: MPEG TS reader: valid MPEG transport streams that start
with an h.264/h.265 start code were not recognized as a
supported file type.
bugfix: MPEG TS reader: fixed a potential read access from
invalid memory addresses in the code parsing the program
map table (PMT).
bugfix: MPEG TS reader: if packets are encountered that belong
to a PID not listed in the program map table (PMT), mkvmerge
will attempt to determine their type and codec from the content.
This supported content types are AAC (ADTS only) and AC-3.
bugfix: MP4 reader: fixed finding and parsing the `colr` atom if
there are more than one video extension atoms and the `colr` atom
is not the first one.
bugfix: MP4 reader: the `nclx` colour type of the `colr` atom is
now recognized, too.
bugfix: AAC parser: fixed mis-detection of certain data as valid
ADTS AAC headers resulting in memory allocation failures.
bugfix: AVC/h.264 parser: mkvmerge will now ignore bogus timing
information in the sequence parameter sets.
bugfix: AVC/h.264 & HEVC/h.265 parsers: all trailing zero bytes
will now be removed from NALUs.
bugfix: HEVC/h.265 parser: fixed copying the
`bitstream_restriction_flag` and all dependent fields in the VUI
parameters of the sequence parameter sets.
bugfix: HEVC/h.265 parser: fixed the calculation of the number of
parameter set arrays in the HEVCC data structure stored in
CodecPrivate.
* mkvpropedit: bugfix: header editor: added support for editing the
"date" segment information field.
* Tue Mar 28 2017 rpm@fthiessen.de
- Update to new release 10.0.0
* mkvmerge: new feature AVC/h.264 and HEVC/h.265 parser: mkvmerge
will now drop all frames before the first key frame as they
cannot be decoded properly anyway.
new feature HEVC/h.265 parser: added a workaround for invalid
values for the "default display window" in the VUI parameters
of sequence parameter sets.
bugfix MP4 reader: fixed track offsets being wrong in certain
situations regarding the presence or absence of edit lists
('elst' atoms) & composition timestamps ('ctts' atoms).
bugfix MP4 reader: offsets in "ctts" are now always treated
as signed integers, even with version 0 atoms.
bugfix Matroska reader: fixed handling BlockGroups and
SimpleBlocks with negative timestamps.
bugfix MP3 packetizer: the MP3 packetizer will no longer drop
timestamps from source containers if they go backwards.
This keeps A/V in sync for files where the source was in sync
even though their timestamps aren't monotonic increasing.
bugfix AVC/h.264 parser: mkvmerge will now drop timestamps
from the source container if no frame is emitted for that
timestamp.
bugfix HEVC/h.265 parser: mkvmerge will now drop timestamps
from the source container if no frame is emitted for that
timestamp.
* mkvinfo: the timestamps of SimpleBlocks with negative
timestamps are now shown correctly.
* mkvextract: SSA/ASS: fixed extraction when the "Format"
line in the "[Events]" section contains less fields than the
default for SSA/ASS would indicate.
* Mon Feb 20 2017 rpm@fthiessen.de
- Update to new release 9.9.0
* mkvmerge: AC-3 handling: some source files provide timestamps
for audio tracks only once every n audio frames. In such
situations mkvmerge was buffering too much data resulting in
a single gap in the timestamps of one frame duration after frame
number n - 1 (the second audio timestamp read from the source
file was used one output frame too early).
bugfix MP4 reader: mkvmerge was only reading a small part of MP4
DASH files where the first "moov" "mdat" atoms occur before the
first "moof" atom.
bugfix MP4 reader: edit list ("edts" atoms) that are part of the
"moof" atoms used in MP4 DASH files weren't parsed. Instead the
edit lists from the main track headers inside the "moov" atom
were used.
bugfix MP4 reader: when an MP4 DASH file contained both normal
chunk offset table in their regular "moov" atoms, a
sample-to-chunk table ("stsc" atom) whose last entry had a
"samples per chunk" count greater than 1 and DASH "trun" atoms,
then mkvmerge was calculating wrong positions the frame content.
bugfix MP4 reader: mkvmerge couldn't deal with the key frame index
table having duplicate entries. The result was that only key
frames up to and including the first duplicate entry were marked
as key frames in the output file. All other frames weren't, even
though some of them were referenced from the key frame table
after the first duplicate entry.
bufix MP4 reader: when an MP4 file contained more than one copy of
the "moov" atom (the track headers etc.), mkvmerge was parsing
them all adding tracks multiple times.
bugfix MP4 reader: fixed an integer overflow during the timestamp
calculation leading to files with wrong timestamps. Such files
could not be played back properly by most players.
bugfix MPEG TS reader: if the PMT lists a DVBSUB track, mkvmerge
will now recognize it without having to find a packet for it
within the probed range.
bugfix splitting by parts (both the "timestamps" and the "frames"
variants): fixed the calculation of track statistics tags. When
calculating the duration the skipped portions weren't taken into
account leading to a too-high duration. As a consequence the BPS
tag (bits per second) was wrong, too.
bugfix reading files with DVB/HDMV TextSV subtitle tracks with
invalid CodecPrivate caused mkvmerge to abort with an error
from boost::format about the format string not having enough
arguments.
bugfix: fixed misdetection of certain AC-3 files as MP3 files
which led to an error message that
"the demultiplexer could not be initialized".
bugfix: fixed huge memory consumption when appending big Matroska
files with sparse tracks (e.g. forced subtitle tracks).
The Matroska reader will now queue at most 128 MB of data.
bugfix MP4 reader: the timestamps of all multiplexed tracks will
now be 0-based properly.
bugfix MP4 reader: the DTS-to-PTS offsets given by the "ctts"
atoms are now applied for all tracks containing a "ctts" atom,
not just h.264 & h.265 tracks.
* Some new features and enhancements
- Now required for man pages:
libxslt-tools, docbook-xsl-stylesheets and po4a
* Fri Jan 27 2017 rpm@fthiessen.de
- Update to new release 9.8.0
* mkvmerge: MP4 reader: when an MP4 file contained fewer entries
for timestamps than frames (which they never should), mkvmerge
would use 0 as the timestamp for all the other frames. This
resulted in effects such as the last frame of an output file
having a timestamp of 0 and in split files having a much longer
duration than they should have. Fixes #1847.
bug fix: the MPEG transport stream reader was using an outdated
format for the "CodecPrivate" element for HDMV TextST subtitles.
This has been updated to the current format which only contains
the "dialog style element". Existing Matroska files using this
outdated scheme can be fixed by running them through mkvmerge.
bug fix: files smaller than 4 bytes were wrongly identified as
MPEG transport streams.
bug fix: if a codec delay is set for a track in the input file,
it is kept. Fixes #1849. bug fix: fixed that the error message
"not enough space on disk" was shown twice on some operating systems.
teletext subtitle bug fix: fixed the handling of DVB teletext subtitles
signaled with data unit ID 0x02 and that contain pages from multiple magazines.
bug fix: when using --track-order without specifying all tracks,
the track numbers could end up in a way the user did not expect.
Now mkvmerge will always assign track numbers for those tracks
that are listed in --track-order first. The other tracks are
assigned numbers afterwards. Fixes the second part of #1832.
bug fix: when reading Matroska files the movie title was always
taken from the first Matroska source file, even if that file
didn't have a title set. Fixes one part of #1832.
MP4: fixed detection of MP3 audio when the object type ID in the
ESDS signals MP2 and the track headers have invalid values for
number of channels or sampling frequency. Fixes #1844.
The command line option "--check-for-updates" has been removed.
* GUI: the cache cleanup process that's run automatically when
the GUI starts no longer blocks file identification until it
is finished. Additionally the process will only be run once
per release of MKVToolNix. Fixes #1860.
certain failures during file identification that can be
traced to broken installations won't be stored in the cache
anymore. Without this fix the GUI would still use the cached
failed identification result even though the underlying
might have already been fixed.
multiplexer: changing default values in the preferences (e.g. the
default track language to set) did not affect files whose
identification results had already been cached.
multiplex tool bug fix: under certain circumstances the GUI was
creating invalid JSON files when starting to multiplex resulting
in an error message ("JSON option files must contain a JSON
array consisting solely of JSON strings").
re-worked the startup code not to use lock files when trying to
open a socket for communicating with an already-running instance.
This aims to prevent situations with stale lock files not being
cleaned up and the GUI not starting anymore as a result.
This might fix or prevent issues like #1805.
* A lot of new features and enhancements, please refer to NEWS.md
- Rebased disable-update-check.patch
- spec file cleanup
- Adjusted BuildRequires
* Since 9.7.1 QT >= 5.3 is required
* Since 9.7.1 a c++ compiler with some c++14 features is required
e.g. gcc >= 4.9 or clang >= 3.4
* Wed Nov 30 2016 rpm@fthiessen.de
- Update to new release 9.6.0
* mkvmerge: bug fix: mkvmerge was entering endless loops under
certain conditions when appending files.
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.
* 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
* mkvextract: VobSub bug fix: mkvextract will add a "langidx"
line to the .idx file upon extraction.
* mkvmerge & mkvextract: added support for HDMV TextST subtitles.
* Thu Oct 27 2016 rpm@fthiessen.de
- Update to new release 9.5.0
* mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus
files with comment headers anymore.
WAV reader bug fix: the track properties (channels, samplerate)
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.
WAV reader bug fix: fixed detection and merging of DTS in WAV
that uses the 14-bytes-in-16-bytes packing method.
MPEG transport stream reader bug fix: fixed mis-detection of
certain h.264 files as MPEG transport streams.
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.
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.
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.
* mkvprpedit, MKVToolNix GUI: Added support for "field order"
video track header element.
- Use GPG signature for verification.
* Fri Sep 16 2016 rpm@fthiessen.de
- Update to new release 9.4.2:
* mkvmerge: bug fix: using very large --sync values with certain
container formats was causing mkvmerge to abort muxing.
bug fix: fixed an invalid memory access (use after free)
during global destruction phase.
bug fix: HEVC parser: fixed three invalid memory accesses.
bug fix: MP4 reader: fixed an invalid memory access
bug fix: AAC reader: fixed mkvmerge throwing an uncaught
exception due to the sample rate being 0.
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.
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.
* Thu Sep 01 2016 rpm@fthiessen.de
- Update to new upstream release 9.4.0:
* MKVToolNix GUI: merge tool bug fix: the automatic adjustments
to the output file name based on the track types selected for
muxing and the mechanism for keeping output file names unique
had been broken since release v9.3.0.
chapter editor bug fix: overly long chapter names don't cause
the GUI's window to become overly wide anymore.
* mkvmerge: bug fix: mkvmerge does no longer emit a warning if no
comment header packet is found when reading tracks from
Ogg/OGM files.
bug fix: VP8 in Ogg: fixed dropping the first frame and the
timestamp calculation.
bug fix: when appending files mkvmerge wasn't starting clusters
on video key frame anymore for the first and all following
appended files.
DTS bug fix: if present mkvmerge will use an XLL extension's
sample rate information as the sample rate to put into
the track headers.
* mkvpropedit: bug fix: mkvpropedit will no longer say that it's
writing the changes if only attachment changes are specified
and none of the specified attachments can be found.
* Some enhancements, please refer to the changelog within the
package.
* Fri Jul 15 2016 rpm@fthiessen.de
- Update to new upstream release 9.3.1:
* libebml >= 1.3.4 and libmatroska >= 1.4.5 are now required
* A lot of bugfixes and new features, new mkv elements are
supported, for a list of all changes, please refer to the
changelog provided by the package.
* Tue May 31 2016 rpm@fthiessen.de
- Update to new upstream release 9.2.0:
* mkvmerge: bug fix: the "interval" chapter generation mode was
always creating one chapter too many.
bug fix: if a certain number of chapters had been generated with
- -generate-chapters then mkvmerge wasn't replacing the void
placerholder with the actual chapters.
bug fix: fixed detection of (E-)AC-3 in MPEG TS files with
unusual stream types (e.g. 0x87) but with (E-)AC-3 PMT
descriptors.
* mkvmerge, mkvextract: bug fix: fixed handling of Big Endian PCM
with a bit depth other than 16, 32 or 64 bits/sample. Other
formats were using the Little Endian codec ID, but their content
was actually not byte-swapped to match it. Now those other bit
depths are byte-swapped to Little Endian, too.
* MKVToolNix GUI: merge tool bug fix: the track column "default
track in output" wasn't taking into account if the track had its
"default track" flag set to "no" in the source file. This would
result in the column showing "yes" in certain situations even
though mkvmerge would assign "no".
* Some other improvements, some enhancements and other bugfixes,
please refer to the changelog file provides with the package.
* Mon Apr 25 2016 rpm@fthiessen.de
- Update to new upstream release 9.1.0:
* mkvmerge: bug fix: AVC/h.264: fixed handling of interlaced frames
with bottom field first.
bug fix: mkvmerge will no longer abort reading a Matroska file
with a structural error right before the first cluster.
bug fix: the "text_subtitles" property of the JSON/verbose
identification modes was always set to true for all subtitle
tracks, even for those that aren't text subtitles (VobSub, PG).
bug fix: the language code signaled in the MPEG TS PMT is taken
into account when selecting the character encoding to use
during decoding of the teletext subtitles, not just the
"national character set" stored in the teletext page headers.
* MKVToolNix GUI: bug fix: Fixed huge memory consumption in the
JSON library by updating said JSON library.
bug fix: In merge-tool: when adding playlists the GUI won't ask
the user whether or not to scan if there's only a single
playlist in that directory.