Commit Graph

10962 Commits

Author SHA1 Message Date
Moritz Bunkus
a19bbbba24 JSON identification: don't allow additional properties not listed in the schmea 2017-05-24 13:58:46 +02:00
Moritz Bunkus
4893caaa31 JSON identification: include program properties on container level 2017-05-24 13:48:23 +02:00
Moritz Bunkus
1fbada529f MPEG TS: parse all PMTs in streams with multiple programs properly
Earlier versions of mkvmerge used to detect all tracks in MPEG
transport streams with multiple programs, even though the code wasn't
really implemented & tested for that. However, some tracks (usually
those from the second or a later program) were broken: they might not
contain any data, or only invalid data.

On top of that mkvmerge v12.0.0 contains a fix for #1980 where a track
isn't part of a PMT at all. An unintentional consequence of that fix
was that mkvmerge no longer detected all of the tracks in
multi-program streams. The reason is that in order to detect tracks
not mentioned in a PMT mkvmerge has to do detection by content in the
PES packets. That's only implemented for AAC at the moment. All other
tracks will be blacklisted as soon as they're found.

This wouldn't be a problem if all PMTs of all programs were always
located right at the start of the file with nothing in
between. Unfortunately many files contain track content between
PMTs. So that workflow was:

• mkvmerge finds first PMT, determines types for tracks listed in it
• mkvmerge now considers the PMT to be found
• Continuing scanning the file mkvmerge encounters content for tracks
  not listed in the first PMT, attempting type detection by content,
  failing for most and blacklisting their PIDs
• Next a second PMT is found, however, the PIDs listed in that PMT may
  have already been found and blacklisted before — therefor they won't
  be considered anymore

With this fix mkvmerge actively looks for the PMTs for all
programs. Detection by content is only attempted once all PMTs have
been located. That way all tracks will be detected again.

A side effect of either this patch or one of the other ones before is
that the track content is now OK. I don't know exactly why or which
commit actually fixed it.

Fixes parts of #1990.
2017-05-22 19:43:03 +02:00
Moritz Bunkus
9664c84e80 MPEG TS: refactor PAT parsing a little 2017-05-22 18:09:30 +02:00
Moritz Bunkus
6010233729 MPEG TS: include program number in identification output 2017-05-22 17:56:17 +02:00
Moritz Bunkus
c69f3e73d7 JSON identification: include transport stream program number, bump version to 7 2017-05-22 17:52:59 +02:00
Moritz Bunkus
2a76ce4539 MPEG TS: make track IDs continuous 0..num_tracks -1
All tracks that weren't probed successfully (and which wouldn't have
been reported by the identification) will not be assigned an ID
anymore.
2017-05-21 18:43:22 +02:00
Antoni Bella Pérez
a701e46701 installer translations: update Catalan 2017-05-21 09:33:57 +02:00
Moritz Bunkus
19f01f77e7 version number bump script: fix updating the installer version number 2017-05-20 22:11:53 +02:00
Moritz Bunkus
6e7cae7739 installer: fix version number 2017-05-20 21:29:28 +02:00
Moritz Bunkus
37895c7032 bump version number, set release code name 2017-05-20 19:20:25 +02:00
Moritz Bunkus
98468d68ce version number bump script: fix error when code name contains a slash part 2 2017-05-20 19:19:01 +02:00
Moritz Bunkus
3cd6f0203b Rakefile: fix syntax for older Ruby versions 2017-05-20 19:17:17 +02:00
Moritz Bunkus
b754ac67a7 version number bump script: fix error when code name contains a slash 2017-05-20 19:15:57 +02:00
Moritz Bunkus
fcb71e6303 NEWS.md: re-order/re-file entries to make them easier to digest 2017-05-20 19:00:47 +02:00
Jan Mazurczyk
453ee50404 translations: update Polish 2017-05-20 19:00:31 +02:00
Moritz Bunkus
6200e1fca5 installer: update translations 2017-05-20 19:00:31 +02:00
Moritz Bunkus
c38b7a62b5 installer: use nsDialogs for "mkvextract GUI links" page
The advantage is that the strings used on the page can now be
translated as they're not stored in an external .ini file anymore.
2017-05-20 19:00:31 +02:00
Moritz Bunkus
592bdcab46 installer: fix language setting for Korean translation 2017-05-20 19:00:31 +02:00
Moritz Bunkus
73f40074de installer: update translations, update German translation 2017-05-20 19:00:31 +02:00
Moritz Bunkus
1ad1c97eb8 installer: fix file encoding of Catalan translation 2017-05-20 19:00:31 +02:00
Moritz Bunkus
683e13297e installer: fix Emacs mode definition for translation files 2017-05-20 19:00:31 +02:00
Moritz Bunkus
4772eaa20a Rakefile: method for updating Windows installer translation files from English 2017-05-20 19:00:31 +02:00
Moritz Bunkus
ca495ab2ca installer: add check for Media Foundation framework & abort if not found 2017-05-20 19:00:31 +02:00
Moritz Bunkus
cc24efc78f installer: don't offer to place shortcut on desktop 2017-05-20 19:00:31 +02:00
Roberto Boriotti
70c9916942 translations: update Italian 2017-05-19 11:12:16 +02:00
Dean Lee
5b24eb1d90 man page translations: update Chinese Simplified 2017-05-19 11:11:56 +02:00
Dean Lee
1eca19933f translations: update Chinese Simplified 2017-05-19 11:11:49 +02:00
Moritz Bunkus
4496f4c75c tests: intentional update due to translation updates 2017-05-18 09:01:12 +02:00
Moritz Bunkus
20f4651148 terminology: use "cue sheet" instead of "CUE sheet" part 2 2017-05-17 19:20:20 +02:00
Dean Lee
825d7d1080 man page translations: update Chinese Simplified 2017-05-17 19:19:09 +02:00
Dean Lee
e9d28f66e3 translations: update Chinese Simplified 2017-05-17 19:19:02 +02:00
Burak Yavuz
c4b258eb16 translations: update Turkish 2017-05-17 19:18:47 +02:00
Potato
cc82771e57 translations: update Korean 2017-05-17 19:18:40 +02:00
TMTisFree
7f3cf42d03 translations: update French 2017-05-17 19:18:28 +02:00
Roberto Boriotti
535f4285fd translations: update Italian 2017-05-17 14:12:03 +02:00
Moritz Bunkus
f10f0d708f checksum tool: fix help text output
The --help/--version arguments are handled by the common command line
handling routines.
2017-05-17 11:12:35 +02:00
Moritz Bunkus
7447a512a2 translations: update list of translatable strings; update German translation 2017-05-16 21:08:33 +02:00
Burak Yavuz
c315d33711 translations: update Turkish 2017-05-16 21:08:32 +02:00
Timofey Lisunov
31d197c027 translations: update Russian 2017-05-16 21:08:32 +02:00
Potato
a9dcb2376f translations: update Korean 2017-05-16 21:08:32 +02:00
TMTisFree
8e092033a8 translations: update French 2017-05-16 21:08:32 +02:00
Israel Lucas Torrijos
f064ddcdaf translations: update Spanish 2017-05-16 21:08:32 +02:00
Antoni Bella Pérez
51f6b8ec98 translations: update Catalan 2017-05-16 21:08:32 +02:00
Moritz Bunkus
ef371f9450 mkvpropedit: editing the "date" segment info field
Implements the last part of #1964.
2017-05-16 21:08:32 +02:00
Moritz Bunkus
f78deccda3 GUI: header editor: support for editing the "date" segment info field
Implements another part of #1964.
2017-05-16 19:39:46 +02:00
Moritz Bunkus
b1dcaca679 mkvmerge, GUI: --no-date prevents writing the 'date' segment info header element
Implements one half of #1964.
2017-05-16 17:58:26 +02:00
Moritz Bunkus
ad496e1866 translations: update list of translatable strings; update German translation 2017-05-14 21:18:19 +02:00
Moritz Bunkus
baeb9ccde3 terminology: use "cue sheet" instead of "CUE sheet" as it's not an abbreviation 2017-05-14 21:15:53 +02:00
Antoni Bella Pérez
532679098b man page translations: update Catalan 2017-05-14 21:13:17 +02:00