Commit Graph

15319 Commits

Author SHA1 Message Date
Fúlvio Alves
e8c71d5cc5
program translations: update Brazilian Portuguese 2022-12-16 13:19:54 +01:00
Grzegorz Pruchniakowski
983e24732a
program translations: update Polish 2022-12-16 13:19:44 +01:00
Camiel K
7547b32c67
program translations: update Dutch 2022-12-16 13:19:24 +01:00
Moritz Bunkus
a244f7d0c7
cosmetic: doc translations: adjust comment style 2022-12-16 13:17:11 +01:00
Moritz Bunkus
04ff8f76a5
macOS packaging: read config.local.sh if present 2022-11-24 20:46:07 +01:00
Moritz Bunkus
99ee3d5f85
macOS packaging: make path to build-number file local 2022-11-24 20:45:41 +01:00
Moritz Bunkus
ac718c9a02
configure: link against Ogg during FLAC detection
On my macOS installation `pkg-config --libs flac` doesn't include Ogg,
and the linker won't search for the library automatically. This means
that FLAC detection fails due to unresolved, Ogg-related symbols.

Fixes #3439.
2022-11-24 20:44:20 +01:00
Moritz Bunkus
ad3dfa6c49
GUI: job output: "clear output" resets full output, too
The job output is stored in two places: the UI elements visible to the
user, and an internal string array. The latter is used when saving the
output as it reflects the order in which lines arrived in,
intermingling regular output lines & warnings/errors properly.

The "clear output" functionality only cleared the UI elements, but not
the internal string array. This meant that any "save output" action
run after a "clear output" action would write all lines received
during the current run of MKVToolNix GUI.

Now "clear output" also clears the internal string array.

Fixes #3438.
2022-11-24 19:10:34 +01:00
Moritz Bunkus
bd95b10109
Base64 decoder: only make two allocations instead of resizing in loop 2022-11-14 20:09:41 +01:00
Moritz Bunkus
6374096d6c
tests: add unit test for Base64 encoding & decoding 2022-11-14 19:59:06 +01:00
Moritz Bunkus
275e21684f
fix spelling mistake in info where splitting was done (GUI mode)
See #3421.
2022-11-14 19:39:48 +01:00
Moritz Bunkus
b947762a71
macOS build: set default target directory ~/opt 2022-11-13 15:00:17 +01:00
Moritz Bunkus
d5cfc58eb0
bump version number, set release code name 2022-11-13 12:55:13 +01:00
Moritz Bunkus
39cbe03aa2
re-order NEWS for easier consumption 2022-11-13 12:49:53 +01:00
Moritz Bunkus
a8d189ff3f
AV1 parser: reset position properly if not enough data for parsing OBU header
The OBU header is at least one byte long, and mkvmerge only really
supports headers with a size field present, making it at least two
bytes long. However, the size field is encoded with a variable-width
encoding (leb128), making it impossible to determine if there's enough
data to parse the header without parsing the header.

If there's not enough data, a "end of data" exception is thrown by the
bit reader. Unfortunately that exception hadn't been caught in the AV1
parser, causing it to restart the next parse in the middle of an OBU,
effectively halting all AV1 parsing at that point.

This fix will remember the last known-good parser position before
trying to parse the OBU header. If that fails with an "end of data"
exception, the position will be reset to the last known-good position,
and parsing will resume from there once more data has been added.

Fixes #3431.
2022-11-07 20:57:29 +01:00
Moritz Bunkus
5a48eee5e7
AV1 parser: add more debug output 2022-11-07 20:57:28 +01:00
Moritz Bunkus
aa2c5941ea
AV1: shrink OBU size fields if possible 2022-11-07 20:57:28 +01:00
Moritz Bunkus
62b9bc38ff
bit writer: add put_leb128() implementation for AV1 2022-11-06 20:18:30 +01:00
Moritz Bunkus
bba41f81dd
AV1: move leb128 reading function into bit reader class 2022-11-06 19:59:26 +01:00
Andrei Stepanov
c4961179eb
program translations: update Russian 2022-11-06 11:10:57 +01:00
TMTisFree
38dc04a187
program translations: update French 2022-11-06 11:10:50 +01:00
TMTisFree
5291d2097c
man page translations: update French 2022-11-06 11:00:37 +01:00
Moritz Bunkus
a9c7243e65
configure: FLAC: use pkg-config for libFLAC detection
Newer libFLAC in MXE require a preprocessor definition of
`FLAC__NO_DLL` to signal that libFLAC wasn't built as a DLL. Otherwise
the linker will look for the wrong symbol names.
2022-11-05 19:36:16 +01:00
Antoni Bella Pérez
73bb951232
program translations: update Catalan 2022-11-04 19:05:50 +01:00
Moritz Bunkus
12e5b75969
autogen.sh: remove ineffective version check for autoconf 2022-11-04 18:57:40 +01:00
Moritz Bunkus
a03df87fe8
configure: adjust to autoconf 2.71 & require at least 2.69 2022-11-04 18:56:43 +01:00
Moritz Bunkus
0af0762818
GUI: Linux: disable desktop notification functionality for the time being 2022-11-04 16:04:38 +01:00
Moritz Bunkus
38d8ae3f52
GUI: optionally show a desktop notification after job queue changes (Linux)
This lays the foundation for showing desktop notifications in the
preferences via the "run programs after…" mechanism. It also adds an
implementation for Linux/Unix systems via Qt & D-Bus.
2022-11-04 15:26:58 +01:00
Moritz Bunkus
95fe2f1f62
configure: define HAVE_QTDBUS for Qt6 on non-Windows
The module itself had already been required anyway, but that wasn't
signalled to the source code.
2022-11-04 15:13:03 +01:00
Moritz Bunkus
20bb32e4c0
tests: use json-schema gem instead of json_schema
The former is much more popular and seems to be actively maintained.
2022-11-04 13:43:50 +01:00
Moritz Bunkus
e1897dc4a1
Maxtroska reader: skip EBML Void, Crc32, Dummy elements before Segment 2022-11-03 21:47:52 +01:00
Moritz Bunkus
aa5db255b0
merge: optionally write an EBML Void element before the first segment
Can be activated with the `--debug void_before_segment` option.
2022-11-03 21:36:08 +01:00
Moritz Bunkus
9e065de814
avilib: prevent format buffer overflow 2022-11-03 21:17:27 +01:00
Moritz Bunkus
0cd6f01878
build system: disable stringop-overflow warning
…due to too many false positives with libfmt. See
https://github.com/fmtlib/fmt/pull/2442#issuecomment-891263411
and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
2022-11-03 21:16:13 +01:00
Moritz Bunkus
2c55c3d67e
VobSub extractor: refactoring codec private comparison 2022-11-03 13:15:47 +01:00
Moritz Bunkus
577f4dd26a
tests: add case for extracting VobSubs without CodecPrivate 2022-11-03 13:15:17 +01:00
Moritz Bunkus
6718ac399e
extract: use & prefer IETF BCP 47 language tags for subtitle extraction 2022-11-03 13:05:31 +01:00
Moritz Bunkus
075f5ad14f
Merge remote-tracking branch 'tomty89/vobsub' 2022-11-03 12:38:16 +01:00
Moritz Bunkus
5ddda6d76b
GUI: mux: attachments: attach files from dropped directories
Implements #3410.
2022-11-03 12:35:27 +01:00
Timofey Lisunov
138609418a
program translations: update Russian 2022-11-03 11:57:56 +01:00
Roberto Boriotti
3cc1766793
program translations: update Italian 2022-11-03 11:57:49 +01:00
Israel Lucas Torrijos
be154679a0
program translations: update Spanish 2022-11-03 11:57:41 +01:00
Moritz Bunkus
9d43d86f85
kax analyzer: handle "existing seek head too small" situation properly
Often the programs have to relocate the Master elements in which the
modifications were done. In that case the Seek Head elements must also
be updated to reflect to the Master elements' new positions.

The analyzer tries to re-use existing Seek Head elements at the start
of the file. If it is too small, it'll be relocated to the end of the
file & a new compact Seek Head will be created at the front
referencing the relocated one at the back. The newly created Seek Head
will be placed in the position of the relocated Seek Head.

Unfortunately it's possible that the space vacated by the relocated
Seek Head is so small that a newly created Seek Head doesn't fit into
it. In that case the analyzer would end up in an endless loop, trying
to write data to the end of the file until the drive's full or the
program's killed.

The solution is not to use that space (by overwriting it with an EBML
Void element) & trying to find a different place at the start. This
can be an existing EBML Void element big enough for it, or by
relocating another level 1 element (such as Info, Tracks, Chapters
etc.) & using the space freed up by that relocation.

Fixes #3338.
2022-11-03 11:51:48 +01:00
Moritz Bunkus
b8e9a52253
kax analyzer: add more debug output 2022-11-03 11:35:24 +01:00
Moritz Bunkus
475248d560
kax analyzer: refactoring 2022-11-03 11:33:21 +01:00
Moritz Bunkus
3ef2c2a362
fix formatting thousands in file sizes 2022-11-02 20:35:15 +01:00
Moritz Bunkus
94d3ea19b4
translations: update list of translatable strings; update German translation 2022-11-02 19:57:10 +01:00
Andrei Stepanov
a8ffea4e25
program translations: update Russian 2022-11-02 19:57:09 +01:00
Roberto Boriotti
f5329502e1
program translations: update Italian 2022-11-02 19:57:09 +01:00
Moritz Bunkus
14ea72e8fa
GUI: info: add file meta data on top of each tab
Adds the file's name & directory, its size & last modification
timestamp at the top of each tab.

Implements #3407.
2022-11-02 19:57:09 +01:00