VLCKit 3.0 adds support for H.265, better 4K memory management, and 3D video

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

You can follow iPhoneFirmware.com on Twitter, add us to your circle on Google+ or like our Facebook page to keep yourself updated on all the latest from Apple and the Web.