--------------------------------
Platform support changes:
* 3.0.x will be maintained as a LTS (best-effort basis, mostly for security)
that will be the last working version for quite a few systems.
Indeed the 3.0.x branch will contain the last releases running on:
- Windows XP, Vista, and the servers equivalent of those Windows versions
- Android 2.x, 3.x, 4.0.x & 4.1.x
- Compilers before gcc 5.0 and clang 3.4, or equivalent
* For the 3.0 branch, please note:
* The Windows XP/2003/2003R2 support for VLC is now on a best-effort basis:
libVLC support for Windows XP is deprecated.
You _really_ should upgrade to a more modern Windows version!
* Windows Vista (all versions) without Platform Upgrade is not supported.
* 64bit version of VLC for Windows is recommended.
* Linux support requires now a kernel newer than 2.6.26.
* Mac OS X 10.6 support is now removed. You need OS X 10.7.
Core:
* Support network browsing for distant filesystems (SMB, FTP, SFTP, NFS...)
and rewrite the parsing of the media files and inputs
* Support keystores: fetch and store passwords securely (sic!) for common
* Autodetect external audio tracks (ac3, m4a, aac, dts...) similar to subtitles
* Support HDMI passthrough for Audio HD codecs, like E-AC3, TrueHD or DTS-HD
* Support for 12bits codec and extended colorspaces (HDR)
* VLC now assumes vlcrc config file is in UTF-8
* Support portable version of Windows build (create a 'portable/' folder)
* Allow to start the video paused on the first frame
* EPG rework: table and single event updates, now using network time
* Refactor and fix subtitles es selection. Demuxers can now override
* Support for 360 video and audio, including viewpoint modification
* Support for ambisonic audio and more than 8 audio channels
* New NFS access module using libnfs
* Adaptive streaming:
* Rewrite MPEG-DASH (Dynamic Adaptive Streaming over HTTP) support, including
* Support HDS (Http Dynamic Streaming) from Adobe (f4m, f4v, etc.)
* Replaced httplive stream filter with new HLS demuxer, replaced smooth
stream filter with new Smooth demuxer, both using unified adaptive module
* Support HLSv4-7, including MP4 and raw muxing and ID3 tags
* Support decompression and extraction through libarchive (tar, zip, rar...)
* New HTTP/TLS access module for HTTP 2.0 support
* Improvements of cookie handling (share cookies between playlist items,
* Support DVB-T2 on Windows BDA
* New UPnP access module, to list directories without infinite recursions
* Support sftp username and passwords options in URL, and key authentication
* New 'concat' access module for concatenating byte streams
* Named pipes and device nodes are no longer included in directory listings
by default. Use --list-special-files to include them back.
* Support for timeout in UDP input --udp-timeout=<seconds>
* New SAT>IP access module, to receive DVB-S via IP networks
* BluRay module can open ISO over network and has full BD-J support
* New SRT access module using libsrt
Hardware Decoder:
* Support HEVC hardware decoding on Windows, using DxVA2 and D3D11
* Support hardware decoding using Direct3D11, including GPU-zerocopy mode,
and hardware filtering, for deinterlace and adjust
* DxVA2 GPU-zerocopy for hardware decoding and displaying on Windows,
and support for hardware filtering, for deinterlace and adjust
* Support HEVC hardware decoding using OMX and MediaCodec (Android)
* Use MediaCodec via NDK native API after Android Lollipop
* Support MPEG-2, VC1/WMV3 on Android using MediaCodec
* OMX GPU-zerocopy support for decoding and display on Android using OpenMax IL
* Support 4:4:4 and 4:2:2 chroma samplings with VDPAU hw acceleration
* Important VAAPI improvements for 10bits, HEVC, direct-rendering support
* Support VP9 and WMV3 decoding using OMX and performance improvements
* Important improvements for the MMAL decoder and output for rPI and rPI2
* New hardware accelerated decoder for OS X and and iOS based on Video Toolbox
supporting H.263, H.264/MPEG-4 AVC, H.265/HEVC, MPEG-4 Part 2, and DV
Decoders:
* Support for ARIB STD-B24 subtitles
* New MPEG-1 & 2 audio layer I, II, III + MPEG 2.5 decoder based on libmpg123
* Fix uncompressed DVD-Audio (AOB) LPCM decoding
* Rewrite WPL playlists and add ZPL playlists support (Zune)
* Support TDSC, Canopus HQX, Cineform, SpeedHQ, Pixlet, QDMC and FMVC codecs
* TTML subtitles support, including EBU-TT-D variant
* Rewrite of webVTT subtitles support, including CSS style support
* Support for the OggSpots video codec
* H264 packetizer can now generate timestamps
* DTS packetizer handle DTS extensions (like DTS-HD): decoders like avcodec
* JPEG images correctly oriented using embedded orientation tag, if present
* Extend MicroDVD support with color, fontname, size, position extensions
* Improve Closed Captions detection, notably inside the video streams
* New MIDI decoder for macOS and iOS using the AudioToolbox framework, works
without a soundfont or with SoundFont2 and DLS soundfonts
Demuxers:
* Important rework of the MP4 demuxer, including:
* Support EIA-608/708 subtitles in MP4/mov
* Support WMV and WMAV in MP4/mov, aka Flip4Mac files
* Support bitmap audio channel reordering in MP4/mov
* Support for RTP Reception Hint Track with H.264, GSM and Speex payloads
* Support for VP8/VP9/VP10/AV1 in MP4
* Support for TTML and WebVTT in ISOBMFF/MP4 and DASH
* Important rework of the TS demuxer, including:
* Fix program selection with recorded TS (TopField, DreamBox and others)
* Basic support for MPEG4-SL in TS and T-DMB
* Support for new descriptors and ETT tables
* Support for ARIB channel logos, as attachements, ARIB TR-B21/TR-B14-1
* Improvements for scrambled state detection
* Support HD-DVD .evo (H.264, VC-1, MPEG-2, PCM, AC-3, E-AC3, MLP, DTS)
* HEVC support
* Fix large number of samples, notably with PSM-less H264
* Fix broken SCR samples
* Improvements on MKV:
* Support FFv1 inside MKV
* Improve DVD-menus support
* Support for lame's replaygain extension in mpeg files
* Improve Chained-Ogg support
* Support for Creative ADPCM/alaw/ulaw/S16L in VOC files
* Support WMV extended content metadata
* Directory Demux can now sort items, ignore extensions and hidden files
* Support raw H265/HEVC files
* Support SBV subtitles
* Fix Quicktime Mp4 inside MKV and unpacketized VC1
* Improve fLaC seeking
* Replace --demux dvb-open option with --stream-filter dvb to parse
* Add an ADF stream filter
* Add a stream prebuffering plugin
* Rewrite libarchive module as a stream_extractor
* Add a zlib (a.k.a. deflate) decompression filter
* Add a skiptags module to help demuxers skip ID3/APE tags
Demux filter:
* Add a demuxer filter chain to filter or intercept control commands and demuxing
* Add a demuxer filter to block seeking (--demux-filter noseek)
Audio output:
* Complete rewrite of the AudioTrack Android module, it is now the default
module for Android. It now supports HDMI/SPDIF passthrough for AC3/DTS/EAC3,
5.1/7.1 channels and float output, depending on the Android version.
* HDMI/SPDIF pass-through support for WASAPI (AC3/DTS/DTSHD/EAC3/TRUEHD)
* Support EAC3 and TRUEHD pass-through for PulseAudio
* Important rework of the AudioUnit modules to share more code between iOS and macOS
* Support Ambisonics audio with viewpoint changes
Audio filters:
* Add SoX Resampler library audio filter module (converter and resampler)
* a52tospdif and dtstospdif audio converters are merged into tospdif,
this new converter can convert AC3, DTS, EAC3 and TRUEHD to a IEC61937 frame
* an Ambisonics audio renderer, supporting up to 3rd order
* an Binauralizer audio filter, working with Ambisonics or 5.1/7.1 streams
* Add Headphones option in Stereo Mode: use the spatialaudio module for
* Add a pitch shifting module
Video ouput:
* Linux/BSD default video output is now OpenGL, instead of Xvideo
* New OpenGL provider for Windows
* Direct rendering with OpenGL (starting OpenGL 4.4)
* Hardware direct displaying with VDPAU interop
* Hardware direct displaying with DxVA2/D3D9Ex interop
* Hardware direct displaying with VideoToolbox interop (iOS and macOS)
* Wayland shell surface window provider
* Large rework of the Android video outputs: there is now Surface (2.1, 2.2)
NativeWindow (2.3+, supports hw rotation, subpicture blending, opaque)
* Support rotation in Android NativeWindow output and hardware decoders
* Add a Direct3D11 video output supporting both Windows desktop and WinRT modes,
supporting subpicture blending and hardware acceleration
* Support HDR10 in Direct3D11 with Windows 10 Fall Creator Update
* EFL Evas video output with Tizen TBM Surface support
Video filter:
* New video filter to convert between fps rates
* Add 9-bit and 10-bit support to image adjust filter
* New edge detection filter uses the Sobel operator to detect edges
* Hardware accelerated deinterlacing/adjust/sharpen/chroma with VA-API
* Hardware accelerated adjust/invert/posterize/sepia/sharpen with CoreImage
* Hardware accelerated deinterlacing/adjust/chroma with D3D9 and D3D11
Text renderer:
* CTL support through Harfbuzz in the Freetype module
* More conforming EIA608 captions layout and aspect ratio
* Chromecast output module
* Support for Daala video in 4:2:0 and 4:4:4
* Add fragmented/streamable MP4 muxer
* Opus in MPEG Transport Stream
* New NetBios service discovery using libdsm
* New mDNS services discovery using Bonjour (Mac OS X, tvOS, iOS)
* Drop support for Mac OS X 10.6 Snow Leopard
* Support right-to-left user interface layout for right-to-left languages
* New resizable fullscreen controller with improved design
* Add status bar icon which displays metadata and play controls
* Add support for keyboard blacklight dimming during fullscreen video playback
* Huge performance improvements in playlist handling and other areas
* New AppleScript API giving access to audio desynchronization
* Expand AppleScript API for menu detection and navigation
* Support for building with disabled sparkle update mechanism
* Remove deprecated transcoding wizard, use convert and save dialog instead
iOS:
* Batch convert support
* It is now possible to specify 'stop-time' in Convert/Save dialog
Skins2:
* Add libvlc_media_new_callbacks for custom input byte streams
* Add libvlc_audio_output_device_enum to enumerate devices of current aout
* Split of libvlc_media_discoverer_new_from_name into libvlc_media_discoverer_new,
libvlc_media_discoverer_start and libvlc_media_discoverer_stop
This allows to attach media events between create and start
* Add libvlc_media_get_codec_description to get a human readable description of a codec
* Add libvlc_MediaListEndReached Event to get notified when a media list reached the end
* Add libvlc_media_list_player_get_media_player to get the media player instance of a list player
* Add libvlc_media_parse_with_options that uses a flag to specify parse options
* Add libvlc_audio_output_device_get to get the currently selected audio output device
* Add libvlc_media_get_type to get the type of the media
* Add libvlc_media_player_get_full_title_descriptions to get full title info of the media
and +libvlc_title_descriptions_release to match it
* Add libvlc_media_player_get_full_chapter_descriptions to get full chapter info of the media
and libvlc_chapter_descriptions_release to match it
* Deprecate libvlc_video_get_title_description, libvlc_video_get_chapter_description,
libvlc_media_player_get_agl, libvlc_media_player_set_agl
* Add libvlc_media_player_set_android_context to integrate in an Android surface
* Add a new libvlc dialog API to forward dialogs requests to the applications:
libvlc_dialog_set_context, libvlc_dialog_get_context, libvlc_dialog_set_callbacks,
libvlc_dialog_dismiss, libvlc_dialog_post_action, libvlc_dialog_post_login
* Add libvlc_media_discoverer_list_get|release to list the media discoverers
* Add libvlc_media_slaves_add, libvlc_media_slaves_clear
libvlc_media_slaves_get, libvlc_media_slaves_release to add and get slaves
* Add libvlc_media_player_(get|set)_role to set the media role
* Add libvlc_media_player_add_slave to replace libvlc_video_set_subtitle_file,
working with MRL and supporting also audio slaves
* Add vlc_epg_event_(New|Delete|Duplicate), vlc_epg_AddEvent, vlc_epg_Duplicate
* Support for the SystemD Journal
* Use --syslog and --syslog-debug command line options to include debug
messages in syslog. With --syslog, errors and warnings will be sent only.
* remove langfromtelx
* Update libVLC doxygen modules
* Add a text-to-speech renderer for subtitles on OS X/iOS
* Add a text-to-speech renderer for subtitles on Windows
* Add KDE Kwallet-based crypto keystore
* Add a file keystore that can use a submodule to crypt secrets
* Add Keychain based crypto keystore for iOS, Mac OS X and tvOS
Removed modules
* QTCapture access module (use AVCapture instead)
* smooth (use adaptive instead)
* QuartzText text renderer module (use Freetype instead)
* Win32 GDI text renderer module (use Freetype instead)
* Growl notification (replaced by osx_notifications)
* VCDX 'extended' Video CD access module (use the normal VCD module)
* iOS Dialog Provider (use MobileVLCKit / TVVLCKit instead)
* BD access module (use libbluray)
* EyeTV access module
* VDA decoder: use VT
* SDL video output module
* RAOP stream output module