Using the three-argument variant of the `connect()` call means that Qt
doesn't have an object to track; it just calls a functor. If that
functor uses a pointer to an object, then removing said object means
that the functor will still be called and access a pointer to invalid
memory.
Using the four-argument variant instead allows Qt to automatically
remove the connection when the object in question is removed.
This happens in the case that a multiplexer tab is opened (e.g. on
program startup) closed, and later the preferences are changed.
Fixes#2785.
On macOS the default `xsltproc` installation has the same limit (3000)
as on Linux, but for some reason it exceeds that limit on
macOS. Bumping it to 10000 lets builds succeed on macOS, too.
Fixes#2754.
MP4 files normally contain `ctts` atoms that, together with the
regular atoms for timestamps, determine the presentation timestamps of
all frames. This is important for codecs where the decoding and
presentation order differs, especially AVC & HEVC with B frames.
Matroska timestamps must be presentation timestamps.
When an MP4 file doesn't contain a `ctts` atom for such a track the
timestamps in the MP4 are actually decoding timestamps, not
presentation timestamps. In such a case `mkvmerge` must determine the
presentation timestamps by determining the presentation order by
decoding the frame headers.
Fixes#2777.
The multiplexer tool already verifies the conditions for existing
files taking its own "splitting enabled?" setting into
account. That's knowledge the generic jobs tool doesn't
have. Therefore the info/mux tools do their own check and only let the
job tool pose the question to the user.
The check for existing jobs on the other hand now also also takes into
account whether or not existing mux jobs have splitting enabled.
Fixes#2758.
mkvmerge has never supported appending or splitting audio tracks. The
result has always been tracks with invalid data (e.g. invalid
checksums in the headers).
With this change mkvmerge will abort with an error message instead of
silently continuing & creating invalid FLAC tracks.