Commit Graph

10944 Commits

Author SHA1 Message Date
Moritz Bunkus
8b977f9c40 NEWS: update for Romanian translation 2017-07-22 17:51:40 +02:00
Moritz Bunkus
4037f1aa0d translations: integrate Romanian translation 2017-07-22 16:00:11 +02:00
Daniel
7cdfe766ff translations: added a Romanian translation 2017-07-22 15:42:05 +02:00
Moritz Bunkus
fe6756147a Rakefile: fail properly if DocBook stylesheet isn't found
xsltproc always exits with 0 even if it fails.
2017-07-22 15:37:14 +02:00
Moritz Bunkus
264cbfd1ab man page translations: update list of translatable strings; update German translation 2017-07-22 14:59:53 +02:00
Moritz Bunkus
c66f9f2d79 translations: update list of translatable strings; update German translation 2017-07-22 14:59:53 +02:00
Moritz Bunkus
a6fbfa1e70 GUI: chapters: add support for chapters in WebM
Chapters and tags in WebM only allow a subset of elements. The
unsupported ones must be removed before chapters are written to a WebM
file.

Implements MKVToolNix GUI's chapter editor's part of #2002.
2017-07-22 14:59:53 +02:00
Moritz Bunkus
191384fe63 propedit: WebM & tags: remove unsupported elements
Inspired by #2002.
2017-07-22 14:59:53 +02:00
Moritz Bunkus
16db13aa23 propedit: add support for chapters in WebM
Chapters and tags in WebM only allow a subset of elements. The
unsupported ones must be removed before chapters are written to a WebM
file.

Implements mkvpropedit's part of #2002.
2017-07-22 14:59:53 +02:00
Moritz Bunkus
6bb11a2762 kax_analyzer_c: provide callers with check for WebM
Callers can use this check to handle elements such as chapters and
tags differently.
2017-07-22 14:59:53 +02:00
Moritz Bunkus
23b3d6d7a6 kax_analyzer_c: allow caller to take care of mandatory elements
Chapters and tags in WebM only allow a subset of elements, among them
certain elements that are mandatory in Matroska. So if the caller is
already aware of that, it can take care of them properly so that the
analyzer doesn't have to anymore.
2017-07-22 14:59:53 +02:00
Moritz Bunkus
4ea7659e7d kax_analyzer_c: store EBML head; let callers retrieve it
Callers can use the EBML head in order to determine whether a file is
a WebM or a Matroska file (via the "doc type" child).
2017-07-22 14:59:53 +02:00
Moritz Bunkus
480bbb8766 docs: correctly describe mkvmerge's handling of chapters & tags in WebM mode
Implements the documentation part of #2002.
2017-07-22 14:59:52 +02:00
Moritz Bunkus
3b9b74e052 mkvmerge: add support for chapters in WebM files
Implements mkvmerge's part of #2002.
2017-07-22 13:30:32 +02:00
Moritz Bunkus
60f384f3a0 GUI: mux: ensure output name uniqueness before adding to queue
Otherwise the following steps would end up overwriting an existing
file:

* add a file
* start multiplexing
* re-use the same settings
* don't change anything regarding files & track selection (but modify
  e.g. a track language)
* start multiplexing again

Fixes #2052.
2017-07-22 10:56:04 +02:00
Moritz Bunkus
8e270adcef WAV reader: implement Wave64 support
Implements #2042.
2017-07-21 22:17:04 +02:00
Moritz Bunkus
5594270cd9 WAV reader: split demuxer modules into their own files 2017-07-21 19:57:23 +02:00
Moritz Bunkus
b643c205d8 memory_c: remove implicit char*/void* operators 2017-07-21 17:33:22 +02:00
Moritz Bunkus
3b2ff9b6ae memory_c: add comparison operators with strings constants 2017-07-21 17:16:18 +02:00
Moritz Bunkus
7fb3003919 AAC: store GA specific config & handle 960 samples/frame
Implements #2031.
2017-07-20 21:57:53 +02:00
Moritz Bunkus
a294563922 ac3parser tool: fix includes for mm_io_c exceptions 2017-07-20 20:18:19 +02:00
Moritz Bunkus
12b5788873 man pages: fix link to JSON schema for mkvmerge's identification output
Fixes #2050.
2017-07-20 19:39:10 +02:00
Dean Lee
c47ea4d580 translations: update Chinese Simplified 2017-07-20 19:27:22 +02:00
Burak Yavuz
fa71c4efac translations: update Turkish 2017-07-20 19:27:15 +02:00
Timofey Lisunov
03b9157619 translations: update Russian 2017-07-20 19:27:06 +02:00
Potato
86255f1521 translations: update Korean 2017-07-20 19:27:00 +02:00
TMTisFree
a0909aeafc translations: update French 2017-07-20 19:26:56 +02:00
Xabier Aramendi
c04662585c translations: update Basque 2017-07-20 19:25:35 +02:00
Antoni Bella Pérez
deb3cba871 translations: update Catalan 2017-07-20 19:24:57 +02:00
Roberto Boriotti
627926cbc6 translations: update Italian 2017-07-20 19:23:26 +02:00
Moritz Bunkus
9baa010848 bit_writer_c: let writer manage memory on its own 2017-07-19 23:07:27 +02:00
Moritz Bunkus
319c8009e0 bit_writer_c: tests, eof(), get_remaining_bits() 2017-07-19 16:45:27 +02:00
Moritz Bunkus
f01afa73fb bit_cursor.h: split into bit_reader.h and bit_writer.h 2017-07-19 15:49:06 +02:00
Moritz Bunkus
f8e425714e configure: look for nlohmann/json.hpp first, json.hpp second
The upstream project intends the include files to be installed in
`$includedir/nlohmann/json.hpp`,
e.g. `/usr/include/nlohmann/json.hpp`. Debian did not follow that
recommendation and installed them directly in `$includedir`. Therefore
`configure` was only looking for the latter, not the former.

However, Debian will soon follow suit. Therefore detection has been
extended to check for the intended location first.

Fixes #2048.
2017-07-17 20:58:19 +02:00
Moritz Bunkus
35b6f3ba15 AAC: calculate & store samples/frame from GASpecificConfig
It's not used yet.
2017-07-16 20:16:51 +02:00
Moritz Bunkus
9f028db1d4 AAC packetizer: fix compilation with gcc 4.9.x
Initializing the structure with {…} yields the following error
message:

src/output/p_aac.cpp: In constructor
  ‘aac_packetizer_c::aac_packetizer_c(generic_reader_c*, track_info_c&,
     const aac::audio_config_t&, aac_packetizer_c::mode_e)’:
src/output/p_aac.cpp:31:89: error: cannot convert
  ‘const aac::audio_config_t’ to ‘unsigned int’ in initialization
   , m_packet_duration{m_timestamp_calculator.get_duration(ms_samples_per_packet).to_ns()}
2017-07-16 18:41:52 +02:00
Moritz Bunkus
4e9351a2d3 merge: output packetizer's error message if appending fails
Fixes #2046.
2017-07-16 17:37:55 +02:00
Moritz Bunkus
b6276208b0 AAC: refactor packetizer to take audio_config_t
Also refactors SBR detection & handling. There were cases in which
reading AAC from MPEG TS resulted in 2-byte `CodecPrivate` with no
`OutputSamplingFrequency` set, even though the sampling frequency was
24.000 Hz and therefore an indicator for SBR.
2017-07-16 17:26:44 +02:00
Moritz Bunkus
a76d8764ba AAC: refactor header_c to use audio_config_t instead of extra member vars 2017-07-16 14:43:39 +02:00
Moritz Bunkus
dffd611282 AAC: refactor config creation to take audio_config_t instead of multiple parameters
Makes extending the config parser & creation routines easier.
2017-07-16 12:26:06 +02:00
Moritz Bunkus
5351877515 AAC: refactor config creation to return memory_cptr
Makes memory management clearer and easier.
2017-07-16 12:17:56 +02:00
Moritz Bunkus
6f2e69149d AAC: refactor config parser to return a struct instead of out parameters 2017-07-16 12:08:33 +02:00
Moritz Bunkus
a7cfa3ac26 GUI: App: only declare d pointer where needed
Avoids a compiler warning when building without libintl (translations).
2017-07-15 22:20:02 +02:00
Moritz Bunkus
541348d7da MPEG-1/-2: remove feature "remove stuffing bytes"
The feature was implemented by removing all 0 bytes in before the next
start code (and all 0 bytes at the end of the buffer). The problem is
that a slice structure may very well end in 0 bytes. The only way to
determine the end of the slice structure with confidence is
implementing a parser for the whole slice structure.

The result of removing bytes belonging to the slice structure may or
may not end in visual artifacts upon decoding. Other results include
error message by the decoder (e.g. ffmpeg which reports errors such as
"slice mismatch" or "motion vectors not available").

I lack the time and motivation to implement a proper slice parser. As
the current behavior is dangerous and just plain wrong, I'm removing
the feature again. It was introduced in release 5.8.0 response to
issue #734, which will now remain not implemented.

Fixes #2045.
2017-07-15 21:37:04 +02:00
Moritz Bunkus
7729911f43 debugging: allow forcing a debugging option's state programmatically 2017-07-15 21:19:25 +02:00
Moritz Bunkus
504209ce71 configure: options for enabling address/undefined behavior sanitizers
The `Rakefile` has supported both for a while now, but the values had
to be set manually in `build-config`.
2017-07-15 16:59:58 +02:00
Moritz Bunkus
6710d27554 build: add tests for header/include guard syntax 2017-07-15 11:57:45 +02:00
Moritz Bunkus
786b3808d7 AAC packetizer: refactor constructor argument to take enum 2017-07-15 11:16:09 +02:00
Moritz Bunkus
e69efdb4d6 GUI: mux: en-/disable appended tracks when parent track is en-/disabled
Otherwise the GUI will generate instructions for mkvmerge for track
IDs that mkvmerge won't use, and mkvmerge in turn aborts with an
error.

Fixes #2039.
2017-07-14 17:46:22 +02:00
Moritz Bunkus
19fcb45d87 translations: update list of translatable strings; update German translation 2017-07-14 11:44:40 +02:00