Subject: CVS commit: pkgsrc/multimedia/mkvtoolnix
From: Adam Ciarcinski
Date: 2020-09-08 15:49:05
Message id: 20200908134905.49F29FB28@cvs.NetBSD.org

Log Message:
mkvtoolnix: updated to 50.0.0

Version 50.0.0 "Awakenings"

New feature: IETF BCP 47 language tags

* I've written up a [nice FAQ
  \ 
entry](https://gitlab.com/mbunkus/mkvtoolnix/-/wikis/Languages-in-Matroska-and-MKVToolNix)
  about the switch to using IETF BCP 47 language tags, how they interact with
  legacy language elements, how the programs actually behave and how to
  disable their use if necessary.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: mkvmerge will now accept full
  BCP 47 language tags for all options taking a language. mkvmerge will always
  write "LanguageIETF" track header elements. If the language tag \ 
contains a
  valid ISO 639-2 language code it will also set the legacy "Language" \ 
track
  header element to the included ISO 639-2 code.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: if present the \ 
"LanguageIETF"
  track header element will be reported as the `language_ietf` property in
  JSON identification mode.
* mkvmerge: IETF BCP 47/RFC 5646 language tags in chapters: mkvmerge will now
  write "ChapLanguageIETF" elements when creating chapter atoms, \ 
either when
  reading the simple chapter format or when generating chapters due to the
  `--generate-chapters` command line option.
* mkvmerge: IETF BCP 47/RFC 5646 language tags in tags: mkvmerge will now
  write "TagLanguageIETF" elements when creating "simple \ 
tag" elements, either
  when reading tag XML files or when generating them.
* mkvmerge: IETF BCP 47/RFC 5646 language tags: added an option
  `--disable-language-ietf` that causes mkvmerge to only write the legacy
  language elements.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: IETF BCP 47/RFC 5646
  language tags in chapters: when reading XML chapter files the programs will
  now add "ChapLanguageIETF" elements for atoms that don't contain \ 
them. The
  values are derived from existing "ChapterLanguage" elements.
* mkvpropedit: IETF BCP 47/RFC 5646 language tags: setting/deleting the track
  language now acts on both the old language element as well as the
  "LanguageIETF" track header element.
* mkvpropedit: IETF BCP 47/RFC 5646 language tags: added an option
  `--disable-language-ietf` that causes mkvpropedit to apply changes to the
  `language` track header property only to the legacy language track header
  element.
* mkvinfo: IETF BCP 47/RFC 5646 language tags: added support for the
  "LanguageIETF" track header element.
* MKVToolNix GUI: multiplexer: added full support for IETF BCP 47/RFC 5646
  language tags for both track and chapter languages.
* MKVToolNix GUI: chapter: added full support for IETF BCP 47/RFC 5646
  language tags for chapter languages.
* MKVToolNix GUI: header editor: added full support for IETF BCP 47/RFC 5646
  language tags for track header languages. The header editor allows editing
  of the legacy language elements and the IETF BCP 47 language elements
  independent of each other.

Other new features and enhancements

* mkvmerge: the chapter generation mode `when-appending` now also works with
  the splitting modes `parts:` & `parts-frames:` when using the `…,+…` syntax
  for appending other sections of the source file to the same destination
  file.
* MKVToolNix GUI: multiplexer: the file selection dialogs now include the
  extension `.dtsma` for DTS files.
* mkvmerge: MP4 reader: sped up parsing MP4 DASH files with a lot of segments
  (`trun` atoms) quite a bit.
* The PCRE2 regular expression library is now used instead of `std::regex` for
  big performance improvements in all places where regular expressions are
  used for parsing big chunks of text, e.g. in the subtitle parsers.
* all programs: Windows: all programs now support long file names on Windows
  10 release 1604 if they're turned on in the registry.

Bug fixes

* MKVToolNix GUI: preferences: under certain conditions changing the selected
  entry in the page tree on the left did not cause the page shown on the right
  to be updated.
* mkvmerge: splitting text by a fixed string (e.g. `,`) is now done by using
  `std::string.find()` instead of using a regular-expression-based text
  splitting function, greatly improving its performance.
* mkvmerge: mkvmerge will now read-buffer file I/O when probing text file
  formats which increases its speed significantly on Windows.
* mkvmerge: MP4 reader: fixed handling of `tkhd` atoms of version 1.

Build system changes

* The PCRE2 library (the 8-bit variant) is now required.

Files:
RevisionActionfile
1.159modifypkgsrc/multimedia/mkvtoolnix/Makefile
1.82modifypkgsrc/multimedia/mkvtoolnix/distinfo