Commit Graph

10402 Commits

Author SHA1 Message Date
Moritz Bunkus
dcf7b15939 mkvmerge: include codec delay in identification output as "codec_delay" 2017-01-07 12:46:08 +01:00
Moritz Bunkus
5147dc367b JSON schema v5: fix wrong schema ID 2017-01-07 12:44:48 +01:00
Moritz Bunkus
094f2ee4e0 MPEG TS: only adjust bad subtitle timestamps once per detected difference
The prior implementation checked each subtitle timestamp against the
last audio or video timestamp seen. If it differed too much, the
subtitle timestamp was set to that last timestamp.

The problem with such an approach is its coarseness. It also disregards
the relative difference between subtitle timestamps.

The new implementation works differently. The first time a big
difference between subtitle and audio/video timestamps is detected, the
difference will be stored. This difference will then be applied to all
subtitle timestamps. This keeps the relative difference between subtitle
timestamps intact.

Addresses #1841.
2017-01-07 11:21:17 +01:00
Moritz Bunkus
3fff4ef929 README.md: include more information about testing & Buildbot instance 2017-01-06 20:39:27 +01:00
Moritz Bunkus
c06d7a9ed5 README.me: update Google Test version, file name, and build instructions 2017-01-06 20:39:05 +01:00
Moritz Bunkus
17fd1fd53c MPEG TS: workaround for subtitle timestamps differing from audio/video timestamps widely
There are MPEG TS files where subtitle packets are multiplexed with
audio and video packets properly, meaning that packets that are supposed
to be shown/played together are also stored next to each other. However,
the timestamps in the PES streams have huge differences. For example,
the first timestamps for audio and video packets are around 00:11:08.418
whereas the timestamps for corresponding subtitle packets start at
09:19:25.912.

This workaround attempts to detect such situations. In that case
mkvmerge will discard subtitle timestamps and use the most recent audio
or video timestamp instead.

Implements #1841.
2017-01-06 20:06:22 +01:00
Moritz Bunkus
18f1e84854 MPEG TS: more idiomatic modern C++ initialization; more const 2017-01-06 19:42:09 +01:00
Moritz Bunkus
e3856df538 MPEG TS: fix debug output template 2017-01-04 22:34:49 +01:00
Roberto Boriotti
29ac4a568c translations: update Italian 2017-01-03 16:35:17 +01:00
Moritz Bunkus
0d122b247b add a simple tool for formatting a timestamp in ns 2017-01-03 13:28:29 +01:00
Moritz Bunkus
7176a2bfa3 GUI: preferences: show "check for updates" checkbox again
It was accidentally set to always be hidden by the CURL code removal.
2017-01-03 13:27:22 +01:00
Moritz Bunkus
7b257da3e0 GUI: update check: don't force it each time
Forcing an update check each time the GUI's started was only done for
debugging purposes. The intention was to have it depend on the
environment variable FORCE_UPDATE_CHECK, just like before the change to
"always true".
2017-01-03 13:23:13 +01:00
Moritz Bunkus
c4d8aaa3d3 FileIdentifier: only set defaults for regular tracks
Before commit e1e14ed Track::setDefaults() was only called for regular
tracks (audio, video and subtitle tracks). After that commit the
function is called for all tracks including chapters, tags and attached
files. Therefore it must be able to handle it, too.
2017-01-03 09:47:59 +01:00
remuxer32
e485eb3073 Update copyright year
I have updated copyright year (only mine); 2016 → 2017.

Zaktualizowałem rok w tłumaczeniu (tylko moja osoba) z 2016 na 2017.
2017-01-02 20:53:09 +01:00
Moritz Bunkus
810b3608f0 move tool dealing with NEWS.md to tools/development
This tool is only useful for developers/maintainers, not for users.
2017-01-02 20:18:25 +01:00
Moritz Bunkus
9df943d604 remove tools dealing with the ChangeLog
They are not needed anymore since the move to a NEWS.md file.
2017-01-02 20:17:17 +01:00
Jan Mazurczyk
38396686b0 translations: update Polish 2017-01-02 20:16:08 +01:00
Andriy Bilous'ko
11213bf6e5 translations: update Ukrainian 2017-01-02 20:15:28 +01:00
Roberto Boriotti
59003a3e8f translations: update Italian 2017-01-02 20:13:49 +01:00
TMTisFree
56b3822b16 translations: update French 2017-01-02 20:13:33 +01:00
Moritz Bunkus
e1e14ed510 FileIdentifier: fix application of track defaults & caching
Before the defaults were applied before the result was stored in the
cache. The problem with that is that changing the defaults in the
preferences did not affect cached results. Adding a file the second time
was using cache data which had the old defaults applied.

Now the defaults are applied after the result has been stored in the
cache. Upon retrieval from the cache the current defaults are applied,
too.
2017-01-02 13:20:30 +01:00
Moritz Bunkus
1405710a10 Track: cosmetics (alignment) 2017-01-02 13:18:03 +01:00
Moritz Bunkus
5f096de087 MP4: determine track parameters from bitstream for MP2 audio, too
In this case the track contains MP3 data. However, the ESDS's object
type ID field is set to 0x6b in the headers indicating MP2. Additionally
the track's fields for channels & sampling frequency are set to 0.

Fixes #1844.
2017-01-01 11:55:25 +01:00
Moritz Bunkus
b8739e0a08 debug code: always print lines numbers with four digits for alignment 2017-01-01 11:39:30 +01:00
Moritz Bunkus
f444895880 MP4 reader: add more debug code for codec type determination 2017-01-01 11:26:45 +01:00
Moritz Bunkus
a00b1289d0 MP4 reader: refactor AAC ESDS handling code into its own function 2017-01-01 11:26:43 +01:00
Moritz Bunkus
f40f77895f update NEWS.md 2016-12-31 19:09:11 +01:00
Moritz Bunkus
b0bfa33f62 codec.h: cosmetics (alignment, sort lines) 2016-12-31 18:22:40 +01:00
Moritz Bunkus
f1e9dde0b4 Matroska reader: use DVB subtitle packetizer for S_DVBSUB tracks 2016-12-31 18:22:10 +01:00
Moritz Bunkus
d1475d43c7 MPEG TS reader: add support for reading DVB subtitles from MPEG transport stream
Implements #1843.
2016-12-31 18:22:06 +01:00
Moritz Bunkus
a37b105f6a GUI: re-add overwriting download URLs with --debug switches 2016-12-31 12:56:45 +01:00
Moritz Bunkus
f0d00cac69 GUI: release info download: use system's proxy if present settings 2016-12-31 12:52:38 +01:00
Moritz Bunkus
537f427926 GUI: fix compilation with older versions of libstdc++
In older versions of libstdc++ std::stringstream's copy constructor is
deleted.
2016-12-30 22:37:22 +01:00
Moritz Bunkus
d329e704a1 GUI: move update check to its own thread
Normally QNetworkAccessManager is supposed to provide an asynchronous
interface to network requests. Unfortunately, the very first call to
QNetworkAccessManager::get() for each URL takes quite a long time,
e.g. more than two seconds on my Windows installation. This is even
before the request is actually started. As this happens on the main
thread it blocks the UI.

In MKVToolNix the update check is started during the GUI's startup
process. Any kind of blockage of the main thread is very noticeable and
annoying.

This seems to be due to the following but in Qt:
https://bugreports.qt.io/browse/QTBUG-10106
2016-12-30 22:37:22 +01:00
Moritz Bunkus
e4a576e5be translations: update list of translatable strings 2016-12-30 15:12:56 +01:00
Burak Yavuz
fb0428c30f translations: update Turkish 2016-12-30 15:09:58 +01:00
Timofey Lisunov
1da9011b0e translations: update Russian 2016-12-30 15:09:54 +01:00
Potato
639f982d33 translations: update Korean 2016-12-30 15:09:48 +01:00
Moritz Bunkus
8eec6faf0c update NEWS.md 2016-12-30 15:04:47 +01:00
Moritz Bunkus
d7b691b6f5 all: remove --check-for-updates command line option & dependency on CURL 2016-12-30 15:01:30 +01:00
Moritz Bunkus
05868d7882 GUI: rename UpdateCheckThread to UpdateChecker part 2
Fixes compilation due to forgetting to rename an include.
2016-12-30 15:00:42 +01:00
Moritz Bunkus
62cf95f7f2 GUI: rename UpdateCheckThread to UpdateChecker
The class is not a thread anymore. It uses a QNetworkAccessManager for
asynchronous network access.
2016-12-30 14:49:17 +01:00
Moritz Bunkus
a939bd0d39 GUI: use Qt's HTTP classes for retrieving the update info instead of CURL 2016-12-30 14:42:26 +01:00
Moritz Bunkus
fecc0aa897 separate latest release info parsing from retrieval
This allows for other retrieval methods than download via CURL.
2016-12-30 14:41:23 +01:00
Moritz Bunkus
36d8a9e328 translations: update list of translatable strings; update German translation 2016-12-29 20:38:32 +01:00
Jan Mazurczyk
c5ac670d48 translations: update Polish 2016-12-29 20:37:48 +01:00
TMTisFree
0393d947e2 translations: update French 2016-12-29 20:35:55 +01:00
Moritz Bunkus
a05f92a4ef GUI: replace link to ChangeLog with link to NEWS.md 2016-12-29 19:52:08 +01:00
Moritz Bunkus
c7d4682f4f packaging & docs: replace ChangeLog with NEWS.md 2016-12-29 19:52:07 +01:00
Moritz Bunkus
c3a9bba233 re-add ChangeLog with a note to read NEWS.md instead 2016-12-29 17:30:42 +01:00