VLCKit 3.0 добавил поддержку H.265, улучшил управление памятью 4K и видео в 3D

Обновление VLCKit 3.0 от разработчика популярного медиаплеера VLC Media Player включает ряд улучшений для приложений под iOS, tvOS и macOS. Это первое крупное обновление фреймворка за более чем три года.

Обновление добавляет новые API для полной поддержки форматов файлов H.264 и H.265 (HEVC), а также снижает потребление памяти при воспроизведении 4K видео на iPhone со 100% загрузки процессора до менее чем 20%. Также улучшена поддержка 3D-видео благодаря улучшенному сенсорному управлению и упрощен доступ к видео в вашей сети. На tvOS фреймворк наконец получит собственные API TVVLCKit, что позволит разработчикам лучше интегрироваться с базовыми библиотеками платформы.

Для VLCKit мы улучшили производительность и управление памятью, добавили новые API, и вы получаете все улучшения из базовой libvlc, включая полную аппаратную поддержку декодирования H264 и H265 с использованием VideoToolbox. Вместо использования всех ядер процессора iPhone на 100%, декодирование 4K видео потребляет менее 20%.

Кроме того, вы можете рассматривать все аспекты 3D-видео с помощью управления жестами, обнаруживать и просматривать общие ресурсы в вашей сети через UPnP, NFS, FTP, SFTP и SMB и многое другое.

Полный список изменений можно найти ниже:

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

Посетите 9to5Mac на YouTube, чтобы узнать больше новостей об Apple: