Commit Graph

8949 Commits

Author SHA1 Message Date
Moritz Bunkus
1c28c9b93c Matroska reader: disable deep scanning unless requested
Seems like popular tools like Haali's writer (which is used by
e.g. x264) don't write seek heads resulting in very long scan times for
big files. Therefore disable deep scans for the time being until a
quicker solution is found.
2015-11-29 08:37:49 +01:00
Moritz Bunkus
58a35037a6 Bump version number, set release code name, add release message 2015-11-28 20:18:02 +01:00
Moritz Bunkus
1b92f8536b man pages: update list of translatable strings; update German translation 2015-11-28 19:24:23 +01:00
Moritz Bunkus
b6baae6d73 Translations: update list of translatable strings; update German translation 2015-11-28 19:24:23 +01:00
Moritz Bunkus
5275907b41 mkvmerge: adjust error message for wrong --identitication-format argument 2015-11-28 19:24:22 +01:00
Moritz Bunkus
f54cbf3976 docs: man pages: document mkvmerge's --identification-format 2015-11-28 19:24:22 +01:00
Moritz Bunkus
9436271a04 tests: adjust for UTF-BOM changes in 2c11d3f 2015-11-28 15:22:06 +01:00
Moritz Bunkus
40816b2e31 docs: extend JSON schema for mkvmerge's JSON identification output 2015-11-28 14:14:10 +01:00
Moritz Bunkus
eeb5dff797 mkvmerge: JSON identification: output empty objects instead of null for properties 2015-11-28 14:14:01 +01:00
Moritz Bunkus
c6e3ea35ea tools: remove JSON schema validation tool
I'm now using the json_schema gem which already includes such a tool.
2015-11-28 13:35:00 +01:00
Moritz Bunkus
2c11d3f3bd all: don't write BOMs for UTF-* encoded text files 2015-11-28 13:11:36 +01:00
Moritz Bunkus
399453599a README.md: fix more typos 2015-11-26 08:30:54 +01:00
Moritz Bunkus
a1545b1144 README.md: fix typos 2015-11-25 23:36:34 +01:00
Moritz Bunkus
36746c0dac GUI: add current user name to socket name 2015-11-25 22:48:59 +01:00
Moritz Bunkus
9062119ac5 kax_reader_c: only output "using packetizer…" once for HEVC tracks
Fixes #1522.
2015-11-25 22:08:52 +01:00
Moritz Bunkus
2ea08319f8 GUI: recode log file encoding of host name to UTF-8
See https://bugreports.qt.io/browse/QTBUG-49640 for the bug description
and rationale.
2015-11-25 21:56:38 +01:00
Jan Mazurczyk
a9355ab443 translations: update Polish 2015-11-25 21:15:38 +01:00
Moritz Bunkus
11ae3660a2 add_po.rb: fix support for Qt translation files that aren't named *base* 2015-11-25 21:14:59 +01:00
Moritz Bunkus
734faa1921 AUTHORS: add Качура Иван for the Russian translation 2015-11-25 20:21:52 +01:00
Качура Иван
00e037909c translations: update Russian 2015-11-25 20:21:46 +01:00
Moritz Bunkus
efe80d1f65 mm_io_c: open MODE_CREATE files for reading and writing on Windows, too
mkvmerge's output file is opened in MODE_CREATE. This mode is supposed
to create the file if it doesn't exist, to truncate it otherwise and to
open it for writing. The fix for #1498 requires reading from the file,
too, and therefore the file must be opened for reading, too.

On non-Windows systems MODE_CREATE was already translated into opening
for reading and writing.
2015-11-24 21:41:08 +01:00
Moritz Bunkus
43cd756488 mkvmerge: more debug output for rerending track headers 2015-11-24 21:40:56 +01:00
Moritz Bunkus
6747ed3925 JSON: use uint64_t as storage type by default
Otherwise 64bit values > maximum int64_t are output as signed ones, and
mkvmerge doesn't need to output signed integer values at the moment.

I've also opened an issue for that:
https://github.com/nlohmann/json/issues/151
2015-11-22 17:23:26 +01:00
Moritz Bunkus
1e0a545e72 Matroska reader: identification: output audio bits per sample track property 2015-11-22 17:13:43 +01:00
Moritz Bunkus
4762f3cd92 Matroska reader: use file analyzer if no seek head found before first cluster
This allows mkvmerge to find level 1 elements (attachments, chapters,
track headers, segment info, tags) located at the end of the file if
there's no seek head at the start, for whatever reason (e.g. bugs in
mkvpropedit).

As such analysis takes time that grows linearly with the file size it
won't be used for all files. It can be forced to be used with "--debug
kax_reader_use_analyzer", though.

See #1513 for a use-case.
2015-11-22 13:42:33 +01:00
Moritz Bunkus
cb584d26e0 kax_analyzer_c: refactor debug variable name 2015-11-22 13:41:56 +01:00
Moritz Bunkus
8b5fae0db8 kax_analyzer_c: refactor to use the general mm_io_c instead of mm_file_io_c 2015-11-22 12:39:31 +01:00
Moritz Bunkus
5282f7964a kax_reader_c: refactor deferred level 1 element reading into its own function 2015-11-22 12:06:35 +01:00
Moritz Bunkus
c9cd981188 update MKVToolNix home page URLs 2015-11-22 11:13:59 +01:00
Moritz Bunkus
bc8dcc9e42 translations: remove obsolete entries 2015-11-22 11:13:38 +01:00
Moritz Bunkus
33abbc8025 GUI: header editor: let "status" label adjust its height to match its content
Fixes #1517.
2015-11-21 18:42:33 +01:00
Moritz Bunkus
889c9d27b4 GUI: change working directory to $HOME on startup
Fixes #1518.
2015-11-21 18:32:14 +01:00
Moritz Bunkus
dfc6deaf9f ebml_validator: don't treat unknown-sized segment as a warning 2015-11-21 15:22:52 +01:00
Moritz Bunkus
2c0c476a4f ebml_validator: calculate end pos correctly for parents with unknown size 2015-11-21 15:17:45 +01:00
Moritz Bunkus
cd26a118b2 build system: build ebml_validator tool when not cross-compiling
The tests using mkvpropedit run ebml_validator afterwards. Therefore the
tool should be built if there's a chance the tests are run.
2015-11-21 15:07:39 +01:00
Moritz Bunkus
d867a79d97 build system: use {EBML,MATROSKA}_{CFLAGS,LIBS} from pkg-config if not internal 2015-11-21 11:56:27 +01:00
Moritz Bunkus
7993dd346c kax_analyzer: make room for seek head if neither room nor seek head is present
Fixes #1516.
2015-11-21 10:12:54 +01:00
Moritz Bunkus
90a358ea03 list_utils.h: cosmetics: alignment 2015-11-21 10:12:54 +01:00
Moritz Bunkus
a28f352ef6 kax_analyzer_c: re-factor bigger functions into smaller ones 2015-11-21 10:12:54 +01:00
Moritz Bunkus
5bfb8bfcfc docs: extend JSON schema for mkvmerge's JSON identification output 2015-11-18 22:43:25 +01:00
Moritz Bunkus
91f2f1f9b9 id_info: annotate identifiers with their scope 2015-11-18 22:17:48 +01:00
Moritz Bunkus
1574e31433 kax_file_c: cath std::runtime_error instead of libEBML's CRTError 2015-11-18 19:20:27 +01:00
Moritz Bunkus
e1115cca69 docs: extend JSON schema for mkvmerge's JSON identification output: attachments 2015-11-17 22:17:28 +01:00
Moritz Bunkus
d0193dc354 build system: only use -O2 with 32bit mingw cross compilers >= 5.1.0
MXE has recently reverted to 4.9.x, and that line still produces fine
binaries with -O3.
2015-11-17 22:16:22 +01:00
Moritz Bunkus
4f81ecb899 mkvmerge: handle chapters and attachments when re-writing track headers
The layout is: track headers, void, attachments, chapters,
clusters. When extending the void there are elements for attachments and
chapters in memory whose position will change; therefore their in-memory
copies will have to be updated, too.

Fixes #1498 but also applies to #1485.
2015-11-15 23:07:17 +01:00
Moritz Bunkus
90ea8cee82 mkvmerge: extend file by right amount when rewriting track headers
The number of bytes the file will grow by is "delta", not the amount of
bytes having to be relocated.

Partial fix for #1498; also applies to #1485.
2015-11-15 23:07:08 +01:00
Moritz Bunkus
3cfbd77d4c mkvmerge: more debug output for rerender_track_headers() 2015-11-15 22:38:49 +01:00
Moritz Bunkus
14292befca RPM spec file: build debug info 2015-11-15 22:01:02 +01:00
Moritz Bunkus
30202897c8 docs: document requirement change for gcc (>= 4.8.0) and clang (>= 3.4) 2015-11-15 17:20:36 +01:00
Moritz Bunkus
854c3aa504 tools: add JSON schema validation tool 2015-11-14 16:28:26 +01:00