Changes for 0.9.2 'Golden Eagle':
---------------------------------
0.9.2 is a small update of dav1d on the 0.9.x branch:
- x86: SSE4 optimizations of inverse transforms for 10bit for all sizes
- x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
- x86: SSSE3 optimizations for cdef_filter in 10/12b and mc_w_mask_422/444 in 8b
- ARM NEON optimizations for FilmGrain Gen_grain functions
- Optimizations for splat_mv in SSE2/AVX2 and NEON
- x86: SGR improvements for SSSE3 CPUs
- x86: AVX2 optimizations for cfl_ac
KMediaPlayer builds on the KParts framework to provide a common interface for
KParts that can play media files.
This framework is a porting aid. It is not recommended for new projects, and
existing projects that use it are advised to port away from it, and use plain
KParts instead.
This should now work both with and without rc.subr available, on NetBSD and
with rc.subr from pkgsrc.
While there, update the homepage.
Tested on NetBSD/amd64.
Bumps PKGREVISION.
Version 61.0.0 "So" 2021-08-30
New features and enhancements
* all: IETF BCP 47/RFC 5646 language tags: implemented support for officially
registered IANA language tag extensions.
* mkvmerge: track selection: when using language tags for selecting which
tracks to keep, mkvmerge will now use component-based language tag matching
instead of comparing them verbatim. This means that only those components
(language, region etc.) the user specified will be required to exist and be
equal. For example, if a file contains three subtitle tracks with languages
`es` (generic Spanish), `es-MX` (Spanish as spoken in Mexico) and `es-ES`
(Spanish as spoken in Spain), the user can use `--stracks es` to match all
three tracks or be more specific with e.g. `--stracks es-MX` which would
only match one track. Similarly inverting the selection with e.g. `--stracks
!es` would get rid of all three tracks, not just the one for the generic
Spanish.
* MKVToolNix GUI: multiplexer: deriving track languages from file names: the
GUI can now detect full BCP 47/RFC 5646 language tags in file names.
* MKVToolNix GUI: multiplexer: deriving track languages from file names: the
default list of boundary characters now includes `-`.
* MKVToolNix GUI: multiplexer: the GUI now defaults to the "lower" process
priority setting for new installations in order to leave more room for other
applications, especially interactive ones. Up to and including v59 the
default was the "normal" process priority. v60 changed that to "lowest",
which turned out to be much slower on Windows for no real gain over
"lower". The setting will be auto-corrected by the GUI if the settings file
were saved last with a version between v60.0.0.0 & v60.0.0.17 & "lowest" &
it is still set to "lowest".
* HEVC dumper development tool: the tool has been renamed to `xvc_dump` and
extended to be able to dump AVC/H.264 bitstreams, too. It now also detects
the type of bitstream framing (ISO 14496-15 vs. ITU-T H.264/H.265 Annex B).
Bug fixes
* all: IETF BCP 47/RFC 5646 language tags: fixed a corner case of wrongfully
allowing scripts/variants not listed in any of the entries in the prefix
list when the prefix list contains prefixes restricting scripts/variants and
a prefix solely with the language at the same time (example: the variant
`ekavsk` with its prefixes `sr`, `sr-Cyrl` and `sr-Latn` where
e.g. `sr-ekavsk` and `sr-Cyrl-ekavsk` should be allowed but not
`sr-Bali-ekavsk`).
* mkvmerge: HEVC/H.265: the frame type of B frames was often wrongfully
signalled as P frames instead, both with `BlockGroup` (missing second
references) and `SimpleBlock` ("discardable" flag not set) elements.
* mkvmerge: SSA/ASS packetizer: the frame numbers will now be re-calculated
when appending SSA/ASS tracks so that frame numbers of appended tracks are
always strictly higher than frame numbers of the track they're appended to.
* mkvmerge, MKVToolNix GUI's chapter editor: BCP 47/RFC 5646 language tags:
when BCP 47 language tags are used with a language code that isn't part of
ISO 639-2, the programs will now write a legacy language element set to
`und` ("undetermined") instead of not writing such an element at all or
writing one with an invalid code.
* mkvmerge, MKVToolNix GUI's chapter editor: BCP 47/RFC 5646 language tags:
the programs will ensure that the legacy and IETF language elements written
will be unique within the scope of the same "chapter display" element.
* mkvinfo, MKVToolNix GUI's info tool: in summary mode the frame type was
reported wrong for `BlockGroup` elements in which the `ReferenceBlock`
elements were located behind the `Block` element.
Build system changes
* all: `std::codecvt_utf8` is now used instead of Boost's
`utf8_codecvt_facet`. The bundled copy the latter in `lib/boost` has
therefore been removed.
Upstream changes (from NEWS):
== Ruby-GNOME 3.4.9: 2021-08-10
This is a bug fix release of 3.4.8.
=== Changes
==== Ruby/GObjectIntrospection
* Fixes
* Fixed a bug that (({gpointer})) to Ruby conversion breaks a
value when pointer value is (({2 ** 32})) or larger.
== Ruby-GNOME 3.4.8: 2021-08-09
This is a bug fix release of 3.4.7.
=== Changes
==== Ruby/GObjectIntrospection
* Fixes
* Fixed a bug that (({gpointer})) to Ruby conversion breaks a
value when pointer value is (({2 ** 32})) or larger.
== Ruby-GNOME 3.4.7: 2021-07-30
This is a release that improves virtual function support.
=== Changes
==== Ruby/GLib2
* Improvements
* (({GLib::Error})): Added support for setting (({code})) and
(({domain})) automatically.
==== Ruby/GObjectIntrospection
* Improvements
* Added support for returning object from callback.
* Fixes
* Fixed a bug that (({GError})) detection doesn't work.
== Ruby-GNOME 3.4.6: 2021-07-17
This is a bug fix release for macOS.
=== Changes
==== Ruby/Pango
* Fixes
* Fixed a bug that (({require "pango"})) is failed on environment
that has multiple font types.
[GitHub#1429][Reported by Cameron Gose]
=== Thanks
* Cameron Gose
== Ruby-GNOME 3.4.5: 2021-07-07
This is a release that supports implementing virtual functions in
Ruby.
=== Changes
==== Ruby/GLib2
* Improvements
* Added (({GError})) domain and code for Ruby.
==== Ruby/GObjectIntrospection
* Improvements
* (({GObjectIntrospection::BaseInfo#container})): Added.
* (({GObjectIntrospection::ObjectInfo#class_struct})): Added.
* (({GObjectIntrospection::StructInfo#find_field})): Added.
* (({RVAL2GI_VFUNC_INFO()})): Added.
* Added support for implementing virtual functions in Ruby.
[GitHub#1386][Based on patch by Yuto Tokunaga]
You need to define (({virtual_do_#{virtual_function_name}}))
method in (({type_register}))-ed class.
* Added support for implementing virtual functions of interface in
Ruby.
[GitHub#985][Reported by Matijs van Zuijlen]
[GitHub#1938][Reported by Yuto Tokunaga]
* Added support for "transfer everything" UTF-8 return/output
value.
* Changed to accepted one character for (({gunichar})).
[GitHub#1426][Reported by rubyFeedback]
* (({GObjectIntrospection::CallableInfo#can_throw_gerror?})): Added.
* Added support for (({GError **})) in callback.
* Added support for returning (({GList<GObject *>})) from callback.
* Changed to return (({[]})) for (({NULL})) list.
* Fixes
* Fixed a bug that wrong type information is used for output
arguments.
==== Ruby/Pango
* Added support for (({PangoFT2})).
* Added support for (({PangoFc})).
* Added support for (({PangoOT})).
* Added support for (({PangoCairoFontMaps})).
* Updated gem metadata.
[GitHub#1428][Patch by Gabriel Mazetto]
=== Thanks
* Yuto Tokunaga
* Matijs van Zuijlen
* rubyFeedback
* Gabriel Mazetto
== Ruby-GNOME 3.4.4: 2021-04-22
This is a bug fix release for Windows.
=== Changes
==== All
* Dropped support for CentOS 6.
* Dropped support for Ubuntu 16.04.
* Dropped support for Ruby 2.4.
* Dropped support for Ruby 2.5.
* Added support for Ruby 3.0.
==== Document
* Improvements
* Improved how to use on Heroku.
[GitHub#1414][Patch by Juan D Lopez]
* Improved README.
[Patch by kojix2]
==== Ruby/GLib
* Improvements
* Added (({RVAL2POINTER()})).
* Added (({POINTER2RVAL()})).
* Changed to use (({rb_cObject})) instead of (({rb_cData})) as a
parent class of typed data.
* Changed to use typed data instead of data for all data types.
* Added support for Ractor partially.
* Required GLib 2.48 or later.
* (({GLib::UniChar.compose})): Added.
* (({GLib::UniChar.decompose})): Added.
* (({GLib::UniChar.canonical_decomposition})): Deprecated. Use
(({GLib::UniChar.decompose})) instead.
* (({GLib.format_size_for_display})): Deprecated. Use
(({GLib.format_size})) instead.
* Fixes
* Fixed wrong conversions between (({VALUE})) and (({GType})).
[GitHub#1386][Patch by Yuto Tokunaga]
==== Ruby/GObjectIntrospection
* Improvements
* Removed needless transfer check for struct.
[GitHub#1396][Reported by Konrad Narewski]
* Added support freeing (({GArray})) of raw struct out parameter.
[GitHub#1356][Reported by aycabta]
==== Ruby/Pango
* Improvements
* Added (({Pango::Render::PART_*})) to keep backward compatibility.
[GitHub#1311][Reported by rubyFeedback]
==== Ruby/GStreamer
* Improvements
* Removed needless workaround for
(({Gst::ElementFactory#static_pad_templates})).
[GitHub#1400][Reported by Justin Weiss]
==== Ruby/Gnumeric
* Improvements
* Added support for the latest Gnumeric.
==== Ruby/GTK3
* Improvements
* (({Gtk::Widget#set_size_request})): Added support for
(({width:})) and (({height:})).
[GitHub#1406][Reported by rubyFeedback]
* (({Gtk::Dialog#set_default_response})): Added support for
(({Symbol})).
[GitHub#1418][Reported by rubyFeedback]
==== Ruby/GDK4
* Added.
==== Ruby/GTK4
* Added.
==== Ruby/VTE3
* Improvements
* Improved description.
[GitHub#1406][Reported by rubyFeedback]
==== Ruby/GTK2
* Removed.
==== Ruby/GtkSourceView2
* Removed.
==== Ruby/WebKitGtk2
* Removed.
==== Ruby/VTE
* Removed.
=== Thanks
* Konrad Narewski
* aycabta
* rubyFeedback
* Justin Weiss
* Yuto Tokunaga
* Juan D Lopez
* kojix2
pkgsrc changes:
- as a reparation of removal of gtk2 dependent gems in the next 3.4.4,
make gtk2, webkit-gtk2, gtksourceview2, and vte gems independent
packages and remove them from meta-pkgs/ruby-gnome
- pkglint
Upstream changes (from NEWS):
== Ruby-GNOME 3.4.3: 2020-05-11
This is a follow-up release of 3.4.2.
=== Changes
==== Ruby/GLib2
* Fixes
* Windows: Fixed a link errors.
Changes:
improved text rendering
better support for embedded video
lightspark now runs directly on wayland (with SDL_VIDEODRIVER=wayland)
better support for obfuscated AVM1 files
significantly faster rendering of bitmaps
many smaller bug fixes
Changes for 0.9.1 'Golden Eagle':
---------------------------------
0.9.1 is a middle-size revision of dav1d, adding notably 10b acceleration for SSSE3:
- 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask, emu_edge),
prep/put_bilin, prep/put_8tap, ipred (dc/h/v, paeth, smooth, pal, filter), wiener,
sgr (10b), warp8x8, deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86 processors
- Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv 10/12 arm32
- Fixes for filmgrain on ARM
- itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
- Misc improvements on SSE2, SSE4
Version 60.0.0 "Are We Copies?" 2021-07-31
New features and enhancements
* all: IETF BCP 47/RFC 5646 language tags: added support for language families
from ISO 639-5 that aren't part of 639-2.
* all: IETF BCP 47/RFC 5646 language tags: implemented support for Alpha 2
country codes of the "user-defined" category: `AA`, `QM`–`QZ`, `XA`–`XZ` and
`ZZ`.
* all: IETF BCP 47/RFC 5646 language tags: updated the various lists of valid
subtags from the official specs.
* MKVToolNix GUI: multiplexer: pressing the keyboard shortcut for the track's
"Language" label (Alt+L for English) will now open the language dialog.
* MKVToolNix GUI: multiplexer: added an option in the preferences for turning
off the colored boxes indicating which file each track belongs to.
Bug fixes
* all: IETF BCP 47/RFC 5646 language tags: fixed validating extended language
& variant subtags against their allowed prefixes (e.g. a valid tag with a
country code as in `de-CH-1996` is recognized as valid while two generally
known variants that aren't allowed together as in `de-1901-1996` is
recognized as invalid).
* all: IETF BCP 47/RFC 5646 language tags: when looking up a language for a
two- or three-letter code, the programs will no longer compare that code
with language names as that was unintended, ambiguous (e.g. the code "Ga"
could be interpreted as the 639-2 alpha-2 code for "Irish" or as the name of
the language called "Ga") and only worked with languages whose name was at
most three letters long.
* mkvmerge: HEVC/H.265: appending Matroska files with HEVC tracks might lead
to the loss of the first couple of frames from each of the second and all
following files.
* mkvmerge, mkvextract: HEVC/H.265 parser: fixed the programs aborting when
parsing VPS or SPS NALUs with invalid content due to unhandled
exceptions.
* MKVToolNix GUI: multiplexer: when the option "use legacy MIME types for font
attachments" is enabled, the GUI will now use `application/x-truetype-font`
for font collection files.
* MKVToolNix GUI: multiplexer: fixed escaping the `mkvmerge` argument in the
"Show command-line options" dialog for the "Windows (cmd.exe)" mode.
* MKVToolNix GUI: multiplexer: when adding multiple files at once, the GUI
will sort file names with numbers the way a human would expect it to. For
example, `1.mp4`, `9.aac`, `10.srt`, `11.srt` are now sorted exactly that
order instead of `1.mp4`, `10.srt`, `11.srt`, `9.aac`.
* MKVToolNix GUI: header editor: the header editor will now honor the "use
legacy MIME types when adding font attachments" setting when adding new
attachments.
Changelog:
== streamlink 2.3.0 (2021-07-26)
Release highlights:
- Implemented: new plugin URL matching API [#3814], [#3821]
Third-party plugins which use the old API will still be resolved,
but those plugins will have to upgrade in the future. See the
documentation's deprecations page for more information.
- Implemented: HLS media initialization section (fragmented
MPEG-4 streams) [#3828]
- Upgraded: `requests` to `>=2.26.0,<3` and set it to `==2.25.1`
on Windows [#3864], [#3880]
- Fixed: YouTube channel URLs, premiering live streams, added API
fallback [#3847], [#3873], [#3809]
- Removed plugins: canalplus [#3841], dommune [#3818], liveedu [#3845],
periscope [#3813], powerapp [#3816], rtlxl [#3842],
streamingvideoprovider [#3843], teleclubzoom [#3817], tigerdile [#3819]
Hakkin Lain (1):
stream.hls: set fallback playlist reload time to 6 seconds (#3887)
back-to (16):
plugins.youtube: added API fallback
plugins.rtvs: fixed livestream
plugins.nos: Fixed Livestream and VOD
plugins.vlive: fixed livestream (#3820)
plugins.Tigerdile: removed
plugins.Dommune: removed
plugins.PowerApp: removed
plugins.TeleclubZoom: removed (#3817)
plugins.cdnbg: Fix regex and referer issues
plugins.rtlxl: removed
plugins.CanalPlus: removed
plugins.liveedu: removed
plugins.Streamingvideoprovider: removed
plugin.api: update useragents
plugins.youtube: detect Livestreams with 'isLive'
plugins.nimotv: use 'mStreamPkg'
bastimeyer (30):
plugins.youtube: translate embed_live URLs
plugins.periscope: remove plugin
plugins.mediaklikk: rewrite plugin
stream.hls: add type hints and refactor
stream.hls: implement media initialization section
plugin: new matchers API
plugins: update protocol plugins
plugins: update basic plugins
plugins: update plugins with URL capture groups
plugins: update plugins with spec. can_handle_url
plugins: update plugins with multiple URL matchers
plugins: update plugins with URL translations
session: resolve deprecated plugins
plugins.zdf_mediathek: refactor plugin, drop HDS
docs: add deprecations page
plugins.tv8: remove API, find HLS via simple regex
plugins.youtube: find videoId on channel pages
chore: replace issue templates with forms
chore: fix issue forms checklist
tests: remove mock from dev dependencies
vendor: set requests to >=2.26.0,<3
tests: temporarily skip broken tests on win32
tests: fix unnecessary hostname lookup in cli_main
docs: fix headline anchors on deprecations page
vendor: downgrade requests to 2.25.1 on Windows
tests: refactor TestMixinStreamHLS
streams.segmented: refactor worker and writer
streams.segmented: refactor reader
streams.hls: refactor worker
streams.hls: fix playlist_reload_time
gustaf (1):
plugins.tv4play: fix plugin URL regex
vinyl-umbrella (1):
plugins.openrectv: update HLS URLs (#3850)
Changes:
- New: Dutch translation of README.md.
- Fixed: interactive prompt not printed with musl libc.
- Fixed: typos in README.md.
- Change: migrated builds from Travis to sr.ht.
Changelog:
== streamlink 2.2.0 (2021-06-19)
Release highlights:
- Changed: default config file path on macOS and Windows ([#3766])
- macOS: `${HOME}/Library/Application Support/streamlink/config`
- Windows: `%APPDATA%\streamlink\config`
- Changed: default custom plugins directory path on macOS and
Linux/BSD ([#3766])
- macOS: `${HOME}/Library/Application Support/streamlink/plugins`
- Linux/BSD: `${XDG_DATA_HOME:-${HOME}/.local/share}/streamlink/plugins`
- Deprecated: old config file paths and old custom plugins directory
paths ([#3784])
- Windows:
- `%APPDATA%\streamlink\streamlinkrc`
- macOS:
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config`
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/plugins`
- `${HOME}/.streamlinkrc`
- Linux/BSD:
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/plugins`
- `${HOME}/.streamlinkrc`
Support for these old paths will be dropped in the future.
See the [CLI documentation] for all the details regarding these changes.
- Implemented: `--logfile` CLI argument ([#3753])
- Fixed: Youtube 404 errors by dropping private API calls
(plugin rewrite) ([#3797])
- Fixed: Twitch clips ([#3762])
- Fixed: Olympicchannel plugin ([#3760])
- Fixed: various Zattoo plugin issues ([#3773])
- Fixed: HTTP responses with truncated body and mismatching
content-length header ([#3768])
- Fixed: scheme-less URLs with address:port for `--http-proxy`,
etc. ([#3765])
- Fixed: rendered man page path on Sphinx 4 ([#3750])
- Added plugins: mildom.com ([#3584])
- Removed plugins: ine.com ([#3781])
Billy2011 (2):
plugins.mediaklikk: add m4sport.hu (#3757)
plugins.olympicchannel: fix / rewrite
DESK-coder (1):
plugins.zattoo: changes to hello_v3 and new token.js (#3773)
FaceHiddenInsideTheDark (1):
plugins.funimationnow: fix subtitle language (#3752)
Ian Cameron (2):
plugins.bfmtv: fix/find Brightcove video data in JS (#3662)
plugins.booyah: new plugin
back-to (7):
plugins.tf1: fixed api_url
plugins.onetv: cleanup
plugins.mediavitrina: new plugin
plugin.api: update useragents, remove EDGE
plugins.ine: removed
plugins.zattoo: cleanup, fix other domains
plugins.playtv: removed - SEC_ERROR_EXPIRED_CERTIFICATE (#3798)
bastimeyer (27):
plugins.rtpplay: fix obfuscated HLS URL parsing
utils.url: add encoding options to update_qsd
docs: set man_make_section_directory to false
tests.hls: test headers on segment+key requests
cli.argparser: fix description text
utils.url: fix update_scheme with implicit schemes
plugins.twitch: add access token to clips
tests: refactor TestCLIMainLogging
cli: implement --logfile
plugins.twitch: fix clips URL regex
plugin.api.http_session: refactor HTTPSession
plugin.api.http_session: enforce_content_length
stream.hls: replace custom PKCS#7 unpad function
plugin.api.validate: add nested lookups to get()
plugin.api.validate: implement union_get()
plugins.twitch: query hosted channels on GQL
plugins.twitch: tidy up API calls
cli: refactor CONFIG_FILES and PLUGIN_DIRS
cli: add XDG_DATA_HOME as first plugins dir
cli: rename config file on Windows to "config"
cli: use correct config and plugins dir on macOS
cli: deprecate old config files and plugin dirs
cli: fix order of config file deprecation log msgs
plugins.youtube: clean up a bit
plugins.youtube: update URL regex, translate URLs
plugins.youtube: replace private API calls
plugins.youtube: unescape consent form values
shirokumacode (1):
plugins.mildom: new plugin for mildom.com (#3584)
== streamlink 2.1.2 (2021-05-20)
Patch release:
- Fixed: youtube 404 errors ([#3732])
- Fixed: picarto plugin ([#3661])
- Fixed: euronews plugin ([#3698])
- Fixed: bbciplayer plugin ([#3725])
- Fixed: missing removed-plugins-file in `setup.py build` ([#3653])
- Changed: HLS streams to use rounded bandwidth names ([#3721])
- Removed: plugin for hitbox.tv / smashcast.tv ([#3686])
Alexis Murzeau (1):
build: include .removed file in build
Ian Cameron (3):
plugins.tvplayer: plugin removal
plugins.picarto: rewrite/fix (#3661)
plugins.bbciplayer: fix/update state_re regex
Kagamia (1):
plugins.nicolive: fix proxy arguments (#3710)
Yavuz Kömeçoğlu (1):
plugins.youtube: add html5=1 parameter (#3732)
back-to (3):
plugins.youtube: fix consent dialog (#3672)
plugins.mitele: use '_{bitrate}' and remove duplicates
stream.hls_playlist: round BANDWIDTH and parse as int (#3721)
bastimeyer (7):
plugins.youtube: add short video URLs
plugins.hitbox: remove plugin
chore: remove square brackets from issue titles
plugins.euronews: rewrite and fix live streams
utils.named_pipe: rewrite named pipes
docs: fix winget package link
ci.github: add python 3.10-dev to test runners
bururaku (1):
plugins.abematv: Fixed download problem again. (#3658)
== streamlink 2.1.1 (2021-03-25)
Patch release:
- Fixed: test failure due to missing removed plugins file in sdist
tarball ([#3644]).
Sebastian Meyer (1):
build: don't build sdist/bdist quietly (#3645)
bastimeyer (1):
build: include removed plugins file in sdist
== streamlink 2.1.0 (2021-03-22)
Release highlights:
- Added: `--interface`, `-4` / `--ipv4` and `-6` / `--ipv6` ([#3483])
- Added: `--niconico-purge-credentials` ([#3434])
- Added: `--twitcasting-password` ([#3505])
- Added: Linux AppImages ([#3611])
- Added: pre-built man page to bdist wheels and sdist tarballs ([#3459])
- Added: plugin for ahaber.com.tr and atv.com.tr ([#3484])
- Fixed: `--player-http` / `--player-continuous-http` HTTP server being
bound to all interfaces ([#3450])
- Fixed: handling of languages without alpha_2 code when using
pycountry ([#3518])
- Fixed: memory leak when calling `streamlink.streams()` ([#3486])
- Fixed: race condition in HLS related tests ([#3454])
- Fixed: `--player-fifo` issues on Windows with VLC or MPV ([#3619])
- Fixed: various plugins issues (see detailed changelog down below)
- Removed: Windows portable (RosadinTV) ([#3535])
- Removed: plugin for micous.com ([#3457])
- Dependencies: set `websocket-client` to `>=0.58.0` ([#3634])
Alexis Murzeau (1):
docs: update Debian stable install instructions
Billy2011 (1):
plugins.stadium: adaptions for new player api (#3506)
Ian Cameron (7):
plugins.mico: plugin removal
plugins.dogus: remove channel and update test
plugins.turkuvaz: add channels and URL tests
plugins.tvtoya: fix playlist regex
plugins.nimotv: new plugin
plugins.tvtoya: minor fixes
plugins.mjunoon: rewrite/fix
Jefffrey (1):
plugins.Nicolive: login before getting wss api url
Miguel Valadas (1):
plugins.rtpplay: add schema and fix HLS URL (#3627)
Vladimir Stavrinov (1):
plugins.oneplusone: fix iframe url pattern (#3503)
alnj (1):
plugins.twitcasting: add support for private/password-protected
streams (#3505)
back-to (11):
cli.main: use *_args, **_kwargs for create_http_server (#3450)
plugins.nicolive: added --niconico-purge-credentials
docs: remove outdated gst-player example
plugins.facebook: Add 'Log into Facebook' error message.
plugins.afreeca: use 'gs_cdn_pc_web' and 'common'
stream.dash: Fix static playlist - refresh_wait
- Pipe copy aborted - Read timeout
plugin.api: update useragents (#3637)
plugins.zattoo: use 'dash' as default stream
setup.py: require websocket-client>=0.58.0
plugins.nicolive: fixed websocket-client
plugins.btsports: remove plugin
bastimeyer (36):
tools: force LF line endings via .gitattributes
docs: add minimalist code of conduct
stream.hls: open reader from class attribute
tests.hls: await all filtered-HLS writer calls
plugins.twitch: fix access_token on invalid inputs
ci: add netlify docs preview deploy config
docs: add thank-you section to index page
build: include man page in wheels
docs: bump furo docs req to 2020.12.28.beta23
2021
http_session: remove HTTPAdapterWithReadTimeout
docs: improve install-via-pip section
docs: fix description of `--ffmpeg-fout`
build: include man page in sdist tarballs
utils/l10n: fix langs without alpha_2 in pycountry
plugins.bloomberg: fix and refactor plugin
utils: remove custom memoize decorator
docs: remove CLI tutorial from man page
session: implement --interface, --ipv4 and --ipv6
docs: remove RosadinTV Windows portable version
ci.github: increase git fetch depth of tests
tests: fix test code coverage
ci.codecov: 100% tests target, add patch status
docs: clean up package maintainers list
plugins.vtvgo: ignore duplicate params
ci.codecov: disable GH status check annotations
chore: reorder and improve issue templates
plugins: fix invalid plugin class names
tests.plugins: parametrize can_handle_url tests
plugins: fix and update removed plugins list
docs: add appimages section to install docs
ci.netlify: build docs when CHANGELOG.md changes
docs: add pip to packages lists
cli.output: fix named pipe player input on Windows
cli: debug-log arguments set by the user
cli: refactor log_current_versions and add tests
bururaku (1):
plugins.abematv: Update abematv.py (#3617)
fenopa (1):
installer: upgrade to python 3.8.7
losuler (1):
docs: update URL to Fedora repo
onde2rock (1):
plugins.bfmtv : fix rmcstory and rmcdecouverte (#3471)
vinyl-umbrella (1):
plugins.openrectv: update/fix (#3583)
== streamlink 2.0.0 (2020-12-22)
Release highlights:
- BREAKING: dropped support for Python 2 and Python 3.5 ([#3232])
- BREAKING: updated the Python version of the Windows installer
to 3.8 ([#3330])
Users of Windows 7 will need their system to be fully upgraded.
- BREAKING: removed all deprecated CLI arguments ([#3277])
- `--http-cookies`, `--http-headers`, `--http-query-params`
- `--no-version-check`
- `--rtmpdump-proxy`
- `--cmdline`, `-c`
- `--errorlog`, `-e`
- `--errorlog-path`
- `--btv-username`, `--btv-password`
- `--crunchyroll-locale`
- `--pixiv-username`, `--pixiv-password`
- `--twitch-oauth-authenticate`, `--twitch-oauth-token`,
`--twitch-cookie`
- `--ustvnow-station-code`
- `--youtube-api-key`
- BREAKING: replaced various subtitle muxing CLI arguments with
`--mux-subtitles` ([#3324])
- `--funimationnow-mux-subtitles`
- `--pluzz-mux-subtitles`
- `--rtve-mux-subtitles`
- `--svtplay-mux-subtitles`
- `--vimeo-mux-subtitles`
- BREAKING: sideloading faulty plugins will now raise an
`Exception` ([#3366])
- BREAKING: changed trace logging timestamp format ([#3273])
- BREAKING/API: removed deprecated `Session` compat options ([#3349])
- BREAKING/API: removed deprecated custom `Logger` and `LogRecord`
([#3273])
- BREAKING/API: removed deprecated parameters from
`HLSStream.parse_variant_playlist` ([#3347])
- BREAKING/API: removed `plugin.api.support_plugin` ([#3398])
- Added: new plugin for pluto.tv ([#3363])
- Added: support for HLS master playlist URLs to `--stream-url` /
`--json` ([#3300])
- Added: `--ffmpeg-fout` for changing the output format of muxed
streams ([#2892])
- Added: `--ffmpeg-copyts` and `--ffmpeg-start-at-zero` ([#3404])
- Added: `--streann-url` for iframe referencing ([#3356])
- Added: `--niconico-timeshift-offset` ([#3425])
- Fixed: duplicate stream names in DASH inputs ([#3410])
- Fixed: youtube live playback ([#3268])
- Fixed: `--twitch-disable-reruns` ([#3375])
- Fixed: various plugins issues (see detailed changelog down below)
- Changed: `{filename}` variable in `--player-args` / `-a` to
`{playerinput}` and made both optional ([#3313])
- Changed: and fixed `streamlinkrc` config file in the Windows installer ([#3350])
- Changed: MPV's automated `--title` argument to `--force-media-title` ([#3405])
- Changed: HTML documentation theme to [furo] ([#3335])
- Removed: plugins for `skai`, `kingkong`, `ellobo`, `trt`/`trtspor`,
`tamago`, `streamme`, `metube`, `cubetv`, `willax`
Billy2011 (2):
plugins.youtube: fix live playback (#3268)
stream.ffmpegmux: add --ffmpeg-copyts option (#3404)
Forrest Alvarez (1):
Update author email to shared email
Hunter Peavey (1):
docs: update wtwitch in thirdparty list (#3286)
Ian Cameron (9):
plugins.skai: plugin removal
plugins.kingkong: plugin removal
plugins.cnews: fix video ID search, add schema
plugins.ellobo: plugin removal
plugins.nbcnews: fix video ID search, add schemas
plugins.bfmtv: fix ID & embed re, use Dailymotion
plugins.filmon: mitigate for non-JSON data response
plugins.schoolism: fix and test for colon in title (#3421)
plugins.dogan: fix/update
Jon Bergli Heier (1):
plugins.nrk: fix/rewrite plugin (#3318)
Mark Ignacio (1):
plugins.NicoLive: add --niconico-timeshift-offset option (#3425)
Martin Buck (1):
plugins.zdf_mediathek: also support 3sat mediathek
Sean Greenslade (1):
plugins.picarto: explicitly detect and fail on private
streams (#3278)
Sebastian Meyer (2):
chore: drop support for Python 3.5 (#3269)
ci.github: run lint step before test step (#3294)
Seonjae Hyeon (1):
plugins.vlive: fix URL regex and plugin (#3315)
azizLIGHT (1):
docs: fix mpv property-list link in --title description (#3342)
back-to (26):
plugins.facebook: remove User-Agent (#3272)
plugins.trt/trtspor: remove plugins
plugin.api.useragents: update User-Agent
plugins: remove FIREFOX User-Agent imports
plugins.abweb: fixed login issues
plugins.huya: use FLV stream with multiple mirrors
plugin.api.useragents: update User-Agent's
plugins.tamago: removed dead plugin
plugins.streamme: removed dead plugin
plugins.metube: removed dead plugin
plugins.cubetv: removed dead plugin
cli.utils: remove named_pipe.py file, use streamlink.utils import
plugins.willax: removed plugin, they use streann
plugins.streann: allow different source URLs
plugins.pixiv: set headers for stream data, fixed login issue
plugins.pluto: new plugin for https://pluto.tv/ (#3363)
plugins.twitch: fix ads
plugins.twitch: fix --twitch-disable-reruns
plugins.youtube: quickfix for "/live" URL
plugins.pluto: ignore invalid channels
stream.dash: allow '_alt' streams with the same
resolution (#3410)
plugins.afreeca: update '_get_channel_info' with 'bno',
plugin cleanup (#3408)
plugins.plugin: use the same cls.logger 'plugins'
stream.ffmpegmux: disable -start_at_zero for -copyts
as default (#3413)
plugin.api.useragents: update User-Agent
plugins.youtube: Fix 'ytInitialData' for channel pages
bastimeyer (71):
chore: drop support for Python 2
chore: remove is_py{2,3} compat checks
chore: remove compat imports of builtins
chore: remove streamlink.utils.encoding
chore: remove simple aliased compat imports
chore: remove compat imports of removed py2 deps
chore: remove compat import of html module
chore: remove compat imports of urllib and queue
chore: remove remaining inspect compat import
chore: remove unneeded __future__ imports
chore: remove file encoding header comments
chore: remove compat imports from tests
logger: replace self.logger calls in plugins
logger: format all log messages directly
logger: remove deprecated compat logger
logger: refactor StringFormatter
chore: remove old LIVESTREAMER_VERSION constant
chore: remove deprecated CLI arguments
flake8: add import-order linting config
plugins.twitch: player_type access token parameter
ci.github: install latest version of pynsist
chore: implicit py3 super() calls
chore: remove u-strings
ci.github: set ubuntu to 20.04 and python to 3.9
cli: optional player-args input variable
cli: add support for stream manifest URL output
installer: upgrade to Python 3.9.0
installer: switch back to latest pynsist release
installer: downgrade to python 3.8
docs: add note about supported Windows versions
docs: add autosectionlabel Sphinx extension
docs: fix most http links
plugin: implement global plugin arguments
plugins: turn mux-subtitles into a global argument
plugins.twitch: remove player_type parameter
plugins.twitch: move access_token request to GQL
chore: remove HLS variant playlist compat params
chore: remove old rtmpdump/subprocess CLI args
installer: fix + rewrite streamlinkrc config file
stream.ffmpegmux: only close FFMPEGMuxer once
chore: add dev version checkbox to issue templates
chore: inherit from object implicitly
chore: set literals and dict comprehensions
chore: use yield from where possible
chore: replace old errors classes with OSError
chore: drop python six compat stuff
chore: fix deprecated logging.Logger.warn calls
docs: fix CLI page
docs: split CLI args in HTML output into rows
session: replace usage of deprecated imp module
docs: add warning to plugin sideloading section
refactor: test_session, move testplugin files
plugin.api: remove support_plugin
tests: fix test_cmdline{,_title}
chore: add issue template config with more links
docs: switch theme to furo, bump sphinx to >=3.0
docs: remove custom sphinx_rtd_theme_violet
tools: update editorconfig for docs theme files
docs: add index page to toctree
docs: add custom stylesheet and customize sidebar
docs: change/fix fonts, brand colors and spacings
docs: add version warning message
docs: fix applications and donate pages
cli: move plugin args into their own args group
docs: fix scrollbar issues in both sidebars
docs: add favicons and PWA manifest
cli.output: replace MPV player title parameter
stream.hls: merge hls_filtered with hls
cli: move --stream-url to different args group
cache: catch OverflowError in set()
docs: fix link in readme
beardypig (6):
tests: fix log tests when run on a system with a non-UTC timezone
chore: use new py3 yield from syntax
chore: sort imports, fix a dependency cycle and use absolute imports
tests: validate all plugins' global arguments
plugins.mitele: update plugin to support new website APIs (#3338)
stream.ffmpegmux: Add support for specifying output file format
and audio sync option (#2892)
enilfodne (1):
plugins.cdnbg: simplify and fix iframes without schema
smallbomb (1):
plugins: fix radiko.py url (#3394)
== streamlink 1.7.0 (2020-10-18)
Release highlights:
- Added: new plugins for micous.com, tv999.bg and cbsnews.com
- Added: new embedded ad detection for Twitch streams ([#3213])
- Fixed: a few broken plugins and minor plugin issues (see changelog
down below)
- Fixed: arguments in config files were read too late before taking
effect ([#3255])
- Fixed: Arte plugin returning too many streams and overriding
primary ones ([#3228])
- Fixed: Twitch plugin error when stream metadata API response
is empty ([#3223])
- Fixed: Zattoo login issues ([#3202])
- Changed: plugin request and submission guidelines ([#3244])
- Changed: refactored and cleaned up Twitch plugin ([#3227])
- Removed: `platform=_` stream token request parameter from Twitch
plugin (again) ([#3220])
- Removed: plugins for itvplayer, aljazeeraen, srgssr and dingittv
Alexis Murzeau (1):
docs: use recommonmark as an extension
Billy2011 (3):
plugins.zattoo: use hello api v2 for zattoo.com (#3202)
plugins.dlive: rewrite plugin (#3239)
utils.l10n: use DEFAULT_LANGUAGE_CODE if locale lookup
fails (#3055)
Forrest (1):
plugins.itvplayer: remove due to DRM (#2934)
Ian Cameron (8):
plugins.mico: new plugin for http://www.micous.com/ (#3188)
plugins.cdnbg: update url_re, plugin test, plugin matrix (#3205)
plugins.tv999: new plugin for http://tv999.bg/live.html (#3199)
plugins.aljazeeraen: plugin removal (#3207)
plugins.srgssr: plugin removal
plugins.tv3cat: update URL match, test and plugin matrix
chore: update issue templates (#3250)
docs: add plugin addition/removal infos (#3249)
Sebastian Meyer (2):
Improve coverage reports on codecov (#3200)
plugins.twitch: remove platform access token param (#3220)
back-to (4):
plugin.api.useragents: update User-Agent
plugins.livestream: remove AkamaiHDStream, use only secure
HLSStream (#3243)
plugins.dingittv: removed, website is unmaintained
plugins: mark some plugins as broken (#3262)
bastimeyer (21):
ci.coverage: increase threshold of tests status
tests: add stream_hls mixin for testing HLSStreams
stream.hls_filtered: refactor tests, use mixin
plugins.twitch: refactor tests, use mixin
stream.hls: refactor reload time tests, use mixin
stream.hls: separate variant playlist tests
stream.hls: separate default and encrypted tests
stream.hls_playlist: implement EXT-X-DATERANGE tag
plugins.twitch: filter ads by EXT-X-DATERANGE tag
plugins.twitch: fix metadata API response handling
ci: add python 3.9 test runners
tests: fix early writer close in stream_hls mixin
stream.segmented: gracefully shut down thread pool
plugins.twitch: remove video-type distinction
plugins.twitch: refactor Twitch API related code
plugins.twitch: refactor _get_hls_streams
plugins.twitch: remove stream weights and clean up
docs: fix working tree check in deploy script
docs: update plugin guidelines
docs: add developing menu with basic setup steps
docs: add generic pull request template
beardypig (3):
plugins.cbsnews: support for live streams from CBS News (#3251)
plugins.artetv: only pick the first variant of the stream (#3228)
cli: make config based args available during early setup (#3255)
== streamlink 1.6.0 (2020-09-22)
Release highlights:
- Fixed: lots of broken plugins and minor plugin issues (see
changelog down below)
- Fixed: embedded ads on Twitch with an ads workaround, removing
pre-roll and mid-stream ads ([#3173])
- Fixed: read timeout error when filtering out HLS segments ([#3187])
- Fixed: twitch plugin logging incorrect low-latency status when
pre-roll ads exist ([#3169])
- Fixed: crunchyroll auth logic ([#3150])
- Added: the `--hls-playlist-reload-time` parameter for customizing
HLS playlist reload times ([#2925])
- Added: `python -m streamlink` invocation style support ([#3174])
- Added: plugin for mrt.com.mk ([#3097])
- Changed: yupptv plugin and replaced email+pass with id+token
authentication ([#3116])
- Removed: plugins for vaughnlive, pandatv, douyutv, cybergame,
europaplus and startv
Ian Cameron (11):
docs: update turkuvaz plugin matrix entry (#3114)
docs: Add reuters.com for reuters plugin entry in plugin
matrix (#3124)
Fix formatting for reuters plugin entry
plugins.huomao: fix/rewrite (#3126)
plugins.drdk: fix livestreams (#3115)
plugins.tvplayer: update regex and tests for /uk/ URLs
plugins.tv360: fix HLS URL regex and plugin (#3185)
plugins: fix unescaped literal dots in url_re entries (#3192)
plugins.svtplay: rewrite/fix (#3155)
plugins.yupptv: fix/minor rewrite (#3116)
plugins.ine: fix unescaped literal dots in js_re (#3196)
Il Harper (2):
Add OBS-Streamlink into thirdparty.rst
Apply suggestions from code review
PleasantMachine9 (1):
support `python -m` cli invocation
Sebastian Meyer (4):
plugins.bloomberg: fix regex module anchor (#3131)
plugins.sportschau: rewrite and fix plugin (#3142)
plugins.raiplay: rewrite and fix plugin (#3147)
plugins.twitch: refactor worker, parser and tests (#3169)
Tr4sK (1):
plugins.mrtmk: new plugin for http://play.mrt.com.mk/ (#3097)
Yahya (1):
docs: update reference to minimum VLC version
back-to (9):
plugins.vaughnlive: removed
plugins.pandatv: removed
plugins.douyutv: removed
plugins.tv8: fix plugin with new api
plugins.cybergame: removed
plugins.europaplus: remove plugin
plugins.vk: remove '\' from data
plugins.nicolive: fix quality
plugins.wasd: fixed plugin (#3139)
bastimeyer (8):
stream.hls: customizable playlist reload times
plugins.twitch: platform=_ in access_token request
docs: fix NixOS link
docs: replace easy_install macOS entry with pip
docs: add comment regarding pip/pip3 differences
stream.hls_filtered: implement FilteredHLSStream
plugins.twitch: use FilteredHLS{Writer,Reader}
stream.hls_filtered: fix tests
beardypig (1):
plugins.crunchyroll: update auth logic
derFogel (1):
plugins.zattoo: fix quantum tv streaming (#3108)
hymer-up (2):
plugins.startv: remove plugin (#3163)
plugins.dogus: add startv URL (#3161)
== streamlink 1.5.0 (2020-07-07)
A minor release with fixes for `pycountry==20.7.3` ([#3057]) and a
few plugin additions and removals.
And of course the usual plugin fixes and upgrades, which you can
see in the git shortlog down below. Thank you to everyone involved!
Support for Python2 has not been dropped yet (contrary to the comment
in the last changelog), but will be in the near future.
Alexis Murzeau (1):
docs: update debian install instructions
Billy2011 (8):
plugins.nbcsports: fix embed_url_re (#2980)
plugins.olympicchannel: fix/rewrite (#2981)
plugins.foxtr: fix playervars_re (#3013)
plugins.huya: fix _hls_re (#3007)
plugins.ceskatelevize: add new api for some links (#2991)
plugins.beattv: remove plugin (#3053)
plugins.ard_live: fix / rewrite (#3052)
plugins.ard_mediathek: fix / update (#3049)
Code (1):
Streamlink was added to Windows Package Manager
Ian Cameron (6):
plugins.tvplayer: Add missing platform key in the GET for
stream_url (#2989)
plugins.btv: remove login and fix API URL (#3019)
plugins.n13tv: new plugin - replaces plugins.reshet (#3034)
plugins.reshet: plugin removal (#3000)
plugins.tvnbg: plugin removal (#3056)
plugins.adultswim: fix/rewrite (#2952)
Sebastian Meyer (3):
ci: no test/documentation jobs on scheduled run (#3012)
cli.main: fix msecs format in logging output (#3025)
utils.l10n: fix pycountry language lookup (#3057)
Vladimir Stavrinov (1):
plugins.nbcnews: new plugin for http://nbcnews.com/now (#2927)
back-to (11):
plugins.showroom: use normal HLSStreams
docs: remove unimportant note / file
plugins.viasat: remove play.nova.bg domain
actions: fixed incorrect versions and use names for codecov
(#2932)
plugins.filmon: use /tv/ url and raise PluginError for invalid
channels
flake8: E741 ambiguous variable name
plugins.youtube: Fix isLive and signatureCipher (#3026)
plugins.facebook: use meta og:video:url and added basic title
support (#3024)
plugins.picarto: fixed vod url detection
ci: fix pycountry issue temporarily with a fixed version
plugin.api.useragents: update User-Agent
bastimeyer (3):
docs/install: fix Windows package manager
plugins.mixer: remove plugin
ci: run scheduled tests, ignore coverage report
beardypig (1):
plugins.cdnbg: update plugin to support new sites, and remove
old sites (#2912)
lanroth (1):
plugins.radionet: fix plugin so it works with new page format
(#3018)
resloved (1):
fixed typo
steven7851 (1):
plugins.app17: update API (#2969)
tnira (1):
Plugin.nicolive:resolve API format change (#3061)
unavailable (1):
plugins.twitch: fix call_subdomain (#2958)
wiresp33d (2):
plugins.bigo: use API for video URL (#3016)
plugins.nicolive: resolve new api format (#3039)
Change log:
mate-media 1.24.1
* Translations update
* build: silent build warnings for distcheck
* panel-applet: ensure speaker can be shown alongside or above mic
Changes between 3.0.15 and 3.0.16:
----------------------------------
Video Output:
* Fix a D3D11 crash on Windows 8/8.1
Access:
* Fix RTSP server timeout handling
Interfaces:
* macOS: Add touchbar support
Misc
* Multiple settings improvements
Changes between 3.0.14 and 3.0.15:
----------------------------------
Core:
* Add Opus & Alac wave format mappings
Access:
* Fix opening DVD folders with non-ascii characters
Demux:
* Fix asf regression with broadcast streams
* MP4: Fix audio drop on seek
Video Output:
* Fix seek & volume sliders overlapping with subtitles
* Fix delays when seeking with D3D11
Text renderer:
* Improve freetype fonts outlining
Misc:
* Fix GnuTLS support for Windows XP
Version 59.0.0 "Shining Star" 2021-07-10
New features and enhancements
* mkvmerge: WebVTT parser: the parser now follows the specs' rules for parsing
timestamps more closely by being more lenient: it allows arbitrary number of
spaces & tabs at the start of the line & around the arrow; it allows any
number of digits for the hours.
* MKVToolNix GUI: multiplexer: when adding a Blu-ray playlist without scanning
for other playlists the GUI will now look for disc library information & let
the user select which one to use if there's more than one entry.
* MKVToolNix GUI: multiplexer: added an option for sorting files & tracks by
track types when adding them to multiplex settings. The order is: video
first followed by audio, subtitles and other types. Files & tracks can still
be reordered manually later. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added an option for recognizing file name
sequences such as `movie.001.mp4`, `movie.002.mp4`, `movie.003.mp4` when
adding multiple files at once. If a sequence is detected, the only first
file will be added while the second and following file names will be
appended to the first one. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added small colored boxes for each file & track
in order to indicate from which file each track is read. The colors used can
be configured in the preferences → "Multiplexer" page → "File & track
colors" section.
Bug fixes
* build system: fixed compilation with fmt v8.
* mkvmerge: SRT subtitle reader: characters that aren't valid according to the
assumed encoding of the file will now be replaced by the Unicode
"Replacement Character" U+FFFD instead of keeping the invalid characters,
potentially violating the Matroska specs.
* mkvmerge: WebVTT parser: the parser now accepts timestamps with hours
larger than 99.
* mkvextract: TTA extraction, only on Windows: fixed removing the temporary
file created during extraction.
* mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: MIME
type detection is now done using Qt instead of the `magic` library. The main
impact is the MIME types of TrueType & OpenType fonts are now detected
correctly.
* mkvmerge, mkvinfo, MKVToolNix GUI's info tool: only on Windows: displaying
dates before 1970-01-01 00:00:00 UTC or after 2038-01-19 03:14:08 UTC was
broken. Note that the header editor was not affected.
* MKVToolNix GUI: only on 64-bit Windows: under certain conditions, the 64-bit
Windows binaries crashed when opening dialog windows. Even though the
underlying bug hasn't been identified, the investigation showed that
building it with newer versions than 10.2.0 of the mingw/gcc cross-compiler
enabled the crashes, while binaries built with 10.2.0 were fine. This
affected v57 and v58 which were built with gcc versions 10.3.0 and 11.1.0
respectively. For the time being I've switched back to building Windows
binaries with gcc 10.2.0.
* MKVToolNix GUI: multiplexer: when adding files to the multiplexer by running
the GUI's executable with file names as command line arguments, the source
directory will be remembered as the "last open directory" again, causing
subsequent uses of the "open file" dialog to start in the same directory.
* MKVToolNix GUI: multiplexer: the "default track flag" column in the track
list was missing its icons. Additionally it contained text even for things
that aren't regular tracks and therefore do not actually have that flag
(e.g. chapters or tags).
* MKVToolNix GUI: multiplexer: the default for the dialog asking the user what
to do with dragged & dropped files if they've never seen the dialog is back
to adding the files to the current multiplex settings instead of "add as
additional parts" which was an unintentional default.
* MKVToolNix GUI: multiplexer: the "show command line" dialog will now always
use backward slashes for the "Windows (cmd.exe)" mode and forward slashes
for the "Linux/Unix shells" mode, regardless of the operating system it's
currently running on.
Build system changes
* The Qt library is now required for building all applications, even the
command-line ones, as they use Qt's MIME type detection capabilities. In
turn this means that you cannot disable the Qt usage anymore; either Qt5 or
Qt 6 is required.
You can still chose not to build MKVToolNix GUI, though. A new option has
been added to `configure` for this purpose: `--disable-gui`.
* The `gmp` library is now required.
* The `magic` library is not used anymore.
* The `PCRE2` & `JPCRE2` libraries are not used anymore. The bundled version
of `JPCRE2` was removed.
* Boost's "rational" library is not used anymore.
* `configure`: the option `--enable-appimage` has been removed. The location
of the relevant directories within an AppImage is now detected
automatically.
* The bundled `fmt` library was updated to v8.0.0.
10/09/2020: GPAC 1.0.1
This release fixes build and installation issues in 1.0.0, as well as
various bugs introduced during the migration to the filters
architecture.
It also adds several small features:
- better ttml import
- better support for MPEGH audio
- support fur DASH UTCTiming
- manifest generation from pre-fragmented DASH/HLS mp4
- speed optimization in isobmf reading (normal and fragmented)
- improved JS API for the filter session
- core tools exposed as JS module (file io, bitstream, etc ...)
- android fixes
16/06/2020: GPAC 1.0
- Complete rewrite of GPAC streaming core:
* addition of a filter-based architecture, used by MP4Client
and MP4Box.
* moving all decoders and demuxer plugins of MP4Client and most of
MP4Box import/export code as filters for this new architecture,
* moving DASH/HLS segmenter to a filter
* moving MP4Client compositor and most of the GF_Terminal internals
to a filter
* addition of a new application gpac, whose only purpose is to
create and run filter chains
* removal of MP42TS and DashCast applications since these
functionalities are provided by gpac
* deprecation of some features (widget management, MSE draft
implementation for SVG media, UPnP, TEMI player support).
- Profile system allowing to override through a static file default
options of all filters and libgpac core
- Alias system for gpac app to simplify your command lines
- Enhanced DASHer:
* Support for HLS and dual HLS / DASH generation
* Support for any input
* True low-latency mode for DASH
* Support for multiple periods
* Support for other segment formats (raw, mkv, webm currently
tested)
- Input and outputs
* Generic pipe, TCP, UDP, and Unix Domain socket input and output
* RTSP server output
* HTTP output (client and server), supporting low latency DASH access
* Ad-hoc stream format called GSF to allow serialization to file,
pipe or socket of a session (for distributed filter chains),
supporting AES-128 CBC encryption.
- Raw audio (PCM) and video (RGB, YUV) reframers and exporters
- HEVC tile spliting and merging filters
- Compositor is a standalone filter (SVG/BIFS/VRML graphics in a
filter chain)
- Image encoding support through libjpg and libpng
- Full FFMPEG support:
* Encoding/decoding through FFMPEG libavcodec
* Multiplexing/demultiplexing through FFMPEG libavformat
* Device grabbers through FFMPEG libavdevice
* Raw audio and video filters through FFMPEG libavfilter
- Support for QuickJS (ES2002) and bindings for:
* Complete filter API
* GPAC software rasterizer (EVG)
* WebGL 1.0 Core
* XmlHttpRequest and uDOM APIs
* Storage
- Inspect and analyze filter
- MPEG-2 TS splitter
- Video cropper filter with zero-copy mode
- Video flip filter
- Source concatenator filter
- Simple audio and video output filters
- Experimental audio and video rewinder filter
- Encryption
* On-the-fly encryption and decryption, now available as filters
* Segment-based encryption and decryption
- ISOBMFF
* box customization
* Better QT support, prores parsing and dumping
* Support for raw media (QT style or ISOBMFF for audio)
* Simplify HEIF batch conversion through item to track mapping
* Reading from pipes (fragmented or progressive files)
* Writing to packets rather than files
* Fast interleaved file creation mode with less storage requirements
- FileIO wrapper for cases where files are not stored in a file system
known by GPAC
- Testing and Documentation
* Live doc generation (man and wiki)
* Improved coverage
* Split test suite as dedicated repo
* Moved all resource to https://wiki.gpac.io
* Started howto pages on wiki
* Many bug fixes
Version 58.0.0 "Supper's Ready" 2021-06-13
New features and enhancements
* mkvmerge, MKVToolNix GUI's multiplexer: the handling of the "default track"
flag has been changed to match the recent changes to the Matroska
specifications. The new semantics are that if it is set, it is supposed to
signal to the player that this track is eligible for being played by
default, potentially taking other factors such as user preferences regarding
languages into account.
This implies that more than one track of each type can have this flag
set. For example, a Blu-ray disc with three audio tracks might have
the main audio in both English and Japanese, whereas the third audio
track contains the director's comments. In such a case the first two
tracks should have the "default track" flag set, the third one
shouldn't.
Earlier `mkvmerge` was enforcing that only one track of each type could have
the flag set. This restriction has been removed, both in `mkvmerge` and in
the GUI's multiplexer.
`mkvpropedit` and the GUI's header editor are unaffected as they've always
allowed to set the flag on as many tracks as the user wanted.
* mkvmerge: AVC/H.264 & HEVC/H.265 identification: added the stream's pixel
dimensions (AVC only; were present for HEVC already) & default
duration.
* mkvmerge, mkvextract: HEVC/H.265: added support for reading single-layer
Dolby Vision from Annex B type bitstreams (elementary streams, MPEG
transport streams). Patch by quietvoid.
* mkvinfo: the option `-X`/`--full-hexdump` now affects all binary elements,
not just the frame data in `SimpleBlock` and `BlockGroup` elements.
* MKVToolNix GUI: multiplexer: the "delay" and "sync" options can now be used
for chapters in source files, too.
* MKVToolNix GUI: when moving list entries up & down with the optional buttons
or the keyboard shortcuts (instead of using drag & drop), the GUI ensures
that the top-most selected entry remains visible after the move.
* MKVToolNix GUI: added an option in the preference to use legacy MIME types
for font attachments instead of the current standard ones
(e.g. 'application/x-truetype-font' instead of 'font/sfnt' and 'font/ttf').
Bug fixes
* build system: fixed filtering out optimization options when compiling the
file `iso639_language_list.cpp` (before only numeric optimization levels
were filtered out and only if it wasn't the last option in the list of
flags).
* build system: when libmagic was detected via `pkg-config`, MKVToolNix was
actually compiled without support for libmagic due to a preprocessor symbol
not being defined.
* mkvmerge: MP4 reader: fixed an issue with timestamps overflowing when the
file's or the track's time scale is large.
* mkvmerge, mkvextract: fixed key frame handling for `BlockGroup` elements
with a forward reference but no backward references. Patches by Tom Yan.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: the programs will no
longer omit writing mandatory elements set to their default value if other
elements of the same type are present in the same master. This affects
mostly the "chapter language" element which may occur multiple times within
the same "chapter display" master. If it does occur multiple times and one
of them is set to "English" (which is that element's default value), that
element will now be written, too.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: when parsing chapter
files IETF & legacy language elements as well as legacy country elements
will now be properly generated depending on which exist already, especially
when there's more than one language and/or country element in a "chapter
display" element.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: fixed reading
OGM-style chapter files with timestamps that don't have exactly three
decimal places. Any number of decimal places between one and nine is now
supported for nanosecond precision.
* MKVToolNix GUI: chapter editor: added/fixed support for "chapter display"
elements with multiple languages or countries.
Build system changes
* Qt 6: added support for building with Qt 6. `configure` will look for Qt 6
first and only continue looking for Qt 5 if Qt 6 isn't found or disabled via
`--disable-qt6`.
Qt 6 detection works by first looking for the `qmake6` binary. Its location
can be specified with the `--with-qmake6=…` option.
All other Qt 6 related facts (such as compiler & linker flags or the
position of the other required tools such as `lconvert`, `moc`, `rcc` and
`uic`) will be derived from the output generated by `qmake6`.
Note that at this point Qt 6 is not yet supported for the cross-compilation
build to Windows, nor is a static Qt 6 build supported yet.
Note that the command line options `--enable-static-qt`,
`--with-qt-pkg-config-modules` and `--without-qt-pkg-config` only apply to
the Qt 5 and have no effect on Qt 6.
* Qt 5: the options for specifying the position of the tools (`--with-moc=…`,
`--with-rcc=…` and `--with-uic=…`) have been removed. Their position will
now be derived from the output generated by `qmake`.
* `configure`: completely disabling the GUI now requires passing both
`--disable-qt6` and `--disable-qt` options.
* Boost's multi-precision library is now required.
* Boost v1.66 or newer is now required.
Other changes
* The Windows build is now using an updated version of the
`file`/`magic` library for MIME type detection of attachments. This
affects fonts whose MIME types will now be the current standard MIME
types (e.g. `font/sfnt` or `font/ttf` for TrueType fonts). As this
might pose problematic with older players that only support the
legacy MIME type (e.g. `application/x-truetype-font`), a new option
was added in the GUI's preferences to use the legacy MIME types
instead of the current standard ones. This is off by default.
Builds for other operating systems have already been using newer
versions of the `file`/`magic` library for a long time.
Version 1.3.5 (2020 June 3)
* Fix unsigned typedef problem on macOS.
* Fix overflow check in ogg_sync_buffer.
* Clean up cmake and autotools build files.
* Remove Symbian and Apple XCode build files.
* Fix documentation cross-reference links.
Version 57.0.0 "Till The End" 2021-05-22
New features and enhancements
* mkvmerge: MP4 reader: added support for reading Dolby Vision from MP4 files
(FourCCs `dvh1` and `dvhe`; configuration records `dvcC`, `dvvC` and `hvcE`
will be converted into block addition mappings).
* mkvmerge: SRT subtitles: mkvmerge now accepts empty text files with the
extension `.srt` as SRT subtitle files, enabling the creation of empty SRT
tracks.
* mkvmerge, mkvextract: HEVC/H.265: access unit delimiter NALUs will no longer
be discarded, neither during muxing nor during extraction.
* MKVToolNix GUI: preferences: switched the order & wording of controls in the
"enabling items" panel to make it clearer that certain controls define
exceptions.
Bug fixes
* mkvmerge: HEVC/H.265 parser: several NALU types, notably the Dolby
Vision-specific NALUs ("unspecified 62" and "unspecified 63") and suffix SEI
NALUs, are now stored with the frame they belong to instead of with the next
frame.
* mkvmerge: HEVC/H.265 packetizer: fixed setting the track's default duration
when reading HEVC/H.265 from Matroska files that don't have a default
duration set.
* mkvmerge: HEVC/H.265 packetizer: fixed the calculation of the duration of
frames so that `SimpleBlock` elements can be used again instead of
`BlockGroups` with `BlockDuration` elements.
* mkvmerge, mkvextract: HEVC/H.265 parser: fixed issues with ordering &
duplication of certain NALUs (parameter set & prefix SEI NALUs).
* MKVToolNix GUI: multiplexer: when dragging & dropping files to the
multiplexer, the source directory will be remembered as the "last open
directory" again, causing subsequent uses of the "open file" dialog to start
in the same directory.
* mkvinfo: fixed the position of frames in block groups containing "block
duration" elements in summary mode (e.g. for subtitle tracks).
Build system changes
* `configure` will now try to detect `libmagic` via `pkg-config` and fall back
to including & linking directly if it cannot be found via `pkg-config`.
0.9.0 is a major version of dav1d, adding notably 10b acceleration on x64.
Details:
- x86 (64bit) AVX2 implementation of most 10b/12b functions, which should provide
a large boost for high-bitdepth decoding on modern x86 computers and servers.
- ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
- New API to signal events happening during the decoding process
Changelog:
Changes between 3.0.13 and 3.0.14:
----------------------------------
* Fix auto update for Windows
Changes between 3.0.12.1 and 3.0.13:
----------------------------------
Demux:
* Adaptive: fix artefacts in HLS streams with wrong profiles/levels
* Fix regression on some MP4 files for the audio track
* Fix MPGA and ADTS probing in TS files
* Fix Flac inside AVI files
* Fix VP9/Webm artefacts when seeking
Codec:
* Support SSA text scaling
* Fix rotation on Android rotation
* Fix WebVTT subtitles that start at 00:00
Access:
* Update libnfs to support NFSv4
* Improve SMB2 integration
* Fix Blu-ray files using Unicode names on Windows
* Disable mcast lookups on Android for RTSP playback
Video Output:
* Rework the D3D11 rendering wait, to fix choppiness on display
Interfaces:
* Fix VLC getting stuck on close on X11 (#21875)
* Improve RTL on preferences on macOS
* Add mousewheel horizontal axis control
* Fix crash on exit on macOS
* Fix sizing of the fullscreen controls on macOS
Windows:
* Fix subtitles/OSD under Windows XP
Misc:
* Update translations
* Improve MIDI fonts search on Linux
* Update Soundcloud, Youtube, liveleak
* Fix compilation with GCC11
* Fix input-slave option for subtitles
Changes between 3.0.12 and 3.0.12.1:
----------------------------------
macOS:
* 3.0.12.1 is the first release for Apple Silicon macs
* Version bump to allow an automatic upgrade path
Release 0.15.1
This is purely a bug fix and polish release, with no significant API or ABI changes.
The only API change is that ass_add_font is now declared to accept const char *. Previously it took only char *, but const has worked in practice since the very first standalone libass release.
Fix currently known 0.15.0 regressions:
Fix crashing on some ASS files with embedded fonts
Fix total font fallback failure with some fonts on Core Text
Fix embedded and memory fonts not actually being used unless ass_set_fonts was called after they have been added
Fix events assuming the largest xbord-value of a preceding event of the same frame during collision handling
Fix \fscx0 and \fscy0 making more text disappear than they should
Fix shift in vertical positioning of some right-to-left events with \an4-6, \pos, \move or Scroll effects
Fix imprecise output for \be with huge argument
Fix the --enable-large-tiles configure switch doing nothing
Fix output of ASM-enabled builds deviating from non-ASM builds
Fix ASM-builds on Haiku and 32-bit *BSDs
Overhaul x86 assembly for better performance and to allow ASM-enabled PIC-builds on 32-bit
Reduce temporary allocation in rendering
DirectWrite: request fonts on demand for better performance and improved compatibility with external on-demand font activation
Log libass version numbers upon renderer startup
Accept pointers to const as arguments to ass_add_font
Improve VSFilter compatibility:
Disregard zero area events in collision handling
Do not apply \fsp to vector drawings
Fix bug preventing cutting out glyphs from border & shadow with abnormal \fad values (or causing aliasing artifacts in some cases with normal values)
Now it should be more obvious when a package needs it as a dependency,
as it will fail loudly if it isn't declared as a tool.
While here, some duplicate dependencies on itstool were removed from the
MATE packages
most of these simply extend matching from "aarch64" to "aarch64eb"
in various forms of code. most remaining uses in pkgsrc of
"MACHINE_ARCH == aarch64" are because of missing aarch64eb support,
such as most of the binary-bootstrap requiring languages like rust,
go, and java.
no pkg-bump because this shouldn't change packages on systems that
could already build all of these.
Version 6.26.1
This version fixes a major regression in the avformat producer to read from
network URLs.
Version 6.26.0
This is the last planned release of major version 6. Version 7 will be released
soon and introduce some minor API breakage while removing deprecations.
The main new feature in this version is hardware-accellerated decoding!
However, this is a basic implementation: It always returns the uncompressed
video to the CPU memory with no pipelining to filters. Even when coupled with
hardware encoding in the avformat consumer it must transfer the video. Also,
there is no automatic software/CPU fallback and no resource management.
Modules
* Added support for `hwaccel` query string parameter to the `avformat`
producer. It accepts the following values:
vaapi (Linux/BSD), cuda (Linux), videotoolbox (macOS), d3d11va (Windows), dxva2 (Windows)
* Added support for `hwaccel_device` query string parameter to the `avformat`
producer. This is only used with vaapi (device path) and cuda, d3d11va, or
dxva (number).
* Improved the usage of image slice threading in `frei0r`. This only applies
when `threads`=0 and only works with some frei0r plugins that you must decide
yourself.
* Added an ellipse item to `kdenlivetitle` producer.
* Added support for PNG and GIF as album art in the `avformat` producer.
* Added BT.2020 color space metadata to the `avformat` producer.
* Resolved many FFmpeg deprecations in the `avformat` producer making it possible to support AV1 decoding.
* Added a `strobe` fitler that periodically makes the alpha channel transparent.
* Added a new `typewriter` text filter (currently only works with the
kdenlivetitle producer).
* Improved sound quality for lower pitch shifts in `rbpitch`.
* Fixed speed of trick play in the `jack`, `rtaudio`, `sdl_audio`, and `sdl2_audio` consumers.
* Fixed matrix for independent channels in `swresample` filter.
* Fixed leading zeros for the `timer` filter.
* Fixed flickering using `affine` with a `luma` transition.
* Fixed a crash using RGBA images in the `qimage` producer (regression in v6.22.0).
* Fixed `brightness` filter misbehaves on `alpha` > 1.
* Fixed writing `flac` format file does not set its duration in the `avformat` consumer.
* Fixed an infinite loop in `rbpitch` filter.
* Fixed `ttl` in the `qimage` producer.
* Fixed building with OpenCV 4.5
* Fixed artifacts with multiple HTML `qtext` filters and frame threading.
* Deprecated the `start` and `end` properties on the following (use property
animation instead):
- brightness
- panner
- boxblur
- wave
- volume
* Deprecated the following services:
- data_show
- region
- transition filter
- autotrack_rectangle
- motion_est
- slowmotion
Other
* CMake:
- Fixed building without SWIG.
- Added many "MOD_..." options to explictly disable modules.
- Added src/tests and the option `BUILD_TESTING`, which defaults off.
- All dependency checks moved to top level CMakeLists.txt.
- Install melt man page.
- Install oldfilm SVG files.
- Added src/examples.
- Install framework/metaschema.yaml.
- Fixed `plusgpl` datadir.
- Added all swwig/ languages.
- Increased C++ standard to C++14.
* Added an `AV1` encoding preset.
* Improved documentation of the requirement for C11.
* The minimum version of FFmpeg is v4.0 and Libav is no longer supported.
Version 6.24.0
This version is mostly fixes plus a few new filters.
Framework
* Trigger a `property-changed` event on `mlt_properties_pass_list`.
* Fixed using a video transition with a video clip on an audio track.
* Reduce the amount of service caching to 2X #tracks to reduce memory usage.
Modules
* Added the `pillar_echo` filter to the plus module.
* Added a `qtcrop` filter to the qt module.
* Added `html`, `resource`, `overflow-y`, and `_hide` properties to the `qtext` filter for rich text.
* Added the filter `choppy` to the core module.
* Added slice threading to the `brightness` filter.
* Fixed compiling with OpenCV 4.
* Fixed the colors when using `mlt_image_format=rgb24a` with `avformat` consumer.
* Fixed using WebVfx in a Docker container.
* Fixed a possible crash in the `timewarp` producer on sources with non-integer frame rates.
* Fixed a regression in version 6.22 with multiple affine filters at the same time.
* Fixed possible abort or deadlock on recursive pthread mutexes in `avformat` producer.
* Fixed a crash in `crop` filter with large `center_bias` value when `use_profile` is 1.
* Fixed a white video frame appearing on threaded rendering in `freeze` filter.
* Fixed MLT XML DRD to permit empty playlists, which may occur on empty tracks in a multitrack.
* Fixed initializing QApplication in the `qimage` producer.
* Fixed interpolation when scaling with the `affine` rect and geomety properties.
* Fixed high memory usage with high factors of pitch shifting in the `rbpitch` filter.
* Fixed a crash on files with more than 32 streams in the `avformat` producer.
Other
* Fixed CMake build on MSYS2 and Windows Craft.
* Added the Python binding to the CMake build.
* Added the `sdl` (v1) module to the CMake build.
* Removed minrate and maxrate from the `webm` avformat consumer preset.
Version 6.22.1 - July 30, 2020
This patch version only fixes the version reported in the CMake build.
Version 6.22.0 - July 30, 2020
This version fixes bugs associated with the preview scaling introduced in the
previous version.
Framework
* Added mlt_properties_exists() and Mlt::Properties::property_exists().
* Added mlt_audio C class with:
- mlt_audio_new()
- mlt_audio_close()
- mlt_audio_set_values()
- mlt_audio_get_values()
- mlt_audio_alloc_data()
- mlt_audio_calculate_size()
- mlt_audio_plane_count()
- mlt_audio_plane_size()
- mlt_audio_get_planes()
- mlt_audio_shrink()
- mlt_audio_reverse()
- mlt_audio_copy()
- mlt_audio_calculate_frame_samples()
- mlt_audio_calculate_samples_to_position()
- mlt_audio_channel_layout_name()
- mlt_audio_channel_layout_id()
- mlt_audio_channel_layout_channels()
- mlt_audio_channel_layout_default()
* Added Mlt::Audio C++ class with:
- Mlt::Audio::Audio()
- Mlt::Audio::Audio(mlt_audio_s*)
- Mlt::Audio::~Audio()
- Mlt::Audio::data()
- Mlt::Audio::set_data(void*)
- Mlt::Audio::frequency()
- Mlt::Audio::set_frequency(int)
- Mlt::Audio::format()
- Mlt::Audio::set_format(mlt_audio_format)
- Mlt::Audio::samples()
- Mlt::Audio::set_samples(int)
- Mlt::Audio::channels()
- Mlt::Audio::set_channels(int)
- Mlt::Audio::layout()
- Mlt::Audio::set_layout(mlt_channel_layout)
* Fixed drop-frame timecode for 59.94 fps.
* Fixed crash on null pointer passed to mlt_consumer_stop().
Modules
* Fixed frei0r transitions with preview scaling.
* Fixed affine ox and oy properties incorrect with preview scaling.
* Fixed a crash and incorrect preview scaling with more than one affine
filter active on the same frame.
* Fixed preview scaling for the rotoscoping filter.
* Added the sample_fmt property to the avformat consumer.
* Fixed a possible segfault in the mix transition.
* Removed support for text keyframes to the text and qtext filters
to fix regression on strings containing '='.
* Disable frame-threading with bigsh0t, distort0r, and medians frei0r plugins.
* Added "meta.media.%d.stream.projection" property the avformat producer.
* Fixed a crash with with filters not supporting preview scale in frei0r
transitions.
* Fix artifacts in luma transition and affine filter with frame-threading.
* Stop including 'title="Anonymous Submission"' in xml consumer.
* Fixed a crash in opencv.tracker filter.
* Fixed a crash in composite transition if luma file fails to load.
* Added validations in opengl module to prevent asserts in Movit.
* Fixed building with OpenCV 4.
* Moved some services from gtk2 module to new gdk module:
- gtkrescale filter
- pango producer
- pixbuf producer
* Deprecated the gtk2 module and no longer enabled by default.
* Changed avformat producer to accept a '?' in argument/resource property
by escaping it as '\?'.
* Changed the background property of the affine filter to be mutable.
* Deprecated the linsys (DVEO SDI) module.
* Fixed changing the audio_index property in the avformat producer.
* Changed resample filter to more resiliant to frequency changes.
* Added a video_delay property to the sdl2_audio and rtaudio consumers.
* Add millisecond options to the timer filter.
* Fixed the in point handling for the timewarp producer.
* Fixed some audio gaps and sync issues with the rbpitch filter and timewarp
pitch compensation.
* Fixed a possible crash caused by producer consumer.
* Changed avformat consumer to set AVOption color_primaries based on the
MLT colorspace if not already set as property.
* Fixed crop right on image with odd width skews image in crop filter.
* Fixed incorrect silence value for unsigned 8-bit audio in avformat producer.
* Changed qimage to use Qt's internal orientation detection instead of libexif.
* Reduced clicks in mix transition by silencing buffers on discontinuity.
* Improved A/V synchronization in (sw)resample filters - also reduces audio clicks.
* Improved speed of the qimage producer.
* Fixed incorrect color using libx264rgb in avformat consumer.
* Fixed relative paths for avfilters that have the "filename" option.
* Fixed some avfilters dropping the alpha channel: smartblur, vaguedenoiser.
* Improved performance of the resize filter.
* Fixed an affine filter inside a transition was always nearest neighbor
interpolation.
* Changed the lift_gamma_gain filter to use round values up.
Other
* Fixed melt option "-group" applies to an implicit consumer.
* Added "-quiet" option to melt (implies -silent but more so).
* CMake build improvments adding modules:
- gdk
- jackrack
- lumas
- resample
- sox
- vorbis
* Added avformat consumer presets:
- Slide-Deck-H264
- Slide-Deck-HEVC
* Removed intra=1 from some avformat presets (use g=1 for intra only):
- intermediate/MPEG-2
- intermediate/MPEG-4
- lossless/H.264
* Fixed using Qt, Movit, and WebVfx in the official docker image:
https://hub.docker.com/repository/docker/mltframework/melt
IMPORTANT: it now requires `docker run` with the `--init` option.
Release v1.10.0 Ruddy Duck
2021-03-09 v1.10.0 "Ruddy Duck"
This maintenance release adds support for darwin20 and new codec controls, as
well as numerous bug fixes.
- Upgrading:
New codec control is added to disable loopfilter for VP9.
New encoder control is added to disable feature to increase Q on overshoot
detection for CBR.
Configure support for darwin20 is added.
New codec control is added for VP9 rate control. The control ID of this
interface is VP9E_SET_EXTERNAL_RATE_CONTROL. To make VP9 use a customized
external rate control model, users will have to implement each callback
function in vpx_rc_funcs_t and register them using libvpx API
vpx_codec_control_() with the control ID.
- Enhancement:
Use -std=gnu++11 instead of -std=c++11 for c++ files.
- Bug fixes:
Override assembler with --as option of configure for MSVS.
Fix several compilation issues with gcc 4.8.5.
Fix to resetting rate control for temporal layers.
Fix to the rate control stats of SVC example encoder when number of spatial
layers is 1.
Fix to reusing motion vectors from the base spatial layer in SVC.
2 pass related flags removed from SVC example encoder.
Version 56.1.0 "My Friend" 2021-04-09
New features and enhancements
* mkvmerge: AAC: added support for LOAS/LATM files with channel configuration
indexes 9–21 (e.g. channel count 22.2 for index 13) according to Rec. ITU-R
BS.1196-7 & ISO/IEC 23008-3:2019.
Bug fixes
* mkvmerge: HEVC/H.265 parser: fixed invalid memory access that could happen
when reading certain types of HEVC data (e.g. with changing parameter sets
mid-stream) from certain containers (e.g. Matroska). This bug was introduced
in release 56.0.0.
* mkvextract: AAC: mkvextract will now abort with an useful error message when
the user tries to extract a track whose 'audio-specific config' element in
`CodecPrivate` signals a number of channels of 7 or greater than 8 as that
isn't supported by the ADTS format.
Build system changes
* configure: the `--enable-ubsan` option hasn't actually enabled anything
since release 39.0.0.
Version 3.5
New feature
Real-time VBV for ABR (Average BitRate) encodes in –pass 2 using --vbv-live-multi-pass: Improves VBV compliance with no significant impact on coding efficiency.
Enhancements to existing features
Improved hist-based scene cut algorithm: Reduces false positives by leveraging motion and scene transition info.
Support for RADL pictures at IDR scene cuts: Improves coding efficiency with no significant impact on performance.
Bidirectional scene cut aware Frame Quantizer Selection: Saves bits than forward masking with no noticeable perceptual quality difference.
API changes
Additions to x265_param structure to support the newly added features and encoder enhancements.
New x265_param options --min-vbv-fullness and --max-vbv-fullness to control min and max VBV fullness.
Bug fixes
Incorrect VBV lookahead in --analysis-load + --scale-factor.
Encoder hang when VBV is used with slices.
QP spikes in the row-level VBV rate-control when WPP enabled.
Encoder crash in --abr-ladder.
Version 56.0.0 "Strasbourg / St. Denis" 2021-04-05
New features and enhancements
* mkvmerge, mkvpropedit: tags: the programs will no longer write tag elements
that are mandatory and set to their default value (e.g. "tag language" set
to `und` = undetermined).
* mkvmerge, mkvpropedit, MKVToolNix GUI chapter editor: chapters: the programs
will no longer write chapter elements that are mandatory and set to their
default value (e.g. "chapter language" set to `eng` = English or "Chapter
flag enabled" = 1).
* mkvextract: chapters: mkvextract will no longer add a `ChapterLanguage`
element set to `eng` to the generated XML content if the source file doesn't
contain such an element.
* MKVToolNix GUI: multiplexer: when using the "tab widget below the files &
tracks" layout option for the track properties the elements in the "general
options" tab will use six rows à four columns instead of twelve rows à two
columns, greatly reducing the required height.
Bug fixes
* mkvmerge: AAC reader: fixed mkvmerge aborting to read AAC files bigger than
2 GB with a message about not being able to allocate memory.
* mkvmerge: chapters: `ChapLanguageIETF` elements were still created when the
option `--disable-language-ietf` was given after an option leading to the
creation of chapters. Now the position doesn't matter anymore.
* mkvmerge: chapters: when the option `--disable-language-ietf` is used,
`ChapLanguageIETF` elements won't be written even when sources are read
(Matroska files or XML chapters files) that do contain those elements.
* mkvmerge: tags: when the option `--disable-language-ietf` is used,
`TagLanguageIETF` elements won't be written.
* mkvmerge: tags: mkvmerge will no longer write language elements for the
track statistics tags it creates, making the effective language
"undetermined" due to `und` being the default value for the legacy tag
language element.
* mkvmerge: tags: the XML tag parser will now validate all `<Simple>` children
of `<Tag>` elements, not just the first for each `<Tag>`.
* mkvmerge: tags: the XML tag parser now uses the spec-compliant `und`
("undetermined") as the default language for `<Simple>` tags instead of
`eng`.
* mkvmerge, mkvpropedit: tags: mkvmerge will no longer set the "target type"
for track statistics tags (earlier it used `MOVIE`). The "target type value"
will still be set to `50`.
* mkvmerge, mkvextract: HEVC/H.265: both programs will now normalize the
placement of VPS, SPS and PPS NALUs. Each key frame is prefixed with exactly
one copy of the currently active parameter sets. This fixes certain classes
of bugs related to splitting/appending.
* mkvinfo: when compiled with newer versions of the `fmt` library, certain
numbers were not output correctly (e.g. a track's audio sampling frequency
of 48000 might be output as 48).
* MKVToolNix GUI: multiplexer: deriving the track language from the file name
will match languages case insensitively again (like versions prior to
v55).
* MKVToolNix GUI: multiplexer: under certain circumstances keyboard shortcuts
such as `Ctrl+W` for closing the active tab or `Ctrl+R` for starting to
multiplex ceased to work until the user did certain other things (such as
switching to a different tool & back to the multiplexer or opening the
multiplexer menu). This started with v54.
* MKVToolNix GUI: chapter editor: the editor will no longer create empty
`ChapterCountry` elements when adding a chapter name with no default country
selected in the preferences.
Build system changes
* The bundled `fmt` library was updated to v7.1.3.
Changes:
0.33.1
======
Security fix release for the 0.33 branch. Users are advised to upgrade immediately.
Fixes and Minor Enhancements
----------------------------
- demux_mf: improve format string processing
backends require the new version of Phonon to build!
Tiny bugfix releases fixing some regressions in the cmake logic for .pri
files and fixing wayland support in the VLC backend.
Grand new Phonon releases bringing Qt5 by default and completely
reworking the CMake code to not be a tangled mess.
Tiny bugfix releases fixing some regressions in the cmake logic for .pri
files and fixing wayland support in the VLC backend.
### 0.23.14 (2021-03-10 01:40:00 UTC)
* Add config/Search/Search Tasks/"Host running FlareSolverr" to handle CloudFlare providers
* Change the cf_clearance cookie to an undocumented optional config instead of a requirement
* Change where cf_clearance does not exist or expires, config/Search/Search Tasks/"Host running FlareSolverr" is required
* Fix saving magnet from PAs as files under py3
* Fix SkyTorrents provider
* Fix Torlock provider
* Fix TBP provider
### 0.23.13 (2021-02-26 19:05:00 UTC)
* Add Newznab providers can use API only or API + RSS cache fallback. Tip added to Newznab config/Media Providers/API key
* Add correct user entry mistakes for nzbs2go api url
### 0.23.12 (2021-02-19 17:00:00 UTC)
* Change allow Python 3.8.8 and 3.9.2
### 0.23.11 (2021-02-04 23:30:00 UTC)
* Fix report correct number of items found during nzb search
* Change recognise custom spotweb providers
### 0.23.10 (2021-01-30 11:20:00 UTC)
* Fix change file date on non Windows
### 0.23.9 (2021-01-28 19:45:00 UTC)
* Fix provider nCore
* Change update dateutil fallback zoneinfo to 2021a
### 0.23.8 (2020-12-31 20:40:00 UTC)
* Change update dateutil fallback zoneinfo to 2020f
* Fix notifiers Pushover and Boxcar2 under py3
* Fix need to restart SG for a change in TVChaosUK password to take effect
### 0.23.7 (2020-12-13 20:40:00 UTC)
* Fix remove need to page refresh after entering an anime scene absolute number on view-show
* Change add TVChaosUK custom name regulator to prevent a false trigger from the wordlist filter
### 0.23.6 (2020-12-11 01:50:00 UTC)
* Update UnRar for Windows 5.91 to 6.00 x64
* Fix providers BitHDTV, Blutopia, HDTorrents, Pretome, PrivateHD, PTFiles, SceneHD, TVChaosUK
* Change handle redirects from POST requests
* Change Kodi Addon 1.0.8
### 0.23.5 (2020-12-05 13:45:00 UTC)
* Change improve dark theme text legibility with green/gold background under "Downloads" in view-shows/simple layout
### 0.23.4 (2020-12-02 11:30:00 UTC)
* Change allow Python 3.9.1
### 0.23.3 (2020-11-30 17:20:00 UTC)
* Change remove use of native Py 7zip as compressor found to crash Python binary under Linux with low memory conditions
### 0.23.2 (2020-11-21 18:40:00 UTC)
* Change allow Python 3.8.7
* Change suppress py27 startup cryptography deprecation warning
* Fix filter out history items that don't qualify for status snatched/good
### 0.23.1 (2020-11-16 23:00:00 UTC)
* Fix image failure for a show that is force updated, removed, then readded
### 0.23.0 (2020-11-11 13:30:00 UTC)
* Change improve search performance for backlog, manual, failed, and proper
* Add overview of the last release age/date at each newznab provider to History/Layout "Connect fails"
* Add "History new..." to Shows menu by clicking the number
* Add db backup to the scheduled daily update
* Add display "Database backups" location at config/about if feature available
* Add option "Backup database plan" to config/general/advanced if feature available
* Add py7zr to recommended.txt for optional 7z compression
* Add `backup_db_path` setting to config.ini to customise backup db location
* Add `backup_db_max_count` to config.ini with range 0-90 where 0 = disable backup, 14 = default
* Change improve list performance for file/directory browser
* Change improve import shows listing performance
* Change improve performance during show rescan process
* Change improve performance during media processing
* Change improve scantree performance with regex params of what to include and/or exclude
* Change rename remove_file_failed to remove_file_perm and make it return an outcome
* Add config/General/Updates/Alias Process button, minimum interval for a fetch of custom names/numbering is 30 mins
* Add Export alternatives button to edit show
* Change season specific alt names now available not just for anime
* Change improve tooltip over show title in display show for multiple alternatives
* Add display season alternatives on hover over season titles in display show
* Change single digit season display to zero-padded double digits in edit show
* Change add note on edit show for season specific search rule
* Add mark next to season titles that have exceptions
* Add support for centralised sg alternative names and numbers
* Change sg alts can overwrite scene number field only if field value is blank
* Change add note on edit show for season specific search rule
* Change add has_season_exceptions to control newznab id search
* Change add season exceptions to torrent providers
* Change give remove_file functions time to process
* Add ignore folders that contain ".sickgearignore" flag file
* Change add 3 days cache for tmdb base info only
* Change `Discordapp` to `Discord` in line with company change
* Change remove `app` from URL when calling webhook
* Change remind user when testing Notifications config / Discord to update URL
* Change Trim/Clear history to hide items because the data is needed for core management
* Fix incorrect text for some drop down list items in the apiBuilder view that affected some browsers
* Fix connection skip error handling in tvdb_api
* Add client parameter to pp class and add it to API sg.postprocess
* Change API version to 14
* Change add a test for both require and ignore show specific words with partial match, both should fail
* Change expand to all providers, and season results, applying filters to .torrent content and not just search result...
name for where a found torrent result `named.this` contains `name.that` and ignore `that` did not ignore `named.this`
* Change init showDict for all unit tests
* Change add error handling for zoneinfo update file parsing
* Change downgrade network conversions/timezone warnings on startup to debug level
* Add enum34 1.1.10
* Add humanize 3.1.0 (aec9dc2)
* Add Torrent file parse 0.3.0 (2a4eecb)
* Update included fallback timezone info file to 2020d
* Update attr 20.1.0.dev0 (4bd6827) to 20.2.0 (4f74fba)
* Update Beautiful Soup 4.8.2 (r559) to 4.9.3 (r593)
* Update cachecontrol library 0.12.5 (007e8ca) to 0.12.6 (167a605)
* Update certifi 2020.06.20 to 2020.11.08
* Update dateutil 2.8.1 (43b7838) to 2.8.1 (c496b4f)
* Change add diskcache_py3 5.0.1 (9670fbb)
* Change add diskcache_py2 4.1.0 (b0451e0)
* Update feedparser_py3 6.0.0b3 (7e255f0) to 6.0.1 (98d189fa)
* Update feedparser_py2 backport
* Update hachoir_py3 3.0a6 (5b9e05a) to 3.1.2 (f739b43)
* Update hachoir_py2 2.0a6 (5b9e05a) to 2.1.2
* Update Js2Py 0.70 (f297498) to 0.70 (92250a4)
* Update package resource API to 49.6.0 (3d404fd)
* Update profilehooks module 1.11.2 (d72cc2b) to 1.12.0 (3ee1f60)
* Update Requests library 2.24.0 (1b41763) to 2.24.0 (2f70990)
* Update soupsieve_py3 2.0.0.final (e66c311) to 2.0.2.dev (05086ef)
* Update soupsieve_py2 backport
* Update Tornado_py3 Web Server 6.0.4 (b4e39e5) to 6.1.0 (2047e7a)
* Update tmdbsimple 2.2.6 (310d933) to 2.6.6 (679e343)
* Update urllib3 1.25.9 (a5a45dc) to 1.25.11 (00f1769)
* Change add remove duplicates in newznab provider list based on name and url
* Change remove old provider dupe cleanup
* Change add response rate limit handling for generic providers
* Change add newznab retry handling
* Change add 2s interval fetch retry for Github as it can sometimes return no data
* Change rename misuse of terminology `frequency` to `interval`
### 0.22.16 (2020-11-10 20:15:00 UTC)
* Fix anime name parser tests failing on assumed season number 1
* Change increase number of IMDb ID digits parsed in TVDb lib
* Change add Trakt requested guidance to the log for locked user accounts
### 0.22.15 (2020-11-09 14:10:00 UTC)
* Fix IMDb cards not always displayed as `in library`
### 0.22.14 (2020-11-06 21:55:00 UTC)
* Fix RarBG in cases where home page cannot be reached
### 0.22.13 (2020-11-05 01:00:00 UTC)
* Fix SpeedCD provider
* Remove HorribleSubs provider
### 0.22.12 (2020-11-03 16:05:00 UTC)
* Fix IPTorrents
### 0.22.11 (2020-10-30 01:45:00 UTC)
* Fix an old and rare thread timing case that can change a show to the wrong type while fetching alternative names
### 0.22.10 (2020-10-28 14:10:00 UTC)
* Fix clear of old fail times for providers
### 0.22.9 (2020-10-21 11:55:00 UTC)
* Change remove DB file logging level from config/General and reduce DB levels to Debug to reduce log file noise
* Add Trakt rate-limiting http response code 429 handling to prevent request failure
### 0.22.8 (2020-10-19 13:45:00 UTC)
* Fix rare timing case on first-time startup with a network timezone update failure and an endless loop
* Change ensure `autoProcessTV/sabToSickGear.py` is set executable
### 0.22.7 (2020-10-19 10:15:00 UTC)
* Add `autoProcessTV/sabToSickGear.py` that works with SABnzbd under both py2 and py3
### 0.22.6 (2020-10-19 01:05:00 UTC)
* Fix libtrakt logging error that created a Trakt notifier issue during media process
Version 0.8.4.1:
* Hotfix for crash on Windows, no changes for Linux
Version 0.8.4:
* improved handling of mixed AVM1/AVM2 files
* implement streaming of videos embedded in the swf file
* implement class inheritance for AVM1
* added settings dialog, currently only used to enable/disable local storage
* support for local storage added
* use SDL threading methods, remove glibmm dependency
0.8.2 is a middle-size update of the 0.8.0 branch:
- ARM32 optimizations for ipred and itx in 10/12bits,
completing the 10b/12b work on ARM64 and ARM32
- Give the post-filters their own threads
- ARM64: rewrite the wiener functions
- Speed up coefficient decoding, 0.5%-3% global decoding gain
- x86 optimizations for CDEF_filter and wiener in 10/12bit
- x86: rewrite the SGR AVX2 asm
- x86: improve msac speed on SSE2+ machines
- ARM32: improve speed of ipred and warp
- ARM64: improve speed of ipred, cdef_dir, cdef_filter, warp_motion and itx16
- ARM32/64: improve speed of looprestoration
- Add seeking, pausing to the player
- Update the player for rendering of 10b/12b
- Misc speed improvements and fixes on all platforms
- Add a xxh3 muxer in the dav1d application
Version 55.0.0 "Waiting For Space"
Bug fixes
* all programs, only on Windows: fixed checking existence of & creating
directories with UNC paths such as `\\server\share\folder\file.mkv`.
* all programs, only on Windows: implemented several workarounds for bugs in
`std::filesystem` wrt. UNC paths. The effect of those bugs was that Blu-rays
and DVDs couldn't be added from UNC paths.
* mkvmerge, only on Windows: fixed non-ASCII characters getting mangled in the
destination file name when splitting is active.
* MKVToolNix GUI, only on Windows: fixed the GUI hanging when trying to browse
for files on drives that don't actually exist.
* MKVToolNix GUI, only on Windows: the GUI did not remember UNC paths as the
"most recently used source directory" properly.
* MKVToolNix GUI: only on Windows: when dragging & dropping files from other
applications to MKVToolNix GUI the GUI will force the drop action to be a
copy action, no matter which keys were pressed by the users. This prevents
Windows Explorer from deleting the dragged file when the user presses shift
while dropping the file onto MKVToolNix GUI.
* MKVToolNix GUI, only on Windows: when using the file dialog for selecting a
file name to save to (e.g. when browsing for the destination file name in
the multiplexer or saving an attachment in the header editor) non-ASCII
characters in the default file name were mangled.
* MKVToolNix GUI: multiplexer: the user can now configure what to do when
using the "Add source files" button independently of the setting for what
happens when files are dragged & dropped onto the GUI. The same options are
available, but they're distinct settings, allowing for different use
cases.
* MKVToolNix GUI: multiplexer: deriving the track language from file names
doesn't use one big regular expression of all enabled languages
anymore. Instead, the file name is split into parts on a list of characters
(such as `.` or `(` and `)`; configurable in the preferences). This prevents
the regular expression becoming too big for the regular expression library
to handle when many languages are enabled.
* MKVToolNix GUI: preferences: the language lists for "deriving track
languages" and "enabling items by language" always included all the ISO
639-3 languages, even if those weren't enabled in the "often-used languages"
pane.
Other changes
* mkvmerge, MKVToolNix GUI multiplexer: the functionality for changing the
length of the NALU "size" field for AVC/H.264 and HEVC/H.265 tracks has been
removed. The corresponding command-line option will continue to be
recognized by mkvmerge as not to break existing third-party applications,
but it won't actually do anything.
Version 54.0.0 "F Maj Pixie"
New features and enhancements
* mkvmerge: added support for using ISO 639-3 language codes in IETF BF47
language tags.
* mkvmerge: AC-3 parser: added support for byte-swapped AC-3 data.
* mkvmerge: Matroska reader: for audio tracks that have the bit depth track
header set mkvmerge will now keep that header even for codecs that don't
require it for decoding.
* mkvmerge: MPEG transport stream reader, PCM audio tracks: mkvmerge will now
re-order the channels for 5.1, 7.0 and 7.1 channel tracks from the Blu-ray
layout to the WAVEFORMATEXTENSIBLE layout expected in Matroska.
* mkvmerge, mkvinfo, mkvpropedit, MKVToolNix GUI: added support for the
following new track header elements: "hearing impaired" flag, "visual
impaired" flag, "text descriptions" flag, "original" flag, "commentary"
flag.
* MKVToolNix GUI: added support for using ISO 639-3 language codes in IETF
BF47 language tags. As there are several thousand of them, they're
deactivated by default and must be activated in the preferences ("GUI" →
"Often used selections" → "Languages").
* MKVToolNix GUI: multiplexer: when adding Blu-rays the user can select
multiple playlists to add simultaneously in the "select playlist to add"
dialog.
* MKVToolNix GUI: multiplexer: the file name extensions "eb3" and "ec3" were
added for Dolby Digital Plus & "mpl" for Dolby TrueHD in the file
dialogs.
* MKVToolNix GUI: multiplexer: when adding multiple files the dialog asking
the user what to do with them has gained a new checkbox. If enabled, all
files containing at least one video track will always be placed in newly
created multiplex setting.
* MKVToolNix GUI: multiplexer: added a menu entry in the "Multiplexer" for
adding all files that are currently in the clipboard.
Bug fixes
* all: Windows: fixed compatibility with gettext 0.21 and newer on mingw.
* all: Windows: fixed several of the programs having problems with certain
Unicode characters (primarily emojis) in file names (e.g. mkvextract
wrongfully complaining about an "invalid mode" or the GUI not being able to
find parts of Blu-ray file structures).
* mkvextract: AAC: fixed wrong channel mask field in the ADTS headers for 7.1
channel layouts.
* mkvextract: h.265/HEVC extraction: if the first frame starts with the
parameter sets (SPS, PPS & VPS), the ones from CodecPrivate aren't written
and the ones from the first frame are kept.
* mkvmerge: fixed the calculation of chapter timestamps read from NTSC
DVDs.
* MKVToolNix GUI: IETF BCP 47 language widget: the language combo box will now
always contain the language code the user enters in the free-form field,
even if it isn't in the list of often-used languages the user configured in
the preferences.
* MKVToolNix GUI: multiplexer: when browsing for the destination file name the
default directory is now chosen according to the preferences regarding how
the destination file name should be formed. For example, if the policy is
set to "fixed output directory" then that output directory will be the one
initially set when the directory selection dialog is opened.
* MKVToolNix GUI: multiplexer: fixed the removal of appended source files if
the "delete source files" end-of-job action is enabled.
* MKVToolNix GUI: chapter editor: when importing chapters from DVDs the IETF
BCP 47 language elements will be set, too, not just the legacy language
elements.
Build system changes
* libEBML v1.4.2 and libMatroska v1.6.3 are now required. The optional,
bundled copies of both libraries have been updated to those versions. This
bump in requirements fixes several heap overflow bugs in libEBML.
* MKVToolNix is now using the C++17 library feature "file system library"
instead of Boost's "file system" and "system" libraries. For the GNU
Compiler Collection (gcc) libstdc++ this means v8 or newer is required; for
clang's libc++ it means v7 or newer. For macOS this means that provided disk
image will only run on 10.15 "Catalina" or newer.
version 4.3.2:
avcodec/hapdec: Change compressed_offset to unsigned 32bit
avformat/rmdec: Check codec_length without overflow
avformat/mov: Check element count in mov_metadata_hmmt()
avcodec/vp8: Move end check into MB loop in vp78_decode_mv_mb_modes()
avcodec/fits: Check gcount and pcount being non negative
avformat/nutdec: Check timebase count against main header length
avformat/electronicarts: Clear partial_packet on error
avformat/r3d: Check samples before computing duration
avcodec/pnm_parser: Check av_image_get_buffer_size() for failure
avformat/wavdec: Consider AV_INPUT_BUFFER_PADDING_SIZE in set_spdif()
avformat/rmdec: Check remaining space in debug av_log() loop
avformat/flvdec: Treat high ts byte as unsigned
avformat/samidec: Sanity check pts
avcodec/jpeg2000dec: Check atom_size in jp2_find_codestream()
avformat/avidec: Use 64bit in get_duration()
avformat/mov: Check for duplicate st3d
avformat/mvdec: Check for EOF in read_index()
avcodec/jpeglsdec: Fix k=16 in ls_get_code_regular()
avformat/id3v2: Check the return from avio_get_str()
avcodec/hevc_sei: Check payload size in decode_nal_sei_message()
libavutil/eval: Remove CONFIG_TRAPV special handling
avformat/wtvdec: Check len in parse_chunks() to avoid overflow
avformat/asfdec_f: Add an additional check for the extradata size
avformat/3dostr: Check sample_rate
avformat/4xm: Make audio_frame_count 64bit
avformat/mov: Use av_mul_q() to avoid integer overflows
avcodec/vp9dsp_template: Fix integer overflows in itxfm_wrapper
avformat/rmdec: Reorder operations to avoid overflow
avcodec/mxpegdec: fix SOF counting
avcodec/rscc: Check inflated_buf size whan it is used
avformat/mvdec: Sanity check SAMPLE_WIDTH
avcodec/nvenc: fix timestamp offset ticks logic
avformat/rmdec: Fix codecdata_length overflow check
avcodec/simple_idct: Fix undefined integer overflow in idct4row()
avformat/wavdec: Check block_align vs. channels before combining them
avformat/tta: Use 64bit intermediate for index
avformat/soxdec: Check channels to be positive
avformat/smacker: Check for too small pts_inc
avformat/sbgdec: Use av_sat_add64() in str_to_time()
avcodec/cscd: Check output len in zlib as in lzo
avcodec/vp3: Check input amount in theora_decode_header()
avformat/wavdec: Check avio_get_str16le() for failure
avformat/flvdec: Check for EOF in amf_skip_tag()
avformat/aiffdec: Check size before subtraction in get_aiff_header()
avformat/electronicarts: More chunk_size checks
avcodec/cfhd: check peak.offset
avformat/tedcaptionsdec: Check for overflow in parse_int()
avformat/nuv: Check channels
avcodec/siren: Increase noise category 5 and 6
avformat/mpc8: Check size before implicitly converting to int
avformat/nutdec: Fix integer overflow in count computation
avformat/mvi: Use 64bit for testing dimensions
avformat/utils: Check dts in update_initial_timestamps() more
avformat/mpsubdec: Use av_sat_add/sub64() in fracval handling
avformat/flvdec: Check for avio_read() failure in amf_get_string()
avformat/flvdec: Check for nesting depth in amf_skip_tag()
avformat/flvdec: Check for nesting depth in amf_parse_object()
avformat/asfdec_o: Check for EOF in asf_read_marker()
avformat/flvdec: Use av_sat_add64() for pts computation
avformat/utils: Check dts - (1<<pts_wrap_bits) overflow
avformat/bfi: Check chunk_header
avformat/ads: Check size
avformat/iff: Check block align also for ID_MAUD
avcodec/utils: Check for integer overflow in get_audio_frame_duration() for ADPCM_DTK
avformat/fitsdec: Better size checks
avformat/mxfdec: Fix integer overflow in next position in mxf_read_local_tags()
avformat/avidec: dv does not support palettes
avformat/dhav: Break out of infinite dhav search loop
libavformat/utils: consider avio_size() failure in ffio_limit()
avformat/nistspheredec: Check bits_per_coded_sample and channels
avformat/asfdec_o: Check size vs. offset in detect_unknown_subobject()
avformat/utils: check for integer overflow in av_get_frame_filename2()
avutil/timecode: Avoid undefined behavior with large framenum
avformat/mov: Check a.size before computing next_root_atom
avformat/sbgdec: Reduce the amount of floating point in str_to_time()
avformat/mxfdec: Free all types for both Descriptors
uavformat/rsd: check for EOF in extradata
avcodec/wmaprodec: Check packet size
avformat/dhav: Check position for overflow
avcodec/rasc: Check frame before clearing
avformat/vividas: Check number of audio channels
avcodec/alsdec: Fix integer overflow with quant_cof
avformat/mpegts: Fix argument type for av_log
avformat/cafdec: clip sample rate
avcodec/ffv1dec: Fix off by 1 error with quant tables
avformat/mpegts: Increase pcr_incr width to 64bit
avcodec/utils: Check bitrate for overflow in get_bit_rate()
avformat/mov: Check if hoov is at the end
avcodec/hevc_ps: check scaling_list_dc_coef
avformat/iff: Check data_size
avformat/matroskadec: Sanity check codec_id/track type
avformat/rpl: Check the number of streams
avformat/vividas: Check sample_rate
avformat/vividas: Make len signed
avcodec/h264idct_template: Fix integer overflow in ff_h264_chroma422_dc_dequant_idct()
avformat/dsfdec: Check block_align more completely
avformat/mpc8: Check remaining space in mpc8_parse_seektable()
avformat/id3v2: Sanity check tlen before alloc and uncompress
avformat/vqf: Check len for COMM chunks
avformat/mov: Avoid overflow in end computation in mov_read_custom()
avcodec/hevc_cabac: Limit value in coeff_abs_level_remaining_decode() tighter
avformat/cafdec: Check the return code from av_add_index_entry()
avformat/cafdec: Check for EOF in index read loop
avformat/cafdec: Check that bytes_per_packet and frames_per_packet are non negative
avformat/mpc8: correct integer overflow in mpc8_parse_seektable()
avformat/mpc8: correct 32bit timestamp truncation
avcodec/exr: Check ymin vs. h
avformat/avs: Use 64bit for the avio_tell() output
avformat/wavdec: More complete size check in find_guid()
avcodec/mv30: Use unsigned in idct_1d()
avformat/iff: Check size before skip
avformat/rmdec: Check for EOF in index packet reading
avcodec/vp3dsp: Use unsigned constant to avoid undefined integer overflow in ff_vp3dsp_set_bounding_values()
avformat/icodec: Check for zero streams and stream creation failure
avformat/icodec: Factor failure code out in read_header()
avformat/bintext: Check width
avformat/sbgdec: Check that end is not before start
avformat/lvfdec: Check stream_index before use
avformat/au: cleanup on EOF return in au_read_annotation()
avformat/mpegts: Limit copied data to space
avformat/bintext: Check width in idf_read_header()
avformat/iff: check size against INT64_MAX
avformat/vividas: improve extradata packing checks in track_header()
avformat/paf: Check for EOF in read_table()
avformat/gxf: Check pkt_len
avformat/aiffdec: Check packet size
avformat/concatdec: use av_strstart()
avformat/wavdec: Refuse to read chunks bigger than the filesize in w64_read_header()
avformat/rsd: Check size and start before computing duration
avformat/vividas: better check of current_sb_entry
avformat/iff: More completely check body_size
avformat/vividas use avpriv_set_pts_info()
avformat/xwma: Check for EOF in dpds_table read code
avcodec/utils: Check sample rate before use for AV_CODEC_ID_BINKAUDIO_DCT in get_audio_frame_duration()
avcodec/dirac_parser: do not offset AV_NOPTS_OFFSET
avformat/rmdec: Make expected_len 64bit
avformat/pcm: Check block_align
avformat/lrcdec: Clip timestamps
avutil/mathematics: Use av_sat_add64() for the last addition in av_add_stable()
avformat/electronicarts: Check for EOF in each iteration of the loop in ea_read_packet()
avformat/ifv: Check that total frames do not overflow
avcodec/vp9dsp_template: Fix some overflows in iadst8_1d()
avcodec/fits: Check bscale
avformat/nistspheredec: Check bps
avformat/jacosubdec: Use 64bit inside get_shift()
avformat/genh: Check block_align
avformat/mvi: Check count for overflow
avcodec/magicyuv: Check slice size before reading flags and pred
avformat/asfdec_f: Check for negative ext_len
avformat/bethsoftvid: Check image dimensions before use
avformat/genh: Check block_align for how it will be used in SDX2_DPCM
avformat/au: Check for EOF in au_read_annotation()
avformat/vividas: Check for zero v_size
avformat/segafilm: Do not assume AV_CODEC_ID_NONE is 0
avformat/segafilm: Check that there is a stream
avformat/wtvdec: Check dir_length
avformat/ffmetadec: finalize AVBPrint on errors
avcodec/decode/ff_get_buffer: Check for overflow in FFALIGN()
avcodec/exr: Check limits to avoid overflow in delta computation
avformat/boadec: Check that channels and block_align are set
avformat/asfdec_f: Check name_len for overflow
avcodec/h264idct_template: Fix integer overflow in ff_h264_chroma422_dc_dequant_idct()
avformat/sbgdec: Check for timestamp overflow in parse_time_sequence()
avcodec/aacdec_fixed: Limit index in vector_pow43()
avformat/kvag: Fix integer overflow in bitrate computation
avcodec/h264_slice: fix undefined integer overflow with POC in error concealment
avformat/rmdec: sanity check coded_framesize
avformat/flvdec: Check for EOF in amf_parse_object()
avcodec/mv30: Fix multiple integer overflows
avcodec/smacker: Check remaining bits in SMK_BLK_FULL
avcodec/cook: Check subpacket index against max
avcodec/utils: Check for overflow with ATRAC* in get_audio_frame_duration()
avcodec/hevcpred_template: Fix diagonal chroma availability in 4:2:2 edge case in intra_pred
avformat/icodec: Change order of operations to avoid NULL dereference
avcodec/exr: Fix overflow with many blocks
avcodec/vp9dsp_template: Fix integer overflows in idct16_1d()
avcodec/ansi: Check initial dimensions
avcodec/hevcdec: Check slice_cb_qp_offset / slice_cr_qp_offset
avcodec/sonic: Check for overread
avformat/subviewerdec: fail on AV_NOPTS_VALUE
avcodec/exr: Check line size for overflow
avcodec/exr: Check xdelta, ydelta
avcodec/celp_filters: Avoid invalid negation in ff_celp_lp_synthesis_filter()
avcodec/takdsp: Fix negative shift in decorrelate_sf()
avcodec/dxtory: Fix negative stride shift in dx2_decode_slice_420()
avformat/asfdec_f: Change order or operations slightly
avformat/dxa: Use av_rescale() for duration computation
avcodec/vc1_block: Fix integer overflow in ac value
avcodec/mv30: Fix several integer overflows in idct_1d()
avformat/iff: Check data_size not overflowing int64
avcodec/dxtory: Fix negative shift in dx2_decode_slice_410()
avcodec/sonic: Check channels before deallocating
avformat/vividas: Check for EOF in first loop in track_header()
avformat/wvdec: Check rate for overflow
avcodec/ansi: Check nb_args for overflow
avformat/wc3movie: Cleanup on wc3_read_header() failure
avformat/wc3movie: Move wc3_read_close() up
avcodec/tiff: Fix default white level
avcodec/diracdsp: Fix integer anomaly in dequant_subband_*
avutil/fixed_dsp: Fix integer overflows in butterflies_fixed_c()
avcodec/mv30: Check remaining mask in decode_inter()
avcodec/wmalosslessdec: Check remaining space before padding and channel residue
avformat/cdg: Fix integer overflow in duration computation
avcodec/mpc: Fix multiple numerical overflows in ff_mpc_dequantize_and_synth()
avcodec/agm: Fix off by 1 error in decode_inter_plane()
avformat/electronicarts: Check if there are any streams
avcodec/ffwavesynth: Fix integer overflow in wavesynth_synth_sample / WS_SINE
avcodec/vp9dsp_template: Fix integer overflow in iadst8_1d()
avformat/avidec: Fix io_fsize overflow
avcodec/cfhd: Check transform type
avcodec/tiff: Check jpeg context against jpeg frame parameters
avcodec/tiff: Restrict tag order based on specification
avcodec/tiff: Avoid abort with DNG RAW TIFF with YA8
avcodec/tiff: Check the linearization table size
avformat/siff: Reject audio packets without audio stream
avformat/mpeg: Check avio_read() return value in get_pts()
avcodec/tiff: Check bpp/bppcount for 0
avcodec/snowdec: Sanity check hcoeff
avformat/mov: Check comp_brand_size
avformat/ape: Error out in case of EOF in the header
avcodec/alac: Check decorr_shift to avoid invalid shift
avcodec/tdsc: Fix tile checks
opusdec: do not fail when LBRR frames are present
configure: update copyright year
avfilter/vf_framerate: fix infinite loop with 1-frame input
avformat/url: Change () position in ff_make_absolute_url()
avformat/mpegts: make sure mpegts_read_header always stops at the first pmt
avformat/alp: fix handling of TUN files
avformat/argo_asf: fix handling of v1.1 files
swscale/x86/yuv2rgb: fix crashes when loading alpha from unaligned buffers
lavf/url: fix relative url parsing when the query string or fragment has a colon
avformat/libsrt: fix cleanups on failed libsrt_open() and libsrt_setup()
avcodec/cuviddec: backport extradata fixes
avcodec/cuviddec: handle arbitrarily sized extradata
lavf/srt: fix build fail when used the libsrt 1.4.1
avformat/libsrt: close listen fd in listener mode
lavf/url: rewrite ff_make_absolute_url() using ff_url_decompose().
lavf/url: add ff_url_decompose().
avcodec/cbs_av1: fix setting FrameWidth in frame_size_with_refs()
avcodec/cbs_av1: use a more appropiate AV1ReferenceFrameState pointer variable name
avcodec/cbs_av1: fix handling reference frames on show_existing_frame frames
avcodec/cbs_av1: infer frame_type in show_existing_frame frames earlier
avcodec/cbs_av1: add OrderHint to CodedBitstreamAV1Context
avcodec/cbs_av1: infer frame_type when parsing a show_existing_frame frame
cbs_av1: Fix test for presence of buffer_removal_time element
avcodec/cbs_av1: fix storage size for render_{width,height}_minus_1
lavc: Lower MediaFoundation audio encoder priority.
x86/yuv2rgb: fix crashes when storing data on unaligned buffers
checkasm/vf_blend: use the correct depth parameters to initialize the blend modes
x86/vf_blend: fix warnings about trailing empty parameters
x86/h264_deblock: fix warning about trailing empty parameter
avutil/x86inc: fix warnings when assembling with Nasm 2.15
Release v1.6.3.
* libEBML v1.4.2 is now required.
* Added classes for new track header elements:
"KaxFlagHearingImpaired", "KaxFlagVisualImpaired",
"KaxFlagTextDescriptions", "KaxFlagOriginal" and
"KaxFlagCommentary".
Version 53.0.0 "Fool's Gold"
New features and enhancements
* mkvmerge: AVI reader: added support for reading the video aspect ratio from
the video properties header (`vprp` chunk) if present and setting the
display dimensions accordingly.
* mkvmerge: MP4 reader: for h.264/AVC tracks that don't have an
`AVCConfigurationBox` (`avcC` atom) in their sample description (`stsd`)
atom or whose `avcC` atom contains no content `mkvmerge` will now re-derive
the `AVCConfigurationBox` from the bitstream.
* mkvextract: mkvextract will now check if any of the destination file names
is the same as the source file name and abort with an error if that's the
case.
* MKVToolNix GUI: when querying the user for a file name for saving things
(e.g. multiplexer settings or an attachment in the header editor), the
automatically suggested file name will now be based on the
situation-specific file names (e.g. the destination file name for
multiplexer settings or the attachment's name when saving an attachment in
the header editor) instead of the directory's name.
* MKVToolNix GUI: multiplexer: when deriving track languages from file names
the GUI will now select the right-most match instead of the left-most
one. For example, "La.vie.en.rose.(fr).srt" will now be detected as French
(fr) instead of English (en).
* MKVToolNix GUI: preferences: the items in the "pre-defined …" lists can now
be renamed by double-clicking with the mouse or pressing the F2 key.
* Windows installer: the `bluray_dump` command-line utility will be installed
into the `tools` sub-directory. `bluray_dump` can read & dump certain file
types used on Blu-rays: `.mpls` playlists, `.clpi` clip information
databases, `.bdmv` index files, `bdmt_….xml` disc library databases and
`tnmt_….xml` track & chapter name databases.
Bug fixes
* mkvmerge: stretching chapter timestamps with `--chapter-sync` now works
correctly with floating point values including fractions of floating point
numbers (e.g. `12.3/45.67`). The tooltips in the GUI have been adjusted
accordingly.
* mkvmerge: MPEG 1/2 video handling: the "default duration" header field was
often half the value it actually should be, resulting in all video frames
having an explicit block duration with the correct value. This has been
fixed with a patch by Tom Yan.
* mkvmerge: MPEG 1/2 video handling: the data stored in `Codec private` and
`Codec state` doesn't contain extensions other than sequence & sequence
display extensions anymore. Fix by Tom Yan.
* mkvmerge: tag handling: when remuxing a Matroska file with the
`--no-track-tags`, existing `SOURCE_ID` track tags are now skipped, too.
* MKVToolNix GUI: multiplexer: the drop-down boxes with pre-defined track
names now follow the order set in the preferences instead of sorting the
entries alphabetically.
Changes between 3.0.11.1 and 3.0.12:
----------------------------------
Access:
* Add new RIST access module compliant with simple profile (VSF_TR-06-1)
Access Output:
* Add new RIST access output module compliant with simple profile (VSF_TR-06-1)
Demux:
* Fixed adaptive's handling of resolution settings
Audio output:
* Fix audio distortion on macOS during start of playback
Video Output:
* Direct3D11: Fix some potential crashes when using video filters
macOS:
* Add native support for Apple Silicon / ARM-64
* Visual UI adaptations for macOS Big Sur
* Fix displaying EQ bands in the UI depending on which frequency
presets are set for the EQ in advanced preferences
* Fix UI issues in bookmarks window
Misc:
* Several fixes in the web interface, including privacy and security
improvements
* Update YouTube and Vocaroo scripts
TheoraPlay is a simple library to make decoding of Ogg Theora videos
easier.
A tiny example to pull data out of an .ogv file is about 50 lines of C
code, and a complete SDL-based media player is about 300 lines of code.
TheoraPlay is optimized for multicore CPUs, and is designed to be
programmer-friendly. You will need libogg, libvorbis, and libtheora, of
course, but then you just drop a .c file and two headers into your
project and you're ready to hook up video decoding, without worrying
about Ogg pages, Vorbis blocks, or Theora decoder state.
Places TheoraPlay can be found in use: - Shank. - Crypt of the
Necrodancer. - 20XX. - FNA.
0.8.0
Added additional parsing for simple CUE-OUT with Duration key
Added _cueout_duration to _parse_cueout
Added AVERAGE-BANDWIDTH to IFramePlaylist
Added VIDEO-RANGE to IFramePlaylist
Added new playlist delta attributes from v10
Added HDCP-LEVEL to StreamInfo and IFramePlaylist
Changelog:
26.1.2 macOS Hotfix Changes
Browser sources on macOS now support hardware accelerated rendering on macOS 10.15 and above, reducing resource usage
Fixed a crash on startup (by updating CEF to version 4183)
26.1.1 Hotfix Changes
Fixed macOS 10.13 crash on startup [PatTheMav]
Fixed decklink devices not working correctly [DDRBoxman]
Fixed browser source crashing on certain versions of macOS [eric]
Fixed buttons not displaying text correctly on context bar when using Acri theme [Warchamp7]
Fixed a bug with slideshow source where if you use randomize and have "restart when visible" active, it would not transition on activate [cg2121]
Fixed a bug where duplicated scene items would not have their lock states duplicated [cg2121]
Fixed a bug where the default canvas resolution would be scaled incorrectly if fractional scaling was enabled [RytoEX]
Fixed jack on Linux deadlocking on close [marcan]
Fixed jack on Linux going out of sync sometimes [marcan]
Added webp to image formats that you can browse when using the image source [f3ndot]
26.1 New Features and Additions
Added Virtual Camera output on macOS [johnboiles/PatTheMav]
Added Virtual Camera output on Linux (requires v4l2loopback-dkms) [catxfish/cg2121]
Added the ability to use a separate audio track for the VOD when using Twitch [Jim]
If using Simple output mode, enable "Enable Advanced Encoder Settings", and enable "Twitch VOD Track (Uses Track 2)". Twitch VOD output will then be on audio track 2
If using Advanced output mode in the Streaming tab, enable "Twitch VOD Track" and select the track you'd like to use for it
Special thanks to Twitch for assisting during the development of this feature
Added OpenBSD support [grayed]
Added the ability to ingest captions coming from Decklink devices via "Decklink Captions" from the Tools menu [DDRBoxman]
Added hardware decoding options for stinger transitions [WizardCM]
Added an option to duplicate filters in the right-click context menu of filters [exeldro]
Added ability to copy and paste a single filter between sources [cg2121]
Added HLS support and ingests for YouTube [ushadow]
Added a Replay buffer save event to the frontend API [hgonomeg]
26.1 Improvements/Tweaks
Updated dependencies on Windows and macOS (such as x264 and Qt) to their latest versions for the latest performance improvements [Jim]
On Linux, the program will now detect other instances that are currently running and warn the user about running more than one copies at a time [clockley]
When creating a new profile, you will be now be given the option to run the auto-configuration wizard [JohannMG]
Changed the "Enforce Streaming Service Bitrate" to "Ignore streaming service setting recommendations", moved it to the Streaming section of the Settings window, and made it so it now affects both Simple and Advanced output modes. [Jim]
Maximum limitations for streaming services are now shown in the Streaming section of the Settings window [Jim]
Streaming services may now apply resolution and framerate limits on streams to their services [Jim]
26.1 Bug Fixes
Fixed a bug where the "Save Replay" button would stay highlighted after being clicked [offthegrid-mike]
Fixed a bug where the Media source would have unusual lag playing back certain media files (particularly WMV files) [Jim]
Fixed an issue where Facebook streaming would allow you to select resolutions/framerates that aren't supported [Jim]
Fixed certain connection issues with SRT/mpegts [pkviet]
Fixed a bug where you could disable the Replay Buffer even if it was currently active [Scrxtchy]
Fixed a bug where renaming a source would not return keyboard/mouse focus back to the list [jberenhaus]
Fixed an issue where 'Paste Filters' on sources didn't work in all situations [WizardCM]
Fixed an issue where Virtual Camera & Source Toolbar hotkeys would be duplicated when switching profiles [WizardCM]
Fixed an issue with removing signal handlers in Lua [Scrxtchy]
Fixed a potential hang when repeatedly selecting and deselecting display capture sources on Windows [exeldro]
Fixed an issue where the replay buffer could use settings from CQP mode in CBR mode [R1CH]
Fixed an issue where certain recordings could not be remuxed (typically from the QSV encoder) [R1CH]
Changelog:
## HandBrake 1.3.3
### All platforms
#### General
- Fixed ISO 639-2/B language codes not set correctly in MKV (affects Hebrew, Indonesian, Javanese, and Yiddish) (#2903)
- Improved support for sources where pixel format cannot be quickly identified, e.g. due to delayed video track start (#2893)
- Added logging to identify where hardware support is disabled
- Miscellaneous bug fixes and improvements
#### Video
- Improved Intel QSV memory footprint by eliminating a buffer pool (#2675)
- Improved Intel QSV H.265 memory buffer size as required by newer Intel Media SDK (#2862)
- Fixed and improved Intel QSV in various situations, especially hardware decoding (#873, #2660, #2661, #2829)
- Fixed full range video being not being identified as limited range after conversion where filters are used (#2859)
#### Subtitles
- Fixed handling of overlapping SSA import subtitles (791adbac)
- Improved support for out-of-order SSA subtitles as allowed by specification (#2906)
#### Command line interface
- Fixed --preset failure unless full path is specified, e.g. --preset="Category Name/Preset Name" (#2838)
#### Build system
- Improved Flatpak to better conform to freedesktop metainfo standards
- Improved Intel QSV Flatpak plugin build effiency using cmake-ninja
- Added a patch to fix cross compiling libdav1d using GCC 10.x (quality of life improvement)
- Official HandBrake 1.3.3 Windows release is built using GCC 9.x and is not directly affected by this issue
#### Third-party libraries
- Updated libraries
- FFmpeg 4.2.3 (decoding and filters)
### Mac
- Fixed preview layout not displaying properly on OS X 10.11 El Capitan
- Fixed incorrect copyright year on About dialog (#2830)
### Windows
- Fixed a crash related to the dark theme (#2816)
- Fixed a potential crash related to preview image memory allocation (#2871)
- Fixed a potential crash due to certain actions causing no preset being selected (#2875)
- Fixed missing E-AC-3 encoder option (#2855)
- Fixed hardware encoder support unavailable in portable build (#2832)
- Miscellaneous bug fixes and improvements
## HandBrake 1.3.2
### All platforms
#### General
- Fixed point to point end detection in certain scenarios (#2603)
- Improved support for H.265 video in AVI container produced by some security cameras (#2622)
- Added logging to identify problematic sources where container and video track pixel aspect ratios differ
- Added logging to help debug potential JSON API issues
#### Video
- Fixed color range conversion being applied twice when scaling video (#2561)
- Fixed incorrect identification of support for QSV HEVC encoder on older Intel hardware (#2558)
- Added logging to identify automatic picture rotation
- Miscellaneous bug fixes and improvements
#### Audio
- Fixed an upstream FFmpeg issue where passing through AAC ADTS audio could produce invalid MKV output in rare cases (error instead) (#2809)
#### Filters
- Fixed uninitialized memory in NLMeans prefilter leading to video corruption at bottom of picture (only affects custom settings) (#2576)
- Fixed a crash in the Detelecine filter with out of bounds parameters (only affects custom settings) (#2560, #2804)
#### Subtitles
- Fixed burned in subtitles position offset where cropscale filter is not used (#2449)
#### Command line interface
- Fixed subtitles not being selected when specifying --all-subtitles without also specifying a non-empty --subtitle-lang-list
#### Build system
- Fixed building the GTK graphical interface for use on Windows (link ole32)
- Updated Flatpak manifest creation script for compatibility with Python 3
- Updated Flatpak runtime and numactl library versions, QSV plugin
- Improved minimum version dependencies to facilitate building on systems with older automake and pkg-config
- Added a workaround for an upstream libdav1d issue affecting installation on FreeBSD (#2662)
- Miscellaneous bug fixes and improvements
### Linux
- Fixed point to point controls not accepting fractional seconds
- Fixed updating presets with identical names in different categories
- Improved parity with other platforms by allowing removal of preset categories (automatic after last preset in category is removed)
- Improved parity with other platforms by showing title and chapter range on the queue summary tab
### Mac
- Fixed selection behavior new track audio mixdown set to DPL2 instead of stereo (#2641)
- Fixed queued job failures related to removable drives by resolving security scoped resources as needed (#2566)
### Windows
- Fixed loading preset files with Unicode characters in path (#2427)
- Fixed clear queue options to prevent them clearing active jobs (#2587)
- Fixed main window status label not always reflecting the true count of queue jobs (#2538)
- Fixed failure loading default settings which could cause various issues in the graphical interface (#2549)
- Fixed preview images displaying incorrectly in some cases (anamorphic none, flip horizontal) (e9675bb, #2764)
- Fixed various issues related to Auto Passthru, including fallback settings (#2619, #2627, #2611)
- Fixed exported presets not importing correctly using the Mac graphical interface (#2531)
- Fixed pause and resume not working correctly in some cases (#2647)
- Fixed display of times greater than 24 hours (estimated time renaming, paused duration) (#2582, #2649)
- Fixed various cosmetic issues in the graphical interface (#2645, #2646)
- Improved display of long filenames in the queue (#2570)
- Improved some UX stress cases related to the queue (#2632)
- Improved error message when importing a preset specifying a nonexistent audio encoder (#2638)
- Improved audio and subtitle languages behavior to preserve selected languages order where "any" is also selected (#2611)
- Improved low disk space preferences and alerts (#2648)
- Added a workaround for an upstream .NET issue causing tooltips to not render correctly in some cases (#2630)
- Miscellaneous bug fixes and improvements
Rather than add to the ifdef stew that's already there, simply don't
try to second-guess the host platform. Otherwise, we'd need more macro
checks added for, at least, NetBSD, FreeBSD, and musl, but including
sys/types.h should "just work".
(There's seemingly another unrelated portability issue directly below
that code block, but it won't break builds, and would require different
means of correction.)
Version 52.0.0 "Secret For The Mad"
New features and enhancements
* MKVToolNix GUI: job queue: the maximum number of jobs to run concurrently
can now be increased in the preferences. The default remains
at 1.
* MKVToolNix GUI: the GUI will now add a context-specific default extension to
file names selected for saving on platforms that don't add one itself
(e.g. GNOME). For example, when saving multiplexer settings the extension
`.mtxcfg` will be added.
* MKVToolNix GUI: added an option to the preferences for the window to stay on
top of other windows.
Bug fixes
* mkvextract: h.265/HEVC extraction: the code for skipping extraction of
prefix SEI NALUs in the first frame was skipping two bytes too few,
resulting in broken processing of all following bytes. Patch by Mike Chen.
* libEBML: the optional, bundled version of libEBML was updated to v1.4.1.
Build system changes
* libEBML v1.4.1 is now required due to a bug in libEBML that caused pointers
to just-freed memory being returned to the caller under certain invalid data
constellations, causing use-after-free errors in all of MKVToolNix's
programs.
Packaged in wip by Charlotte Koch
Open Asset Import Library (short name: Assimp) is a portable Open Source
library to import various well-known 3D model formats in a uniform manner.
The most recent version also knows how to export 3D files and is therefore
suitable as a general-purpose 3D model converter. See the feature list.
Assimp aims to provide a full asset conversion pipeline for use in game
engines/realtime rendering systems of any kind, but it is not limited to
this purpose. In the past, it has been used in a wide range of applications.
Changes from the wip package
-Updated HOMEPAGE
-Adjusted CATEGORIES to be consistent with DragonFly, FreeBSD and OpenBSD
-Re-build buildlink3.mk
pkgsrc changes:
- Remove `ass' option: libass is now always needed and enabled
- Add `openal' option to enable openal ao (disabled by default)
- Remove pkgsrc patches ao-s that were removed in 0.33.0 (a possible
patch for oss ao is under discussion upstream:
https://github.com/mpv-player/mpv/pull/8312 )
Changes:
0.33.0
======
Features
--------
Added
~~~~~
- scripting: load scripts from directories
- mac: activate logging when started from the bundle
- ytdl_hook.lua: delay load subtitles
- sub: add an option to filter subtitles by regex
- scripting: add a way to run subprocesses as "scripts"
- command: implement asynchronous commands and support for named arguments
- player: add optional separate video decoding thread
- vo_gpu: d3d11: add support for exclusive fullscreen
- w32_common: Support HiDPI on Windows
- vo_x11: add 10 bit support
- vo_gpu: add BT.2390 tone-mapping
- client API: add software rendering API
- audio: add scaletempo2 filter based on chromium
- auto_profiles: add this script
- stream: Implement slice:// for reading slices of streams
- player: add automatic loading of external cover art files
- vo_sixel: implement terminal video output using sixel
Changed
~~~~~~~
- sws_utils: use zimg by default if available
- build: pick up Lua 5.2 by default (preferred over 5.1)
- build: disable RPI vendor blob auto-detection in favor of open-source stack
- build: make C11 atomics mandatory
- build: make libass non-optional
- player: stricter filename matching for external subtitle auto-loading
- lua: support Unicode paths in script loading and IO library
- vo_direct3d: rip out texture video rendering path and dumb down OSD rendering
- audio: rewrite internal audio handling and AO API
- build: disable GLX by default
Removed
~~~~~~~
- stream_libarchive: disable tar support due to bugs
- Remove remains of Libav compatibility
- stream_smb: remove due to lack of thread safety and the abundance
of alternatives, FFmpeg still includes SMB support
- command: remove legacy hook API (has been deprecated for a long time)
- client API: remove deprecated qthelper.hpp header
- removed audio outputs: sndio, rsound, oss
- x11: remove xdg-screensaver invocations that supported dbus based idle inhibit
- client API: deactivate the opengl_cb API
- build system: drop Python 2 compatbility
Options and Commands
--------------------
Added
~~~~~
- demux: add option to disable cache "sharing" between back and forward buffers
- player: add ab-loop-count option/property
- ytdl_hook: add a way to use ytdl's default formats
- ytdl_hook: add all_formats option that loads all formats that were found
- demux_mkv: document probe-start-time option and enable it by default
- command: extend osd-overlay command with bounds reporting
- player: a number of new playlist contol commands/properties
- ipc: add --input-ipc-client option
- options: add option to control display-sync factor
- vo_gpu: add better gamut clipping option
- vo_gpu: vulkan: add ability to disable events
- x11: add option to make window appear on a specific workspace
- wayland: expose wayland-app-id as a user option
- player: add --subs-with-matching-audio option
- command: add read-only focused property
- screenshot: option to use software rendering for screenshots
- command: add delete-watch-later-config
- command: new property mouse-pos with current position and hover state
Changed
~~~~~~~
- options: remove deprecation warning for "-foo bar" syntax
- player: make audio hr-seek default
- ad_lavc: disable decoder downmix by default
- command: support save-position-on-quit for "stop" command too
- command: extend subprocess command
- options: do not accept ":" as separator anymore in key/value lists
Deprecated
~~~~~~~~~~
- demux: deprecate --cache-secs
Removed
~~~~~~~
- wayland: remove wayland-frame-wait-offset option
- input: remove deprecated --input-file option
- vo_vdpau: remove deprecated/inactive --vo-vdpau-deint option
Fixes and Minor Enhancements
----------------------------
- options: stop hiding deprecated options from --help output
- lua, js: add mp.get_script_directory() function
- lua: fix security relevant loading order issue with scripts
- player: make screenshot each-frame mode more accurate
- bash completion: complete ao/af/vo/vf options
- zimg: add alpha support
- wayland: make resizing better
- edl: add mechanism for delay loading streams
- stream_file: fix caching-related performance regression on CIFS
- cocoa-cb: fix crashes and issues with UI updates
- sub, demux: improve behavior with negative subtitle delay/muxed subs
- demux: make seek ranges work for static images + audio
- cocoa-cb: support maximize/minimize on startup
- umpv: change from legacy FIFO to socket
- stats: move input speed to cache page, make it a graph
- stats: add fourth page with performance graphs
- command: print edition title to OSD when cycling
- zimg: add support for big endian input and output
- demux_mkv: add png intra support
- build: detect VT_GETMODE on FreeBSD and DragonFly
- win32: use windows 10 native virtual-terminal if available
- vo_gpu: enable frame caching for still frames
- command: add property to return text subtitles in ASS
- vo_gpu: ra_pl: add timers support
- build: allow vo_wlshm on more Wayland platforms (e.g. FreeBSD)
- zimg: add slice threading and use it by default
- command: add a way to access properties of a current track
- vo_gpu: EGL: fix transparency on X11/EGL/Mesa
- vd_lavc: add AV1 to the default allowed hwdec codec list