Commit Graph

8980 Commits

Author SHA1 Message Date
Качура Иван
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
Moritz Bunkus
5b288f259a docs: add (incomplete) JSON schema for mkvmerge's JSON identification output 2015-11-14 16:25:43 +01:00
Moritz Bunkus
0ed286616a GUI: add 48000/1001p to list of known FPS 2015-11-14 16:00:49 +01:00
Moritz Bunkus
3b3952b081 GUI: add 48p to list of known FPS 2015-11-14 14:58:17 +01:00
Moritz Bunkus
7e222cb950 file identification: output JSON number types as 64bit unsigned integers 2015-11-14 13:46:50 +01:00
Moritz Bunkus
76bf4cd6f2 id_info: annotate identifiers with their type 2015-11-14 13:46:37 +01:00
Moritz Bunkus
44e60fe0a8 GUI: cosmetics (alignment) 2015-11-14 12:49:05 +01:00
Moritz Bunkus
25c535f897 GUI: use correct options for linking to next/previous segment UIDs
Fixes #1511.
2015-11-14 12:49:05 +01:00
Moritz Bunkus
af0195e97e README.md: add information about included libraries and their licenses 2015-11-14 12:49:04 +01:00
Moritz Bunkus
0994156ee1 mkvmerge: implement JSON identification output mode 2015-11-14 12:49:04 +01:00
Moritz Bunkus
787c03e672 included_in: don't require types of needle and values to be equal
Allowing different types makes this work:
mtx::included_in(std::string{…}, "…")
2015-11-10 10:19:55 +01:00
Moritz Bunkus
4279d26c85 VC-1: fix duplication of the first sequence headers
Fixes #1503.
2015-11-09 21:52:26 +01:00
Israel Lucas Torrijos
bf7ea05613 translations: update Spanish 2015-11-09 09:27:23 +01:00
Moritz Bunkus
bc596fa06c configure: don't check for libintl if --without-gettext is used
Fixes #1501.
2015-11-08 20:40:48 +01:00
Antoni Bella Pérez
91f2cb9df5 translations: update Catalan 2015-11-08 19:05:18 +01:00
Moritz Bunkus
47f70217bc translations: fix spelling errors in German translation 2015-11-08 18:29:48 +01:00
Moritz Bunkus
8764254b1d saxon_process: inherit dir variables from parent script 2015-11-05 15:34:48 +01:00
Moritz Bunkus
ca2cdbcd5e Bump version number, set release code name, add release message 2015-11-04 20:04:10 +01:00
Moritz Bunkus
4efd21e83b build system: improve clean task 2015-11-04 19:37:26 +01:00
Moritz Bunkus
d4f528d281 docs: remove unused Doxyfile 2015-11-04 19:37:26 +01:00