Commit Graph

11968 Commits

Author SHA1 Message Date
Moritz Bunkus
58c36681ab
macOS packaging: include Qt styles plugin in DMG
New in Qt 5.11 or so: platform-specific styling is now a separate
plugin from the platform plugin.
2018-07-15 19:13:28 +02:00
remuxer32
208ce6cf8f Update pl.po 2018-07-14 20:07:01 +00:00
remuxer32
51d56269d6 Update AUTHORS 2018-07-14 20:03:30 +00:00
Moritz Bunkus
bed9e539ac
macOS: fix building the MKVToolNix package itself 2018-07-12 20:24:08 +02:00
Moritz Bunkus
e58bf47f73
bump version number, set release code name 2018-07-12 19:56:19 +02:00
Moritz Bunkus
c2dcb6fe16
dev tools: fix path to mkvtoolnix.spec 2018-07-12 19:55:42 +02:00
Moritz Bunkus
a7068a652a
NEWS.md: reorder & reword elements for easier consumption 2018-07-12 19:52:35 +02:00
Moritz Bunkus
d38632e54c
NEWS.md: add entry about Linux AppImage 2018-07-06 19:03:37 +02:00
Dian Li
5e18b545ab
translations: update Chinese Simplified 2018-07-06 19:03:27 +02:00
TMTisFree
a6d7cac5b2
translations: update French 2018-07-06 19:03:12 +02:00
TMTisFree
147c73ec24
translations: update French 2018-07-06 19:03:06 +02:00
David Rey
6cc7ee6e73
translations: update Spanish 2018-07-06 19:03:01 +02:00
Antoni Bella Pérez
201a6e8d82
translations: update Catalan 2018-07-06 19:02:54 +02:00
Moritz Bunkus
82e8e537d7
MPEG TS reader: remove superfluous debug output 2018-06-29 09:22:21 +02:00
Moritz Bunkus
f7ebdcd804
mkvmerge: rewrite progress handling
Before progress was measured in number of elements (frames/blocks) to
process for those readers that could provide that information without
processing the whole file (e.g. MP4, AVI). As those elements could
have wildly varying sizes, each reader's `get_progress()` function
returned its progres as a number in the range `[0..100]`.

This meant, though, that the effort/time required to reach 100% could
not be gauged from outside the reader. In situations such as appending
files, mkvmerge's core had to guess which readers to use for
progress. It did so looking for the longest chain of appended files
and using its readers and their progress reports.

This is obviously wrong even for simple cases: e.g. you have a single,
huge M2TS and two text subtitle files. You append the two subtitle
files and add the M2TS. The time for muxing was clearly dominated by
the M2TS — but the progress was reported according to the tiny text
subtitle files.

After the rewrite the total progress is simply the total number of
bytes of all source files. The current progress is roughly the sum of
the number of bytes that have been processed for each source file.

Fixes #2150 and #2330.
2018-06-28 22:29:56 +02:00
Moritz Bunkus
dd73dda3e1
cosmetics: alignment 2018-06-28 21:12:13 +02:00
Moritz Bunkus
1425d6a7e7
readers: make read() an internal implementation and read_next() the external interface 2018-06-28 20:38:28 +02:00
Moritz Bunkus
93eb166ab6
AppImage: change git version number slightly 2018-06-26 20:07:31 +02:00
Moritz Bunkus
e72e12e25f
AppImage: use custom entry point for binary selection 2018-06-25 22:27:18 +02:00
Moritz Bunkus
b2e5c4bc8f
installer: fix paths after move to packaging sub-directory 2018-06-25 19:14:15 +02:00
Moritz Bunkus
aee8f64d54
appimage: optionally get version number from git describe for git builds 2018-06-25 18:46:16 +02:00
Moritz Bunkus
421e49701a
appimage: fix set -e set -x not to be in one line 2018-06-25 18:08:11 +02:00
Moritz Bunkus
c421c4c7c2
development.md: mark up some more verbatim parts 2018-06-25 18:07:45 +02:00
Moritz Bunkus
9e04c038f4
packaging: move all packaging files to packaging directory 2018-06-25 17:59:11 +02:00
Moritz Bunkus
1058e0cf30
appimage: copy Qt plugins manually 2018-06-25 17:45:17 +02:00
Moritz Bunkus
8a5cc704b6
AppImage build: support building in CentOS 7; use Qt online version 2018-06-24 16:28:57 +02:00
Moritz Bunkus
7008661ed9
GUI: mux: allow changing subtitle charset for textsubs in Matroska/MPEG TS 2018-06-21 20:01:57 +02:00
Moritz Bunkus
91debcd8ea
Matroska/MPEG TS readers: allow recoding text subtitles via --sub-charset 2018-06-21 19:51:15 +02:00
Moritz Bunkus
34188f2323
Ogg Opus: calculate timestamps after gaps from page-after-gap's granulepos
Part of #2280.
2018-06-21 15:52:31 +02:00
Moritz Bunkus
a9d685970d
Ogg Opus reader: improve debug output 2018-06-21 15:34:06 +02:00
Moritz Bunkus
7dfb03c897
translations: update list of translatable strings; update German translation 2018-06-20 22:44:53 +02:00
Moritz Bunkus
01e04ca141
Ogg Opus reader: change warning back to original wording 2018-06-20 22:42:13 +02:00
Burak Yavuz
22bedec5ac
translations: update Turkish 2018-06-20 22:39:45 +02:00
Timofey Lisunov
e54c6b9e67
translations: update Russian 2018-06-20 22:39:28 +02:00
Denis Baron
1b8b4844bf
translations: update French 2018-06-20 22:39:20 +02:00
Antoni Bella Pérez
000fcefaf4
translations: update Catalan 2018-06-20 22:39:08 +02:00
Dian Li
0ea10ddd4b
translations: update Chinese Simplified 2018-06-20 22:38:57 +02:00
Dian Li
d73973bea4
man page translations: update Chinese Simplified 2018-06-20 22:38:50 +02:00
Israel Lucas Torrijos
0e3cbb5e30
man page translations: update Spanish 2018-06-20 22:38:33 +02:00
Moritz Bunkus
edfbbfe57f
tests: update due to warnings on invalid 8-bit chars in UTF-8 in subtitles 2018-06-20 22:34:26 +02:00
Moritz Bunkus
5b431c02ea
SSA/ASS textsubs: emit warning for invalid 8-bit characters in UTF-8 sequences
Part of the implementation of #2246.
2018-06-20 22:18:41 +02:00
Moritz Bunkus
7a9a245f40
SRT textsubs: emit warning for invalid 8-bit characters in UTF-8 sequences
Part of the implementation of #2246.
2018-06-20 22:18:41 +02:00
Moritz Bunkus
de603b7402
SSA/ASS textsubs: try UTF-8 if no encoding was specified with fallback to system's encoding
Part of the implementation of #2246.
2018-06-20 22:18:41 +02:00
Moritz Bunkus
1bb63b08bd
SRT textsubs: try UTF-8 if no encoding was specified with fallback to system's encoding
Part of the implementation of #2246.
2018-06-20 22:14:09 +02:00
Moritz Bunkus
5ff7aed0b9
UTF-8: move functions to mtx::utf8 namespace; add is_valid function 2018-06-20 22:14:07 +02:00
Moritz Bunkus
291e98423c
textsubs packetizer: simplify constructor arguments 2018-06-20 20:49:20 +02:00
Moritz Bunkus
1762d4dc2e
Ogg Opus reader: calculate packet timestamps from granulepos
The prior algorithm summed up all Opus frame's number of samples and
calculated the expected timestamp from there. That expected timestamp
was compared to the Ogg page's granule position, and the discard
padding was calculated from that.

This lead to problems in several cases:

1. When the first packet's granule position was bigger than the number
   of samples in the Opus frame, the specs say that the first sample's
   timestamp is positive in that case. mkvmerge was wrongfully using 0
   as the timestamp and thought discard padding was needed in such a
   case.

2. When the first packet's granule position was smaller than the
   number of samples in the Opus frame (meaning the first sample's
   timestamp was negative), a technically invalid bitstream, mkvmerge
   was wrongfully forcing the first packet's timestamp up to 0 and
   inserting discard padding elements all over the place as its
   internal calculations got confused.

The new algorithm bases the calculation on the last known granule
position special-casing for certain Ogg packet numbers:

1. For the first Ogg page the timestamps of all packets is calculated
   by subtracting each packet's number of samples from the page's
   granule position in reverse order. This may result in the first
   packet's timestamp being positive, which mkvmerge now preserves.

   mkvmerge won't calculate a discard padding for this page.

2. For all other pages each packet's timestamp is calculated by adding
   each packet's number of samples to the previous Ogg page's end
   timestamp as given by its granule position.

   mkvmerge then calculates the discard padding for the last packet of
   the page by comparing the calculated end timestamp of that packet
   with the Ogg page's end timestamp as given by the granule
   position.

   As a workaround for certain rounding errors encountered in the
   wild, a discard padding of one sample will be treated as if no
   discard padding was present for all but the very last packet as
   indicated by the "end of stream" bit.

Fixes #2280.
2018-06-20 19:27:47 +02:00
Moritz Bunkus
10f030a504
Ogg Opus reader: enable debugging for opus_reader & ogm_opus_reader 2018-06-20 18:58:36 +02:00
Moritz Bunkus
e718c896be
Opus packetizer: improve debug messages 2018-06-20 18:58:23 +02:00
Moritz Bunkus
46164c0070
audio packetizers: keep discard padding if present on source packet
Only applies to the packetizers for the following formats: AAC, AC-3,
DTS, MP3 and TrueHD. The other packetizers were already keeping the
value.

Fixes #2296.
2018-06-19 21:58:02 +02:00