NEWS 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. Version 4.0.0:
  2. --------------
  3. - Remove support for ARMv7s, use the regular ARMv7 slice instead
  4. - Removed all API deprecated in version 3
  5. - Rename buildMobileVLCKit to compileAndBuildVLCKit
  6. - Use NSDateComponents API for VLCTime.verboseStringValue
  7. Version 3.3.9:
  8. --------------
  9. - Bump dav1d to 0.5.1
  10. - Fix debug logging level
  11. - Fix iOS 9 no audio during playback
  12. Version 3.3.8:
  13. --------------
  14. - Compatibility fix with iOS/tvOS 13 when distributing on the App Store
  15. Version 3.3.7:
  16. --------------
  17. - VLCMedia:
  18. - Add helper method to easily add option
  19. - Add method to stop parsing
  20. - codec:
  21. - avcodec: really drain video
  22. - webvtt: fix node reparenting on closing tags
  23. - demux:
  24. - ttml: recreate entities
  25. - mp4:
  26. - fix non packetized ms55
  27. - fix quicktime sample size regression for twos/stwo
  28. - h26x:
  29. - fix frame duration
  30. - use fmtout rate as date rate
  31. - adaptive:
  32. - store timeline directly
  33. - inherit template defaults
  34. - missing flags propagation using MimeDemuxer
  35. - packetizer:
  36. - flac:
  37. - check next header
  38. - return a block even with invalid pts
  39. - hevc:
  40. - add secondary drain
  41. - set fmtout rate when unknown
  42. - h264:
  43. - handle secondary drain
  44. - do not override fmtin frame rate
  45. - only use date_t for length computation
  46. - mpegvideo: perform secondary drain
  47. - audiounit_ios: add support for > 48kHz sample rate
  48. - coreaudio:
  49. - start deferred
  50. - update the play date until the first rendering
  51. - use the dev latency for the deferred calculation
  52. - vaapi: add YUVJ420P pixfmt
  53. - mp4: meta: fix format-truncation warning
  54. - access: add smb2 module
  55. - smb2/dsm: avoid to request the dialog two times
  56. - dsm:
  57. - query credentials only when needed
  58. - add "smb-force-v1" option
  59. - specify the v1 protocol in the dialog credential title
  60. contrib: add libsmb2
  61. Version 3.3.6:
  62. --------------
  63. - Fix abort from dealloc when VLCMedia init failed
  64. - Fix SMB 2 not storing credentials
  65. Version 3.3.5:
  66. --------------
  67. - access: fix smb2/dsm conflicts
  68. - directsound: fix uninitialized var usage on error path
  69. - lib: media: fix media not being preparsed after a failure
  70. - packetizer: flac: don't increment invalid date
  71. - videotoolbox: don't reset the vout when closing
  72. Version 3.3.4:
  73. --------------
  74. - Fix SMB 2 possible null-deref when stopping a session
  75. - vout: fix low framerate stuttering
  76. - transcode: video: patch missing chroma in decoder format ouput
  77. - access: dvdread: fix null dereference on vts failure
  78. - demux:
  79. - mp4: fix potential endless loop
  80. - avi: simplify strf handling
  81. - mkv: remove elements from vector when we delete them
  82. - mkv: fix vector erase in destructor
  83. - mkv: do not use the file if there's no usable stream/segment
  84. - faad: Fix read buffer overflow
  85. - ogg: Fix potential integer overflow
  86. - chromecast: transcode audio to MP3 320 kbps instead of 96 kbps
  87. - Bump libelml requirement to 1.3.6
  88. - Bump dav1d to 0.4.0
  89. - Bump libmodplug to 0.8.9.0
  90. Version 3.3.3:
  91. --------------
  92. - Fix airplay AV sync
  93. - Fix bluetooth audio drop
  94. - SMB2: Add support for NTLM anonymous login and port specification
  95. - Add MediaListPlayerDelegate callbacks:
  96. - (void)mediaListPlayerFinishedPlayback:(VLCMediaListPlayer *)player;
  97. - (void)mediaListPlayer:(VLCMediaListPlayer *)player;
  98. - (void)mediaListPlayerStopped:(VLCMediaListPlayer *)player;
  99. Version 3.3.2:
  100. --------------
  101. - Internal percent encoding handling of URLs within VLCMedia was removed. This fixes a bug where URLs ended up double encoded.
  102. /!\ This change might require changes to client Apps to ensure that their URLs are correctly percent encoded when initialising VLCMedia /!\
  103. - access:
  104. - rdp: Fix URI parsing
  105. - vnc: Fix URI parsing
  106. - live555: Fix crash parsing H264
  107. - demux:
  108. - hls: Disable webvtt
  109. - mp4: Add sample overread check for non seekable case
  110. Probe fragments on missing duration
  111. Ignore indirect index references for seek
  112. Pack sidx items
  113. - ts: Fix broken var reading
  114. - mux:
  115. - mp4: Fix tkdh visible values
  116. Set visible dimensions in stsd instead of buffer
  117. - contribs:
  118. - Bump dav1d to 0.3.0
  119. Version 3.3.1:
  120. --------------
  121. - Lower SMB 2 priority
  122. - transcode: Fix transcode with passthrough video
  123. - asf: Fix memory leak
  124. - demux:
  125. - dash: Handle infinite repeat in timeline
  126. - mkv: Fix playback of files created with lavf 58.12
  127. - sftp: Fix version for ECDSA known hosts
  128. - contribs:
  129. - Bump dav1d to 0.2.1
  130. Version 3.3.0:
  131. --------------
  132. - Add SMB 2 support
  133. - VLCMediaList: Fix removeMediaAtIndex NSRangeException crash
  134. - mp4: Improve muxing & demuxing
  135. - ogg: Improve demuxing
  136. - mkv: Fix GotoAndPlay command uid conversion
  137. - avcodec: Fix missing FourCC in libav
  138. - microdns: Fix memory leak
  139. API Changes:
  140. VLCMediaList:
  141. - indexOfMedia Returns NSUInteger instead of NSInteger
  142. - removeMediaAtIndex Returns BOOL instead of void
  143. Version 3.2.1:
  144. --------------
  145. - Added a new default AV1 decoder - dav1d
  146. - Fixed issues with decoding certain HEVC streams
  147. - Added API to VLCLibrary to log debug information to a file or a custom target
  148. - Fixed crash and leaks in our OpenGL based video output
  149. - Fixed chromecast not displaying Videos for certain devices
  150. Version 3.2.0:
  151. --------------
  152. - Enabled libmux module
  153. - Fixed a bug where debuglogging logged less than what the loglevel indicated
  154. - Fixed a bug where subtitles where not displayed by default on iOS
  155. - Fixed a crash when playing back mkv on iOS 12
  156. - API Changes:
  157. - updateProgressWithReference:message:postion: to updateProgressWithReference:message:position:
  158. - new recording Api
  159. VLCMediaPlayerDelegate:
  160. - (void)mediaPlayerStartedRecording:(VLCMediaPlayer *)player;
  161. - (void)mediaPlayer:(VLCMediaPlayer *)player recordingStoppedAtPath:(NSString *)path;
  162. VLCMediaPlayer:
  163. - (BOOL)startRecordingAtPath:(NSString *)path;
  164. - (BOOL)stopRecording;
  165. - new Transcoder Class and API
  166. VLCTranscoderDelegate:
  167. - (void)transcode:(VLCTranscoder *)transcoder finishedSucessfully:(BOOL)success;
  168. VLCTranscoder:
  169. - (BOOL)reencodeAndMuxSRTFile:(NSString *)srtPath toMP4File:(NSString *)mp4Path outputPath:(NSString *)outPath
  170. Version 3.1.5:
  171. --------------
  172. - Fixed a crash when updateProgressCallback was called
  173. - Fixed an issue with authentification for certain HTTP streams
  174. Version 3.1.4:
  175. --------------
  176. - Added missing VLCMediaParseStatusTimeout to VLCMediaParsedStatus enum
  177. - debugLoggingLevel of VLCLibrary defaults to 0 (just errors) when provided with an invalid level
  178. - Added VLCMedia initWithStream:(NSInputStream *)stream to create a new VLCMedia object to use an input stream.
  179. - Fixed VLCMediaThumbnailer dimensions not being updated after fetching a thumbnail
  180. - Fixed crash when cancelDialog was called on VLCDialogProvider
  181. Version 3.1.3:
  182. --------------
  183. - Fixed crashes with Chromecast when starting it in the middle of playing streams
  184. - Fixed Audio not resuming after backgrounding
  185. Version 3.1.2:
  186. --------------
  187. - Fix an issue that led to subtitles not being displayed for mkv files
  188. - h264 low-latency improvements for VideoToolbox
  189. - Improved display of subtitles
  190. - Fix playback issues with certain AVI, MP4 and MKV files
  191. Version 3.1.1:
  192. --------------
  193. - Drop support for platforms < iOS 8 & < tvOS 10.2
  194. - Add transcoding for the Chromecast
  195. - Fix an issue that led to green artifacts in H264 streams
  196. - Fix AVAudioSession handling on tvOS and iOS when playing multiple streams
  197. - Fix OpenGL multithreading issues on macOS
  198. - Updated third party libraries, notably Harfbuzz for security improvements
  199. Version 3.1.0:
  200. --------------
  201. - Add API to enable or disable deinterlace and specify a filter
  202. - Expose the existing snapshot API of the VLCMediaPlayer class to macOS
  203. - Expose yaw, pitch, roll and fov for viewpoint
  204. - Include protobuf, sout, output_http and stream_out modules for Chromecast
  205. Version 3.0.2:
  206. --------------
  207. - Automatic reconnections to HTTP(S) servers on unexpected drops on iOS and tvOS
  208. - Fixed deadlock when sent to background
  209. - Fixed some OpenGL and flv crashes
  210. - Fixed HEVC playback that resulted in just a black screen
  211. - Removal of private API usage by ffmpeg
  212. Version 3.0.0:
  213. --------------
  214. Generic changes:
  215. - Added support for tvOS
  216. - Removed support for the 32bit OS X platform
  217. - Added support for audio muting and software volume changes on iOS and tvOS
  218. New APIs:
  219. - VLCAudio
  220. - setMuted:
  221. - VLCDialogProvider
  222. - new class to handle user interaction with VLC events
  223. - VLCLibrary
  224. - added properties: debugLogging, debugLoggingLevel
  225. - VLCMediaDiscoverer
  226. - added selector: availableMediaDiscovererForCategoryType:
  227. - added enum: VLCMediaDiscovererCategoryType
  228. - VLCMediaListPlayer
  229. - added selectors: initWithDrawable:
  230. initWithOptions:andDrawable:
  231. playItemAtNumber:
  232. - VLCMediaPlayer
  233. - added properties: titleDescriptions, indexOfLongestTitle, numberOfTitles,
  234. snapshots, lastSnapshot
  235. - added selectors: chaptersForTitleIndex:
  236. numberOfChaptersForTitle:
  237. addPlaybackSlave:type:enforce:
  238. updateViewpoint:pitch:roll:fov:absolute:
  239. - added notifications: VLCMediaPlayerTitleChanged, VLCMediaPlayerChapterChanged
  240. - added enum: VLCMediaPlaybackSlaveType
  241. - Note:
  242. - play's return type was changed from BOOL to void
  243. - hue is now a float instead of an integer
  244. - WARNING:
  245. - Return value of the following methods changed from INT_MAX to -1
  246. (int)currentVideoTrackIndex
  247. (int)currentVideoSubTitleIndex
  248. (int)currentChapterIndex
  249. (int)currentTitleIndex
  250. (int)currentAudioTrackIndex
  251. - VLCMedia
  252. - added keys: VLCMetaInformationTrackTotal, VLCMetaInformationDirector,
  253. VLCMetaInformationSeason, VLCMetaInformationEpisode,
  254. VLCMetaInformationShowName, VLCMetaInformationActors,
  255. VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber,
  256. VLCMediaTracksInformationVideoOrientation,
  257. VLCMediaTracksInformationVideoProjection
  258. - added selectors: codecNameForFourCC:trackType:
  259. mediaType
  260. parseWithOptions:
  261. parseWithOptions:Timeout:
  262. parsedStatus
  263. storeCookie:forHost:path:
  264. clearStoredCookies
  265. - added enums: VLCMediaType, VLCMediaParsingOptions, VLCMediaParsedStatus,
  266. VLCMediaOrientation, VLCMediaProjection
  267. - changed behavior: media will no longer be parsed automatically if meta
  268. data is requested prior to concluded parsing
  269. - VLCMediaList
  270. - changed behavior: lists of media objects added through arrays or on init
  271. are no longer added in reverse order
  272. - VLCTime
  273. - added selectors: isEqual:
  274. hash
  275. - VLCAudio
  276. - added property: passthrough
  277. Modified APIs:
  278. - VLCMediaList
  279. - To match the KVC bindings, all NSInteger arguments were moved to NSUInteger as appropriate
  280. - mediaList:mediaAdded:atIndex:
  281. - mediaList:mediaRemovedAtIndex:
  282. - addMedia:
  283. - insertMedia:atIndex:
  284. - removeMediaAtIndex:
  285. - mediaAtIndex:
  286. Deprecated APIs:
  287. - VLCAudio
  288. - setMute:
  289. - VLCMedia
  290. - parse, isParsed, synchronousParse
  291. - VLCMediaDiscoverer
  292. - availableMediaDiscoverer, localizedName
  293. - VLCMediaPlayer
  294. - titles, chaptersForTitleIndex:, countOfTitles, framesPerSecond, openVideoSubTitlesFromFile:
  295. - VLCMediaListPlayer
  296. - playItemAtIndex
  297. - VLCStreamSession
  298. - VLCStreamOutput
  299. - VLCMediaLibrary
  300. Removed APIs:
  301. - VLCExtension
  302. - VLCExtensionsManager
  303. - VLCMedia:
  304. - fps
  305. - media:metaValueChangedFrom:forKey:
  306. - VLCMediaPlayer
  307. - audioTracks
  308. - videoTracks
  309. - videoSubTitles
  310. - VLCServicesDiscoverer
  311. - VLCPlaylistDataSource
  312. Version 2.2.2:
  313. --------------
  314. New APIs:
  315. - VLCMediaPlayer
  316. - added properties: numberOfVideoTracks, numberOfSubtitlesTracks
  317. numberOfAudioTracks
  318. Version 2.2.0:
  319. --------------
  320. Cross-platform:
  321. - Fixed deinterlacing if requested
  322. - Fixed decoding and display of Teletext-based subtitles
  323. - Improved thumbnailing reliability
  324. - Added support for inclusion in swift projects
  325. - Switched to Automatic Reference Counting
  326. - Various stability improvements
  327. MobileVLCKit:
  328. - It is finally possible to compile the framework without relying on third
  329. party scripts
  330. - Added 2 sample projects illustrating video playback
  331. - Added support for https and hls playback
  332. - VLCMediaListPlayer is available now
  333. - Added support for https connectivity
  334. VLCKit:
  335. - VLCMediaThumbnailer is a public API on the Mac now matching the mobile
  336. counterpart
  337. - Updated samples projects illustrating playback, file conversation, ...
  338. New APIs:
  339. - VLCMediaThumbnailer:
  340. - added property: snapshotPosition to overwrite the default
  341. - VLCMediaListPlayer:
  342. - added initWithOptions selector matching VLCMediaPlayer's implementation
  343. - added pause selector
  344. - added previous, next and playItemAtIndex selectors
  345. - VLCMedia:
  346. - added delegate method mediaMetaDataDidChange
  347. - VLCMediaPlayer:
  348. - added equalizer
  349. - added countOfTitles
  350. Modified API behavior:
  351. - VLCMediaPlayer:
  352. - implementing mediaPlayerTimeChanged and mediaPlayerStateChanged within a
  353. delegate object is optional now
  354. - VLCMedia:
  355. - nowPlaying meta information is correctly handled now
  356. Deprecated APIs:
  357. - VLCMedia:
  358. - media:metaValueChangedFrom:forKey:
  359. Changes within VLCKit between 2.0.0 and 2.1.0:
  360. ----------------------------------------------
  361. The entire framework was relicensed to LGPL 2.1 or later as well as its
  362. underlying playback modules.
  363. Support for transcoding and streaming as well as DVD playback was not affected
  364. by this move and stays under GPL until further notice.
  365. Please note that the Objective-C syntax was updated, so VLCKit may no longer
  366. compile with outdated versions of Xcode / clang.
  367. New APIs:
  368. - VLCStreamOutput:
  369. - support for subtitle transcoding
  370. - VLCMedia:
  371. - extended media track information for bitrate, language, description, source
  372. aspect ratio, source aspect denominator, frame rate, frame rate denominator,
  373. and text encoding
  374. - added setter and getter for individual meta data values as well as the
  375. ability to write changes to the media file
  376. - added (BOOL)isMediaSizeSuitableForDevice to let VLCKit determine whether the
  377. current media is considered to be suitable for the current device or
  378. playback is discouraged. Will always return true on OS X devices.
  379. - added individual getters for all statistic values, so client application can
  380. fetch single values instead of having to process a NSDictionary with all the
  381. available values. The old API is still available and will stay.
  382. - VLCMediaPlayer:
  383. - added support to enable, switch and disable video tracks
  384. - added setter/getter for SPU and audio delays
  385. - added setter/getter for the video scale factor
  386. - added support for the "adjust" video filter to manipulate contrast,
  387. brightness, hue, saturation and gamma on the fly
  388. - new interfaces to fetch names and IDs of audio, subtitle and video tracks
  389. - added the ability to launch instances with custom libvlc options
  390. - VLCLibrary:
  391. - added the ability to launch instances with custom libvlc options
  392. - added methods to set App ID and User-Agent
  393. - added readonly property to fetch compiler information
  394. Deprecated APIs:
  395. - VLCMediaPlayer:
  396. @property (readonly) NSUInteger fps;
  397. - use (float)fps instead.
  398. - (NSArray *)videoSubTitles;
  399. - use - (NSArray *)videoSubtitleNames; instead
  400. - (NSArray *)audioTracks;
  401. - use - (NSArray *)audioTrackNames; instead
  402. - (NSArray *)videoTracks;
  403. - use - (NSArray *)videoTrackNames; instead
  404. Modified behavior:
  405. - use of clang instead of llvm-gcc-4.2
  406. - updated project file for Xcode 4.3 and later
  407. - iOS Deployment target was raised to iOS 5.1
  408. - dropped support for the PowerPC architecture
  409. - Mac Deployment target was raised to OS X 10.7
  410. - different logging behavior: to see any debug messages, the framework needs
  411. to be compiled in debug mode
  412. MobileVLCKit features:
  413. - added support for Opus
  414. - slimmed binary by removing dysfunctional or irrelevant modules
  415. - screen sleep is prevented during playback
  416. - functionality is strictly limited for full LGPL compliance
  417. Removed APIs:
  418. - VLCMedia:
  419. - (void)setValue:(id)value forMeta:(NSString *)VLCMetaInformation;
  420. use setMetadata:(NSString *)data forKey:(NSString *)key instead