Changes:
Release 0.24.0
==============
Features
--------
Added
~~~~~
- Windows: allow snapping to screen edges (#2248)
- macOS: add border cycling (#2430)
- player: add experimental C plugin interface
- player: add experimental stream recording feature (--record-file)
- player: add prefetching of the next playlist entry (--prefetch-playlist;
does NOT work with URLs resolved by youtube-dl)
- stream_lavf: add support for data URIs (#4058)
- vaapi: add support for 10-bit video formats (requires patched Mesa and
capable hardware)
- x11: pseudo HiDPI scaling
Options and Commands
--------------------
Added
~~~~~
- sub: add --sub-justify and --sub-ass-justify options
- sub: add option to force using video resolution for image subtitles
(--image-subs-video-resolution)
Changed
~~~~~~~
- command: rename framedrop properties
- drop-frame-count → decoder-frame-drop-count
- vo-drop-frame-count → frame-drop-count
- input.conf: change "L" to change loop-file by default
Deprecated
~~~~~~~~~~
- --hwdec-preload (replaced with --opengl-hwdec-interop)
Removed
~~~~~~~
- options: drop deprecated --sub-codepage syntax
- options: drop deprecated --vd/--ad codecs selection features
- player: remove --stream-capture option/property
Fixes and Minor Enhancements
----------------------------
- Windows: update the fullscreen state on restoring
- ad_spdif: fix obscure cases of AC3 passthrough (e.g. 44100 Hz AC3)
- ao_oss: use --audio-device if --oss-device isn't set (#4122)
- build: fix --disable-gl if cuda is enabled
- build: rpi: rely on pkgconfig for compiler flags to ease cross compilation
- charset_conv: fallback to interpreting subs as latin1 if iconv fails
- charset_conv: fix "auto" fallback with uchardet not compiled (#3954)
- client API: fix freeze when destroying mpv_handle before mpv_initialize
- client API: fix mpv_set_property() return value before init (#3988)
- command: fix potential crash for script-binding with multi-commands
- command: nicer OSD formatting for loop-file
- command: shorten long playlists on OSD
- config: do not resolve default profile during "include" processing (#4024)
- cuda: fix 10 bit decoding
- cue: accept lower-case cue commands (#4057)
- demux_mkv: any reference makes a frame not a keyframe (fixes seeking in WebM
files with alpha channel)
- lavfi: slightly better disconnected output handling (#4118)
- lua: close directory after reading its entries (#4045)
- macOS: consistent normalization when searching for external files (#4016)
- macOS: don't change Space on quit in fullscreen (#3957)
- macOS: don't constrain window frame for fullscreen (#4044)
- macOS: don't init displaylink on reconfig (#4031)
- macOS: fix build on OS X 10.9 (#3946)
- macOS: fix color profile retrieval
- macOS: fix displaylink refresh rate retrieval
- macOS: fix dropping of files and URLs (#4036)
- macOS: fix handling of geometry option (#3867)
- macOS: fix unwanted behavior with window level other than the default
(#1757, #1884)
- macOS: fix window size in certain circumstances
- macOS: properly recover from toggleFullscreen fail (#4035)
- osc: allow playlist buttons when looping (#4092)
- osc: bottom/topbar: clip title instead of stretching
- osc: bottombar/topbar: make chapter markers slightly bigger
- osc: box: clip with ellipsis after too much stretching
- osc: fix crashes related to field eventresponder being nil (#3210)
- player: add .scc subtitle extension
- stream_bluray: use proper 0-based index
- sub: remove .txt as text subtitle extension
- tv: fix segfaults on TV input (#4096)
- vaapi: set libva > 0.39.4 message callbacks to prevent it from printing
messages to the terminal
- vd_lavc: improved fallback behavior for --hwdec=cuda (#3914)
- vdpau: reject decoding of non-4:2:0 (would decode to garbage)
- vf_lavfi: don't crash with VOs without hardware decoding support (#4064)
- vo_opengl, vo_opengl_cb: better hwdec interop backend selection
- vo_opengl: angle: rewrite with custom swap chain (fixes problems with
e.g. 24 fps video on 24 Hz monitors, avoids problems with DirectComposition,
enables "screenshot window" command on Windows 8 and newer)
- vo_opengl: partially fix rotation for 4:2:2 content
- vo_opengl: x11egl: fix alpha mode
- wayland: fix high CPU usage with mpv paused and visible
- ytdl_hook, edl: implement pseudo-DASH support
- ytdl_hook: add non-dash fallbacks to default formats
- ytdl_hook: fix opening hitbox.tv rtmp stream
- ytdl_hook: respect --no-audio, don't force-select track
- ytdl_hook: support livestream segmented DASH VODs
- ytdl_hook: support segmented dash
- Add partial support for ITU-T H.265
- Add support for DVB-VBI
- Add support for SCTE 104
- Add support for SMPTE 2010
- Add support for SMPTE RDD 08 (OP-47 subtitles)
- Add support for SMPTE 291
- Add support for SMPTE 337
- Add support for RFC 4175 video
- Add support for hbrmt 2022-6
- Add support for RTP RFC 2250
- Improve support of RTCP
- Fix character set for Chinese DVB strings
- Fix A/52 bitrate table
- avcodec/h264_slice: Clear ref_counts on redundant slices
- lavf/mov.c: Avoid heap allocation wrap in mov_read_uuid
- lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr
- avcodec/pictordec: Fix logic error
- avcodec/movtextdec: Fix decode_styl() cleanup
- lavf/matroskadec: fix is_keyframe for early Blocks
- configure: bump year
- avcodec/pngdec: Check trns more completely
- avcodec/interplayvideo: Move parameter change check up
- avcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()
- avformat/flacdec: Check avio_read result when reading flac block header.
- avcodec/utils: correct align value for interplay
- avcodec/vp56: Check for the bitstream end, pass error codes on
- avcodec/mjpegdec: Check remaining bitstream in ljpeg_decode_yuv_scan()
- avcodec/pngdec: Fix off by 1 size in decode_zbuf()
- avformat/avidec: skip odml master index chunks in avi_sync
- avcodec/mjpegdec: Check for rgb before flipping
- avutil/random_seed: Reduce the time needed on systems with very low precision clock()
- avutil/random_seed: Improve get_generic_seed() with higher precision clock()
- avformat/utils: Print verbose error message if stream count exceeds max_streams
- avformat/options_table: Set the default maximum number of streams to 1000
- avutil: Add av_image_check_size2()
- avformat: Add max_streams option
- avcodec/ffv1enc: Allocate smaller packet if the worst case size cannot be allocated
- avcodec/mpeg4videodec: Fix undefined shifts in mpeg4_decode_sprite_trajectory()
- avformat/oggdec: Skip streams in duration correction that did not had their duration set.
- avcodec/ffv1enc: Fix size of first slice
- pgssubdec: reset rle_data_len/rle_remaining_len on allocation error
- avcodec/movtextdec: Fix decode_styl() cleanup
- lavf/matroskadec: fix is_keyframe for early Blocks
- configure: bump year
- avcodec/pngdec: Check trns more completely
- avcodec/interplayvideo: Move parameter change check up
- avcodec/dca_lbr: Fix off by 1 error in freq check
- avcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()
- pgssubdec: reset rle_data_len/rle_remaining_len on allocation error
- swscale: save ebx register when it is not available
- avformat/flacdec: Check avio_read result when reading flac block header.
- avcodec/utils: correct align value for interplay
- avcodec/vp56: Check for the bitstream end, pass error codes on
- avcodec/mjpegdec: Check remaining bitstream in ljpeg_decode_yuv_scan()
- avcodec/pngdec: Fix off by 1 size in decode_zbuf()
- libopenmpt: add missing avio_read return value check
- avcodec/bsf: Fix av_bsf_list_free()
- avcodec/omx: Do not pass negative value into av_malloc()
- avformat/avidec: skip odml master index chunks in avi_sync
- avcodec/mjpegdec: Check for rgb before flipping
- lavf/utils.c Protect against accessing entries[nb_entries]
- avutil/random_seed: Reduce the time needed on systems with very low precission clock()
- swscale/swscale: Fix dereference of stride array before null check
- avutil/random_seed: Improve get_generic_seed() with higher precission clock()
- avformat/mp3dec: fix msan warning when verifying mpa header
- avformat/utils: Print verbose error message if stream count exceeds max_streams
- avformat/options_table: Set the default maximum number of streams to 1000
- lavf/chromaprint: Update for version 1.4
- avutil: Add av_image_check_size2()
- avformat: Add max_streams option
- avcodec/ffv1enc: Allocate smaller packet if the worst case size cannot be allocated
- avcodec/mpeg4videodec: Fix undefined shifts in mpeg4_decode_sprite_trajectory()
- avformat/oggdec: Skip streams in duration correction that did not had their duration set.
- avcodec/ffv1enc: Fix size of first slice
- ffplay: fix sws_scale possible out of bounds array access
- avfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option
Major bugfixes in 1.10.1
Security-relevant bugfix in the vmnc decoder (CVE-2016-9445, CVE-2016-9446)
Various bugfixes to playbin3/decodebin3
Fix error at the end of playing any WAV file
Fix usability of androidmedia plugin if the camera or sensor API is not available, but codecs are
Handle redirections on PLAY, and missing control attribute in the RTSP source
Various OpenGL related bugfixes
... and many, many more!
Major bugfixes in 1.10.2
Security-relevant bugfix in the FLI/FLX/FLC decoder (CVE-2016-9634, CVE-2016-9635, CVE-2016-9636)
Various fixes for crashes, assertions and other failures on fuzzed input files. Among others, thanks to Hanno Böck for testing and reporting (CVE-2016-9807, CVE-2016-9808, CVE-2016-9809, CVE-2016-9810, CVE-2016-9811, CVE-2016-9812, CVE-2016-9813).
SAVP/SAVPF profile in gst-rtsp-server works for live streams again, and the correct MIKEY policy message is generated
Further OpenGL related bugfixes
gst-libav was updated to ffmpeg 3.2.1
... and many, many more!
Major bugfixes in 1.10.3
Various fixes for crashes, assertions, deadlocks and memory leaks on fuzzed input files and in other situations
Regression fixes for souphttpsrc with redirection tracking and retrying
Regression fix for gst-rtsp-server not handling TCP-only medias anymore
Various other bugfixes the RTP/RTSP codebase
vp8enc works again on 32 bit Windows
Fixes to Opus PLC handling in the decoder
Fix for stream corruption in multihandlesink when removing clients
gst-libav was updated to ffmpeg 3.2.2
... and many, many more!
Release 0.3.0 of Streamlink!
A lot of updates to each plugin (thank you @beardypig !), automated Windows releases, PEP8 formatting throughout Streamlink are some of the few updates to this release as we near a stable 1.0.0 release.
Main features are:
Lot's of maintaining / updates to plugins
General bug and doc fixes
Major improvements to development (github issue templates, automatically created releases)
Agustín Carrasco <asermax@gmail.com> (1):
Links on crunchy's rss no longer contain the show name in the url (#379)
Brainzyy <Brainzyy@users.noreply.github.com> (1):
Add basic tests for stream.me plugin (#391)
Javier Cantero <jcantero@escomposlinux.org> (2):
plugins/twitch: use version v3 of the API
plugins/twitch: use kraken URL
John Smith <v2.0@protonmail.com> (3):
Added support for bongacams.com streams (#329)
streamlink_cli.main: close stream_fd on exit (#427)
streamlink_cli.utils.progress: write new line at finish (#442)
Max Riegler <rinukkusu@sub-r.de> (1):
plugins.chaturbate: new regex (#457)
Michiel Sikma <michiel@wedemandhtml.com> (1):
Update PLAYER_VERSION, as old one does not return data. Add ability to use streams with /embed/video in the URL, from embedded players. (#311)
Mohamed El Morabity <melmorabity@users.noreply.github.com> (6):
Add support for pluzz.francetv.fr (#343)
Fix ArteTV plugin (#385)
Add support for Canal+ TV group channels (#416)
Update installation instructions for Fedora (#443)
Add support for Play TV (#439)
Use token generator for HLS streams, as for HDS ones (#466)
RosadinTV <rosadintv@outlook.com> (1):
--can-handle-url-no-redirect parameter added (#333)
Stefan Hanreich <stefanhani@gmail.com> (1):
added chocolatey to the documentation (#380)
bastimeyer <mail@bastimeyer.de> (3):
Automatically create Github releases
Set changelog in automated github releases
Add a github issue template
beardypig <beardypig@users.noreply.github.com> (55):
plugins.tvcatchup: site layout changed, updated the stream regex to accommodate the change (#338)
plugins.streamlive: streamlive.to have added some extra protection to their streams which currently prevents us from capturing them (#339)
cli: add command line option to specific logging path for subprocess errorlog
plugins.trtspor: added support for trtspor.com (#349)
plugins.kanal7: fixed page change in kanal7 live stream (#348)
plugins.picarto: Remove the unreliable rtmp stream (#353)
packaging: removed the built in backports infavour of including them as dependencies when required (#355)
Boost the test coverage a bit (#362)
plugins: all regex string should be raw (#361)
ci: build and test on Python 3.6 (+3.7 on travis, with allowed failure) (#360)
packages.flashmedia: fix bug in AMFMessage (#359)
tests: use mock from unittest when available otherwise fallback to mock (#358)
stream.hls: try to retry stream segments (#357)
tests: add codecov config file (#363)
plugins.picarto: updated plugin to use tech_switch divs to find the stream parameters
plugins.mitele: support for live streams on mitele.es
docs: add a note about python-devel needing to be installed in some cases
docs/release: generate the changelog as rst instead of md
plugins.adultswim: support https urls
use iso 8601 date format for the changelog
plugins.tf1: added plugin to support tf1.fr and lci.fr
plugins.raiplay: added plugin to support raiplay.it
plugins.vaughnlive: updated player version and info URL (#383)
plugins.tv8cat: added support for tv8.cat live stream (#390)
Fix TF1.fr plugin (#389)
plugins.stream: fix a default scheme handling for urls
Add support for some Bulgarian live streams (#392)
rtmp: fix bug in redirect for rtmp streams
plugins.sportal: added support for the live stream on sportal.bg
plugins.bnt: update the user agent string for the http requests
plugins.ssh101: update to support new site layout
Optionally use FFMPEG to mux separate video and audio streams (#224)
Support for 4K videos in YouTube (#225)
windows-installer: add the version info to the installer file
include CHANGELOG.rst instead of .md in the egg
stream.hls: output duplicate streams for HLS when multiple streams of the same quality are available
stream.ffmpegmux: fix support for avconv, avconv will be used if ffmpeg is not found
Adultswin VOD support (#406)
Move streamlink_cli.utils.named_pipe in to streamlink.utils
plugins.rtve: update plugin to support new streaming method
stream.hds: omit HDS streams that are protected by DRM
Adultswin VOD fix for live show replays (#418)
plugins.rtve: add support for legacy stream URLs
installer: remove the streamlink bin dir from %PATH% before installing
plugins.twitch: only check hosted channels when playing a live stream
docs: tweaks to docs and docs build process
Fix iframe detection for BTN/cdn.bg streams (#437)
fix some regex that give deprecation warnings in python 3.6
plugins.adultswim: correct behaviour for archived streams
plugins.nineanime: add scheme to grabber api url if not present
session: add an option to disable Diffie Hellman key exchange
plugins.srgssr: added support for srg ssr sites: srf, rts and rsi
plugins.srgssr: fixed bug in api URL and fixed akamai urls with authparams
cli: try to terminate the player process before killing it (if terminate takes too long)
plugins.swisstxt: add support for the SRG SSR sites sports sections
fozzy <fozzysec@gmail.com> (1):
Add plugin for huajiao.com and zhanqi.tv (#334)
sqrt2 <sqrt2@users.noreply.github.com> (1):
Fix swf_url in livestream.com plugin (#428)
stepshal <nessento@openmailbox.org> (1):
Remove trailing.
stepshal <stepshal@users.noreply.github.com> (2):
Add blank line after class or function definition (#408)
PEP8 (#414)
gstreamer has gst-ptp-helper - helper for synchronizing time across
the network. I don't believe this option is useful enough to be a default,
but it poses a security risk.
For more information about PTP in Gstreamer, see the following post:
https://coaxion.net/blog/2015/05/ptp-network-clock-support-in-gstreamer/
bump PKGREVISION
Use secure_getenv(3) to improve security
This patch is in response to the following security vulnerabilities
(CVEs) reported to NVIDIA against libvdpau:
CVE-2015-5198
CVE-2015-5199
CVE-2015-5200
To address these CVEs, this patch:
- replaces all uses of getenv(3) with secure_getenv(3);
- uses secure_getenv(3) when available, with a fallback option;
- protects VDPAU_DRIVER against directory traversal by checking for '/'
On platforms where secure_getenv(3) is not available, the C preprocessor
will print a warning at compile time. Then, a preprocessor macro will
replace secure_getenv(3) with our getenv_wrapper(), which utilizes the check:
getuid() == geteuid() && getgid() == getegid()
See getuid(2) and getgid(2) for further details.
there's no reason to - other operating systems have suitable drivers too,
and it doesn't break builds as far as I can tell.
PR pkg/51704, applying as maintainer did not respond.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
2017-01-09 v1.6.1 "Long Tailed Duck"
This release improves upon the VP9 encoder and speeds up the encoding and
decoding processes.
- Upgrading:
This release is ABI compatible with 1.6.0.
- Enhancements:
Faster VP9 encoding and decoding.
High bit depth builds now provide similar speed for 8 bit encode and decode
for x86 targets. Other platforms and higher bit depth improvements are in
progress.
- Bug Fixes:
A variety of fuzzing issues.
Encoder enhancements
--------------------
1. Enhancements to TU selection algorithm with early-outs for improved speed; use :option:`--limit-tu` to exercise.
2. New motion search method SEA (Successive Elimination Algorithm) supported now as :option: `--me` 4
3. Bit-stream optimizations to improve fields in PPS and SPS for bit-rate savings through :option:`--[no-]opt-qp-pps`, :option:`--[no-]opt-ref-list-length-pps`, and :option:`--[no-]multi-pass-opt-rps`.
4. Enabled using VBV constraints when encoding without WPP.
5. All param options dumped in SEI packet in bitstream when info selected.
6. x265 now supports POWERPC-based systems. Several key functions also have optimized ALTIVEC kernels.
- avformat/http: Match chunksize checks to master..3.0
- Changelog: fix typos
- ffserver: Check chunk size
- Avoid using the term "file" and prefer "url" in some docs and comments
- avformat/rtmppkt: Check for packet size mismatches
- zmqsend: Initialize ret to 0
- configure: check for strtoull on msvc
- http: move chunk handling from http_read_stream() to http_buf_read().
- http: make length/offset-related variables unsigned.
Release 0.2.0 of Streamlink!
We've done numerous changes to plugins as well as fixed quite a few
which were originally failing. Among these changes are updated docs
as well as general UI/UX cleaning with console output.
The main features are:
Additional plugins added
Plugin fixes
Cleaned up console output
Additional documentation (contribution, installation instructions)
Again, thank you everyone whom contributed to this release! :D
Changes:
Release 0.23.0
==============
Now requires at least FFmpeg 3.2.2.
Features
--------
- vo_rpi: partially undeprecate
Added
~~~~~
- vo_opengl: hwdec_cuda: Support P016 output surfaces
Removed
~~~~~~~
- charset_conv: drop enca and libguess support in favor of uchardet
- vf_vdpaurb: remove this filter in favor of --hwdec=vdpau-copy
Options and Commands
--------------------
Added
~~~~~
- TOOLS/autoload: allow disabling through script-opts
- demux, stream: add --access-references to prevent opening referenced files
Deprecated
~~~~~~~~~~
- options: deprecate codec family selection in --vd/--ad
Removed
~~~~~~~
- macOS: remove --fs-black-out-screens
- options: remove deprecated sub-option handling for --vo and --ao
Fixes and Minor Enhancements
----------------------------
- Windows: window styles improvements (allow minimizing borderless/fullscreen window) (#2229, #2451)
- ad_spdif: Fix crash when spdif muxer is not available
- audio: fix --audio-stream-silence with ao_alsa
- audio: fix --audio-stream-silence with ao_wasapi
- build: drop build-time dependency on Perl
- build: support linking ANGLE (previously loaded dynamically)
- d3d11va: unconditionally load D3D DLLs (#3348)
- demux_mkv: fix seeking in some broken files (#3920)
- hwdec_cuda: allow building without CUDA SDK (load CUDA dynamically)
- macOS: fix dropping of URLs containing query strings on the window
- macOS: fullscreen refactoring (#2857, #3272, #1352, #2062, #3864)
- macOS: support append file to paylist on drop (#2166)
- macOS: update the menu and remove conflicting “Quit & remember position” item (#3865)
- osc: don't hide playlist buttons, just disable
- osc: fix possible race condition in right timecode
- osc: topbar: use same styles as bottombar
- player: don't print format detection error when aborting loading
- vdpau: fix vaapi probing if libvdpau-va-gl1 is present
- video: use demuxer-signaled duration for last video frame (#3924)