Commit Graph

12715 Commits

Author SHA1 Message Date
Moritz Bunkus
ec80478f87
AppImage: don't use AppRun; set up environment in select-binary.sh instead
The original AppRun contains a hard-coded change to the current
working directory to the mounted installation. This made using
relative file names impossible. However, the MKVToolNix can be run
from anywhere and don't rely on the current working directory.

Fixes #2632.
2019-10-11 11:10:53 +02:00
Moritz Bunkus
c568460c1c
AppImage: fix converting git revision to version number 2019-10-11 10:46:07 +02:00
Danko
606b3750fd
translations: update Serbian Latin 2019-10-10 09:10:55 +02:00
Moritz Bunkus
8b078cb297
build system: fix configure handling of undefined behavior sanitizer arguments 2019-10-08 19:45:03 +02:00
Moritz Bunkus
0d962e30c4
build system: move flag generation to Rakefile for several features
Features include debuging, profiling, optimizations & sanitizers. The
flags don't depend on something that's actually tested, but only on
which features are enabled and which compiler & compiler version is
used. Therefore doing it in Ruby instead of sh is easier.
2019-10-08 00:44:08 +02:00
Moritz Bunkus
aa7bcc8c8f
fourcc_c: refactor byte_order_e enum to enum class
Avoids shadowing of "big_endian" and "little_endian" definitions from
libEBML.
2019-10-08 00:16:50 +02:00
Moritz Bunkus
6b8027d56d
refactor mm_text_io_c byte_order_e to byte_order_mark_e
Add "mark" suffix to all relevant function & variable names. Make enum
an enum class. Rename members from "BO_<UPPERCASE>" to "<lowercase>".
2019-10-08 00:15:34 +02:00
Moritz Bunkus
2dc28e01f0
coreaudio reader: avoid variable shadowing 2019-10-07 21:58:50 +02:00
Moritz Bunkus
63286e2ca1
mkvmerge: refactor file probing/header reading code
Before the file probing code opened the file once, did its thing, and
closed the file again. No information from that stage was available to
the header reading stage. This meant that headers had to be parsed
twice for several formats. The probing function was a static member
function, making passing information to the header reading function,
which was an instance member function, even more difficult.

After refactoring the file is only opened once. The same open file
handle is used by both the probing & the header reading
functions. Both of those functions are now instance member functions,
and the same object instance is used for both calls, allowing passing
information from the probing to the header reading stage.

Additionally this enabled the removal of a lot of boilerplate code
such as passing variables to the various probing functions or handling
exceptions in each probing function instead of in the function calling
the probes. The git diff stats confirm this rather impressively:

78 files changed, 769 insertions(+), 1778 deletions(-)

A net gain of more than 1000 lines.
2019-10-07 20:59:08 +02:00
Moritz Bunkus
544ce54907
mkvmerge: refactor generic_reader_c to store smart pointers to packetizers 2019-10-07 18:25:02 +02:00
Moritz Bunkus
b1e1bd7b6e
macOS: add script for updating specs.sh for newer Qt 2019-10-07 11:51:50 +02:00
Moritz Bunkus
42aa03c09b
macOS: update Qt to 5.13.1 2019-10-07 11:51:35 +02:00
Moritz Bunkus
e98e1c6ec5
bump version number; set release codename 2019-10-06 14:10:16 +02:00
Moritz Bunkus
e7e09fffe3
NEWS: reorder for easier consumption 2019-10-06 13:51:11 +02:00
Paride Barison
a62be58e38
translations: update Italian 2019-10-06 13:42:40 +02:00
Симеон Цветков
45200dd82f
translations: update Serbian Cyrillic 2019-10-06 13:42:30 +02:00
Moritz Bunkus
af42b83278
AAC reader: use probe range info from file type detection stage
There are files that start with garbage, and where that garbage
contains data that forms valid ADTS or LATM headers. In that case the
file type detection might detect the valid data (more than e.g. eight
consecutive valid headers of the same type with the same parameters)
starting at an offset, e.g. at position 100.000.

However, the code reading the file headers later on only looked for
the first header that passed validation, which might mean a header at
a much earlier position in the file — which only looks like a valid
header by accident. The result was wrong codec parameters.

Fixes #2622.
2019-10-06 13:31:11 +02:00
Moritz Bunkus
753a422961
mkvmerge: pass probe range info from file type detection to reader instance
Required for fixing issues with garbage at the start of the file which
might contain bogus headers (see #2622 for an example).
2019-10-06 13:20:47 +02:00
Moritz Bunkus
c3c53b6325
mkvmerge: correctly report file size for progress purposes 2019-10-06 12:52:31 +02:00
Israel Lucas Torrijos
ecd36b83f0
man page translations: update Spanish 2019-09-28 15:40:42 +02:00
Kai Mao
88ffba46b9
translations: update Chinese Traditional 2019-09-28 15:40:29 +02:00
Moritz Bunkus
6edfeaef17
tests: update due to Turkish translation updates 2019-09-28 15:40:14 +02:00
Burak Yavuz
d717ea8185
translations: update Turkish 2019-09-28 15:40:10 +02:00
Симеон Цветков
28bc47bb87
translations: update Serbian Cyrillic 2019-09-28 15:40:03 +02:00
TMTisFree
4c9201360e
translations: update French 2019-09-28 15:39:50 +02:00
Moritz Bunkus
6c5e1618b8
merge: implement splitting by chapter coming from appended files
Fixes #2625.
2019-09-28 15:31:17 +02:00
Moritz Bunkus
43e8590566
extract: write chapters/tags/cue sheets to standard output if no file name given 2019-09-28 15:25:46 +02:00
Moritz Bunkus
3ff1b0dc80
cluster helper: enable adding split points while muxing is running
Before this change the cluster helper relied on all split points being
known before muxing started. This doesn't work when appending chapters
and splitting by them as the start timestamps of appended chapters are
only known when processing the file they're read from starts.

Part of the fix of #2625.
2019-09-28 15:10:57 +02:00
Moritz Bunkus
62716d8949
CentOS spec: add support for CentOS 8 2019-09-27 22:46:20 +02:00
Moritz Bunkus
2afabca04a
info: normalize how fmt formats doubles whose decimals are 0 2019-09-27 18:37:53 +02:00
Moritz Bunkus
95f7d12f48
Revert "build system: verify configured host type is same as current host type"
This reverts commit af744cea80.
2019-09-27 18:02:13 +02:00
Moritz Bunkus
dc9ef62a9f
Merge remote-tracking branch 'mac/master' 2019-09-27 17:27:56 +02:00
Moritz Bunkus
9c50085e3f
all: macOS: normalize file & path names to NFD
Fixes #2620.
2019-09-27 17:27:16 +02:00
Moritz Bunkus
950a55c813
Merge remote-tracking branch 'mac/master' 2019-09-27 17:01:53 +02:00
Moritz Bunkus
af744cea80
build system: verify configured host type is same as current host type 2019-09-27 17:01:22 +02:00
Moritz Bunkus
8ec4021610
macOS build: enable C++17 instead of C++14 2019-09-27 15:52:23 +02:00
Moritz Bunkus
e43d58994b
macOS build: build Boost with same custom iconv as rest of MKVToolNix 2019-09-27 14:24:15 +02:00
Moritz Bunkus
8c3ed2382d
update bundled fmt to v6.0.0
Tests: when outputting floating point numbers, fmt 6.0.0 will no
longer add a fractional part if it's 0 (e.g. "48000" instead of
"48000.0").
2019-09-27 10:16:26 +02:00
Moritz Bunkus
71c6319e26
build fmt without support for user-defined literals
MKVToolNix doesn't use them, has no plans for supporting them, and
using them causes warnings with -Wpedantic in current versions of gcc.
2019-09-11 21:43:25 +02:00
Moritz Bunkus
651b9b7edb
GU: forcefully reset the often used languages list when updating from ≤ v37 2019-09-11 21:00:21 +02:00
Moritz Bunkus
80d82c777e
GUI: use easier-to-read direct comparison operators of version_number_t 2019-09-11 20:55:02 +02:00
Moritz Bunkus
a47add8196
version_number_t: provide all comparison operators via Boost::Operators 2019-09-11 20:54:41 +02:00
Burak Yavuz
0d4ecaee60
translations: update Turkish 2019-09-11 20:31:30 +02:00
Antoni Bella Pérez
7df36f506b
man page translations: update Catalan 2019-09-11 20:31:24 +02:00
Moritz Bunkus
6a8246e7eb
build system: include git commit number since last release in version for dev builds 2019-09-11 20:27:47 +02:00
Moritz Bunkus
4569b4fdb7
all: use functions from version.h instead of PACKAGE_VERSION defininition 2019-09-11 19:00:40 +02:00
Moritz Bunkus
7b6cbf3eaa
man page translations: update list of translatable strings; update German translation 2019-09-10 22:39:54 +02:00
Moritz Bunkus
27ddc1542f
man page translations: update German translation 2019-09-10 22:37:25 +02:00
Moritz Bunkus
b8c1344bb6
mkvpropedit man page: fix incomplete sentences 2019-09-10 22:37:25 +02:00
Moritz Bunkus
02e2bb3d8a
man page translations: update list of translatable strings; update German translation 2019-09-10 22:26:34 +02:00