Commit Graph

13101 Commits

Author SHA1 Message Date
Moritz Bunkus
14ae71c9b3
mkvmerge: splitting: replace %c by name of first chapter in file
Implements #2791.
2020-04-25 15:30:58 +02:00
Moritz Bunkus
2f7f4b33f9
translations: update list of translatable strings; update German translation 2020-04-25 10:41:03 +02:00
Симеон Цветков
14d4173d46
man page translations: update Bulgarian 2020-04-25 10:38:05 +02:00
Симеон Цветков
cf3429071f
translations: update Bulgarian 2020-04-25 10:37:57 +02:00
Moritz Bunkus
f31d039032
GIU: job actions: split "when successful or with warnings" into separate options
Implements #2798.
2020-04-25 10:34:38 +02:00
Jan Chren
78d525a774
GUI: sysinfo: add support for Linux distro name+version 2020-04-20 18:26:21 +02:00
Moritz Bunkus
f5c1bf8585
MP4 reader: refactor parsing of codec private data 2020-04-20 18:26:12 +02:00
Симеон Цветков
7f7c36c1ad
translations: update Bulgarian 2020-04-20 18:26:12 +02:00
Moritz Bunkus
e7b372c899
MP4 reader: avoid potential invalid memory access 2020-04-20 18:26:06 +02:00
Moritz Bunkus
d281421cd7
MP4 HEVC timing reconstruction: make use of key frame info from MP4 2020-04-18 15:08:21 +02:00
Moritz Bunkus
180baf7552
update comment to reflect new reality 2020-04-14 18:57:34 +02:00
Moritz Bunkus
d2e307d112
mkvmerge: only create cues for I frames in audio-only files
Fixes #2790.
2020-04-14 13:44:40 +02:00
Moritz Bunkus
383bd68337
mkvmerge: write cues every 500ms for audio only files instead of every 2s 2020-04-14 13:01:54 +02:00
Burak Yavuz
dcd5e4bdc0
translations: update Turkish 2020-04-13 22:01:55 +02:00
Timofey Lisunov
47376404f7
translations: update Russian 2020-04-13 22:01:51 +02:00
Paride Barison
53c095699d
translations: update Italian 2020-04-13 22:01:41 +02:00
Xabier Aramendi
a80dd1635f
translations: update Basque 2020-04-13 22:01:33 +02:00
Israel Lucas Torrijos
09d93bc444
translations: update Spanish 2020-04-13 22:01:26 +02:00
Antoni Bella Pérez
35cb5a7558
translations: update Catalan 2020-04-13 22:01:17 +02:00
Andrei Stepanov
41cf65ad5b
man page translations: update Russian 2020-04-13 22:01:06 +02:00
Moritz Bunkus
954e3f1ae7
BDMV dumping: fixed wrong fmt format string 2020-04-13 21:58:10 +02:00
Moritz Bunkus
695b13d673
MPEG TS reader: drop frame if current timestamp is ≥ out_time from MPLS
The Blu-ray specs state that `out_time` is the end time of the last
video presentation unit from the corresponding play item. Therefore a
packet with `timestamp == out_time` must not be copied anymore.

Part of the fix of #2789.
2020-04-13 17:52:33 +02:00
Moritz Bunkus
8f4cac3d95
MPEG TS reader: apply timestamp restrictions for all MPLS play items
MPLS play items contain timestamp restrictions (`in_time` and
`out_time`) that determine which part of the referenced file must be
copied. So far only the first play item's restrictions were
honored. For all other play items in an MPLS playlist the whole files
were copied.

mkvmerge's structure already read those restrictions and passed them
on to all the readers created for the individual files. However, those
readers did not act on them.

Now the restrictions are set before the file headers are read, and the
function parsing those headers takes them into account.

Fixes #2789.
2020-04-12 21:17:23 +02:00
Moritz Bunkus
84075fba24
MPLS dumper: output relative out time, too 2020-04-12 21:15:48 +02:00
Moritz Bunkus
4b6ca5dabd
MPEG TS reader: more debugging output for MPLS timestamp restriction handling 2020-04-12 19:04:22 +02:00
Moritz Bunkus
5f29a94a57
hevcC parser: fix unpacking number of parameter set lists
One list less was parsed then was actually present in the hevcC,
causing e.g. no picture parameter sets to be available to the ES
parser. Therefore no frames were output.

Fixes #2782.
2020-04-12 16:30:26 +02:00
Moritz Bunkus
a1b00956cf
GUI: compile without emit/signals/slots/foreach keywords
Instead use the variants not clashing with keywords/function names
current and future C++ standards introduce (Q_EMIT/Q_SIGNALS/Q_SLOTS).
2020-04-12 14:49:59 +02:00
Moritz Bunkus
4f67ea89fc
GUI: macOS: enable tab header text elision by default 2020-04-10 22:39:33 +02:00
Moritz Bunkus
8de2584e00
GUI: mux: let Qt track signal recipient
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.
2020-04-09 12:07:05 +02:00
Moritz Bunkus
9eb4a11b35
build system: run xsltproc with higher maximum recursion depth
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.
2020-04-07 18:35:17 +02:00
Moritz Bunkus
e7951011a9
Debian/Ubuntu packaging: add qt5-default as requirement
If it's not installed, tool such as `moc` and `uic` won't work
properly, it seems.
2020-04-05 12:45:57 +02:00
Moritz Bunkus
d3d24901f8
bump version number, set release code name 2020-04-04 14:31:14 +02:00
Moritz Bunkus
b827d963c0
NEWS: re-order entries for easier consumption 2020-04-04 14:22:09 +02:00
Moritz Bunkus
1813e97cbf
MP4 reader: derive presentation order for timestamps for HEVC without ctts atom
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.
2020-04-04 14:07:20 +02:00
Moritz Bunkus
ca7767ebe4
HEVC packetizer: NALU size len change: use correct offset into hevcC 2020-04-04 14:04:32 +02:00
Moritz Bunkus
355c3fe3f4
HEVC packetizer: convert to pimpl idiom 2020-04-04 12:47:15 +02:00
Dian Li
9e2e98a010
translations: update Chinese Simplified 2020-04-04 11:21:57 +02:00
Burak Yavuz
9a0176483a
translations: update Turkish 2020-04-04 11:21:37 +02:00
Andrei Stepanov
2d14bfaa04
translations: update Russian 2020-04-04 11:21:31 +02:00
TMTisFree
c28b49723e
translations: update French 2020-04-04 11:21:24 +02:00
Moritz Bunkus
e1e32f058f
GUI: split "check overwrite" checks into existing file & existing job
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.
2020-04-04 11:09:38 +02:00
Moritz Bunkus
11a03cc86b
GUI: move isSplittingEnabled check to MuxConfig 2020-04-04 10:31:52 +02:00
Moritz Bunkus
44192575a2
translations: update list of translatable strings; update German translation 2020-04-02 22:39:50 +02:00
Moritz Bunkus
a86fbb567b
GUI: mux: ask user to continue or abort on failure identifying multiple files
Implements #2778.
2020-04-02 22:36:44 +02:00
Moritz Bunkus
79126cdbf1
GUI: mux: mention file name in identification error messages 2020-04-02 22:16:27 +02:00
Moritz Bunkus
4a3b8712d1
GUI: mux: send mkvmerge's output to qDebug() on JSON parser errors 2020-04-02 22:16:25 +02:00
Moritz Bunkus
ba608ed5e0
GUI: Windows: set verbose message format for qDebug() messages 2020-04-02 22:16:12 +02:00
Moritz Bunkus
943fefe237
tests: run from fastest to slowest 2020-04-02 18:26:31 +02:00
Dian Li
1cb22b4c95
translations: update Chinese Traditional 2020-04-02 18:21:16 +02:00
Dian Li
de48e31a4a
translations: update Chinese Simplified 2020-04-02 18:21:05 +02:00