Today’s VLCKit 3.0 update for the popular VLC Media Player brings a number of enhancements to the app on iOS, tvOS, and macOS. This is the first major update for the application in over three years.
The update adds new APIs to allow for full support of H.264 and H.265 (HEVC) file formats, and also decrease the memory management for 4K videos on iPhones from 100% CPU usage to less than 20%. It also improves on 3D video, with better touch controls, and allows better access to videos on your network.
On tvOS, the app will finally have its own APIs with TVVLCKit, to allow developers to better hook into the underlying libraries on the platform.
VLC was recently updated to support the iPhone X screen. The app launched on tvOS in January of 2016, but was pretty barebones. The new update finally brings the TV version up to speed with its iOS and macOS counterparts.
The full changelog can be found below:
New APIs: - VLCAudio - setMuted: - VLCDialogProvider - new class to handle user interaction with VLC events - VLCLibrary - added properties: debugLogging, debugLoggingLevel - VLCMediaDiscoverer - added selector: availableMediaDiscovererForCategoryType: - added enum: VLCMediaDiscovererCategoryType - VLCMediaListPlayer - added selectors: initWithDrawable: initWithOptions:andDrawable: playItemAtNumber: - VLCMediaPlayer - added properties: titleDescriptions indexOfLongestTitle numberOfTitles snapshots lastSnapshot - added selectors: chaptersForTitleIndex: numberOfChaptersForTitle: addPlaybackSlave:type:enforce: updateViewpoint:pitch:roll:fov:absolute: - added notifications: VLCMediaPlayerTitleChanged, VLCMediaPlayerChapterChanged - added enum: VLCMediaPlaybackSlaveType Note: - play's return type was changed from BOOL to void - hue is now a float instead of an integer WARNING: - Return value of the following methods changed from INT_MAX to -1 (int)currentVideoTrackIndex (int)currentVideoSubTitleIndex (int)currentChapterIndex (int)currentTitleIndex (int)currentAudioTrackIndex - VLCMedia - added keys: VLCMetaInformationTrackTotal, VLCMetaInformationDirector, VLCMetaInformationSeason, VLCMetaInformationEpisode, VLCMetaInformationShowName, VLCMetaInformationActors, VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber, VLCMediaTracksInformationVideoOrientation, VLCMediaTracksInformationVideoProjection - added selectors: codecNameForFourCC:trackType: mediaType parseWithOptions: parseWithOptions:Timeout: parsedStatus storeCookie:forHost:path: clearStoredCookies - added enums: VLCMediaType, VLCMediaParsingOptions, VLCMediaParsedStatus, VLCMediaOrientation, VLCMediaProjection - changed behavior: media will no longer be parsed automatically if meta data is requested prior to concluded parsing - VLCMediaList - changed behavior: lists of media objects added through arrays or on init are no longer added in reverse order - VLCTime - added selectors: isEqual: hash - VLCAudio - added property: passthrough Modified APIs: - VLCMediaList - To match the KVC bindings, all NSInteger arguments were moved to NSUInteger as appropriate - mediaList:mediaAdded:atIndex: - mediaList:mediaRemovedAtIndex: - addMedia: - insertMedia:atIndex: - removeMediaAtIndex: - mediaAtIndex: Deprecated APIs: - VLCAudio - setMute: - VLCMedia - parse, isParsed, synchronousParse - VLCMediaDiscoverer - availableMediaDiscoverer, localizedName - VLCMediaPlayer - titles, chaptersForTitleIndex:, countOfTitles, framesPerSecond, openVideoSubTitlesFromFile: - VLCMediaListPlayer - playItemAtIndex - VLCStreamSession - VLCStreamOutput - VLCMediaLibrary Removed APIs: - VLCExtension - VLCExtensionsManager - VLCMedia: - fps - media:metaValueChangedFrom:forKey: - VLCMediaPlayer - audioTracks - videoTracks - videoSubTitles - VLCServicesDiscoverer - VLCPlaylistDataSource