Commit Graph

8939 Commits

Author SHA1 Message Date
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
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