NEWS 9.91 KB
Newer Older
1 2 3 4 5
Version 4.0.0:
--------------
- Rename buildMobileVLCKit to compileAndBuildVLCKit
- Use NSDateComponents API for VLCTime.verboseStringValue

Carola Nitz's avatar
Carola Nitz committed
6
Version 3.1.4:
7 8
--------------
- Added missing VLCMediaParseStatusTimeout to VLCMediaParsedStatus enum
9
- debugLoggingLevel of VLCLibrary defaults to 0 (just errors) when provided with an invalid level
10
- Added VLCMedia initWithStream:(NSInputStream *)stream to create a new VLCMedia object to use an input stream.
11
- Fixed VLCMediaThumbnailer dimensions not being updated after fetching a thumbnail
Carola Nitz's avatar
Carola Nitz committed
12
- Fixed crash when cancelDialog was called on VLCDialogProvider
13

Carola Nitz's avatar
Carola Nitz committed
14 15 16 17 18
Version 3.1.3:
--------------
- Fixed crashes with Chromecast when starting it in the middle of playing streams
- Fixed Audio not resuming after backgrounding

Carola Nitz's avatar
Carola Nitz committed
19 20 21
Version 3.1.2:
--------------
- Fix an issue that led to subtitles not being displayed for mkv files
22 23 24
- h264 low-latency improvements for VideoToolbox
- Improved display of subtitles
- Fix playback issues with certain AVI, MP4 and MKV files
Carola Nitz's avatar
Carola Nitz committed
25

Carola Nitz's avatar
Carola Nitz committed
26 27 28
Version 3.1.1:
--------------
- Drop support for platforms < iOS 8 & < tvOS 10.2
29
- Add transcoding for the Chromecast
Carola Nitz's avatar
Carola Nitz committed
30
- Fix an issue that led to green artifacts in H264 streams
31 32 33
- Fix AVAudioSession handling on tvOS and iOS when playing multiple streams
- Fix OpenGL multithreading issues on macOS
- Updated third party libraries, notably Harfbuzz for security improvements
Carola Nitz's avatar
Carola Nitz committed
34

Carola Nitz's avatar
Carola Nitz committed
35
Version 3.1.0:
36
--------------
Carola Nitz's avatar
Carola Nitz committed
37
- Add API to enable or disable deinterlace and specify a filter
38
- Expose the existing snapshot API of the VLCMediaPlayer class to macOS
Soomin Lee's avatar
Soomin Lee committed
39 40
- Expose yaw, pitch, roll and fov for viewpoint
- Include protobuf, sout, output_http and stream_out modules for Chromecast
41

42 43
Version 3.0.2:
--------------
Carola Nitz's avatar
Carola Nitz committed
44 45
- Automatic reconnections to HTTP(S) servers on unexpected drops on iOS and tvOS
- Fixed deadlock when sent to background
Carola Nitz's avatar
Carola Nitz committed
46 47 48
- Fixed some OpenGL and flv crashes
- Fixed HEVC playback that resulted in just a black screen
- Removal of private API usage by ffmpeg
49

50 51
Version 3.0.0:
--------------
52 53 54
Generic changes:
- Added support for tvOS
- Removed support for the 32bit OS X platform
55
- Added support for audio muting and software volume changes on iOS and tvOS
56

57
New APIs:
58 59 60 61 62 63
- VLCAudio
  - setMuted:

- VLCDialogProvider
  - new class to handle user interaction with VLC events

64 65 66
- VLCLibrary
  - added properties: debugLogging, debugLoggingLevel

67 68 69 70 71 72 73
- VLCMediaDiscoverer
  - added selector: availableMediaDiscovererForCategoryType:
  - added enum: VLCMediaDiscovererCategoryType

- VLCMediaListPlayer
  - added selectors: initWithDrawable:
                     initWithOptions:andDrawable:
74
                     playItemAtNumber:
75

76
- VLCMediaPlayer
Felix Paul Kühne's avatar
Felix Paul Kühne committed
77 78
  - added properties: titleDescriptions, indexOfLongestTitle, numberOfTitles,
                      snapshots, lastSnapshot
79 80
  - added selectors: chaptersForTitleIndex:
                     numberOfChaptersForTitle:
81
                     addPlaybackSlave:type:enforce:
Felix Paul Kühne's avatar
Felix Paul Kühne committed
82
                     updateViewpoint:pitch:roll:fov:absolute:
83
  - added notifications: VLCMediaPlayerTitleChanged, VLCMediaPlayerChapterChanged
84
  - added enum: VLCMediaPlaybackSlaveType
85 86 87
  - Note:
    - play's return type was changed from BOOL to void
    - hue is now a float instead of an integer
88 89 90 91 92 93 94 95
  - WARNING:
    - Return value of the following methods changed from INT_MAX to -1
      (int)currentVideoTrackIndex
      (int)currentVideoSubTitleIndex
      (int)currentChapterIndex
      (int)currentTitleIndex
      (int)currentAudioTrackIndex

96 97 98 99
- VLCMedia
  - added keys: VLCMetaInformationTrackTotal, VLCMetaInformationDirector,
                VLCMetaInformationSeason, VLCMetaInformationEpisode,
                VLCMetaInformationShowName, VLCMetaInformationActors,
Felix Paul Kühne's avatar
Felix Paul Kühne committed
100 101 102
                VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber,
                VLCMediaTracksInformationVideoOrientation,
                VLCMediaTracksInformationVideoProjection
103 104
  - added selectors: codecNameForFourCC:trackType:
                     mediaType
105
                     parseWithOptions:
106 107
                     parseWithOptions:Timeout:
                     parsedStatus
108 109
                     storeCookie:forHost:path:
                     clearStoredCookies
Felix Paul Kühne's avatar
Felix Paul Kühne committed
110 111
  - added enums: VLCMediaType, VLCMediaParsingOptions, VLCMediaParsedStatus,
                 VLCMediaOrientation, VLCMediaProjection
112 113
  - changed behavior: media will no longer be parsed automatically if meta
      data is requested prior to concluded parsing
114

115 116 117 118
- VLCMediaList
  - changed behavior: lists of media objects added through arrays or on init
      are no longer added in reverse order

119 120 121 122
- VLCTime
  - added selectors: isEqual:
                     hash

123 124 125
- VLCAudio
  - added property: passthrough

126 127 128 129 130 131 132 133 134 135
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:

136
Deprecated APIs:
137 138
- VLCAudio
  - setMute:
139
- VLCMedia
140
  - parse, isParsed, synchronousParse
141
- VLCMediaDiscoverer
142
  - availableMediaDiscoverer, localizedName
143
- VLCMediaPlayer
144
  - titles, chaptersForTitleIndex:, countOfTitles, framesPerSecond, openVideoSubTitlesFromFile:
145 146
- VLCMediaListPlayer
  - playItemAtIndex
147 148 149
- VLCStreamSession
- VLCStreamOutput
- VLCMediaLibrary
150

151
Removed APIs:
152 153
- VLCExtension
- VLCExtensionsManager
154 155 156 157 158 159 160
- VLCMedia:
  - fps
  - media:metaValueChangedFrom:forKey:
- VLCMediaPlayer
  - audioTracks
  - videoTracks
  - videoSubTitles
161
- VLCServicesDiscoverer
162
- VLCPlaylistDataSource
163

164 165 166 167 168 169 170
Version 2.2.2:
--------------
New APIs:
- VLCMediaPlayer
  - added properties: numberOfVideoTracks, numberOfSubtitlesTracks
    numberOfAudioTracks

171 172
Version 2.2.0:
--------------
173

Felix Paul Kühne's avatar
Felix Paul Kühne committed
174 175 176
Cross-platform:
- Fixed deinterlacing if requested
- Fixed decoding and display of Teletext-based subtitles
177
- Improved thumbnailing reliability
Felix Paul Kühne's avatar
Felix Paul Kühne committed
178 179 180
- Added support for inclusion in swift projects
- Switched to Automatic Reference Counting
- Various stability improvements
Felix Paul Kühne's avatar
Felix Paul Kühne committed
181 182 183 184 185 186

MobileVLCKit:
- It is finally possible to compile the framework without relying on third
  party scripts
- Added 2 sample projects illustrating video playback
- Added support for https and hls playback
187
- VLCMediaListPlayer is available now
188
- Added support for https connectivity
Felix Paul Kühne's avatar
Felix Paul Kühne committed
189

190 191 192
VLCKit:
- VLCMediaThumbnailer is a public API on the Mac now matching the mobile
  counterpart
Felix Paul Kühne's avatar
Felix Paul Kühne committed
193
- Updated samples projects illustrating playback, file conversation, ...
194

Felix Paul Kühne's avatar
Felix Paul Kühne committed
195 196 197
New APIs:
- VLCMediaThumbnailer:
  - added property: snapshotPosition to overwrite the default
198 199
- VLCMediaListPlayer:
  - added initWithOptions selector matching VLCMediaPlayer's implementation
200
  - added pause selector
201
  - added previous, next and playItemAtIndex selectors
202 203
- VLCMedia:
  - added delegate method mediaMetaDataDidChange
204 205
- VLCMediaPlayer:
  - added equalizer
206
  - added countOfTitles
Felix Paul Kühne's avatar
Felix Paul Kühne committed
207

208 209
Modified API behavior:
- VLCMediaPlayer:
210 211
  - implementing mediaPlayerTimeChanged and mediaPlayerStateChanged within a
    delegate object is optional now
212 213
- VLCMedia:
  - nowPlaying meta information is correctly handled now
214

215 216 217
Deprecated APIs:
- VLCMedia:
  - media:metaValueChangedFrom:forKey:
218

219 220 221 222 223 224
Changes within VLCKit between 2.0.0 and 2.1.0:
----------------------------------------------
The entire framework was relicensed to LGPL 2.1 or later as well as its
underlying playback modules.
Support for transcoding and streaming as well as DVD playback was not affected
by this move and stays under GPL until further notice.
Felix Paul Kühne's avatar
Felix Paul Kühne committed
225 226
Please note that the Objective-C syntax was updated, so VLCKit may no longer
compile with outdated versions of Xcode / clang.
227 228 229 230 231 232 233 234

New APIs:
- VLCStreamOutput:
  - support for subtitle transcoding
- VLCMedia:
  - extended media track information for bitrate, language, description, source
    aspect ratio, source aspect denominator, frame rate, frame rate denominator,
    and text encoding
Felix Paul Kühne's avatar
Felix Paul Kühne committed
235 236
  - added setter and getter for individual meta data values as well as the
    ability to write changes to the media file
237 238 239
  - added (BOOL)isMediaSizeSuitableForDevice to let VLCKit determine whether the
    current media is considered to be suitable for the current device or
    playback is discouraged. Will always return true on OS X devices.
240 241 242
  - added individual getters for all statistic values, so client application can
    fetch single values instead of having to process a NSDictionary with all the
    available values. The old API is still available and will stay.
243 244 245 246 247 248 249
- VLCMediaPlayer:
  - added support to enable, switch and disable video tracks
  - added setter/getter for SPU and audio delays
  - added setter/getter for the video scale factor
  - added support for the "adjust" video filter to manipulate contrast,
    brightness, hue, saturation and gamma on the fly
  - new interfaces to fetch names and IDs of audio, subtitle and video tracks
Felix Paul Kühne's avatar
Felix Paul Kühne committed
250 251 252
  - added the ability to launch instances with custom libvlc options
- VLCLibrary:
  - added the ability to launch instances with custom libvlc options
Felix Paul Kühne's avatar
Felix Paul Kühne committed
253 254
  - added methods to set App ID and User-Agent
  - added readonly property to fetch compiler information
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278

Deprecated APIs:
- VLCMediaPlayer:
  @property (readonly) NSUInteger fps;
    - use (float)fps instead.
  - (NSArray *)videoSubTitles;
    - use - (NSArray *)videoSubtitleNames; instead
  - (NSArray *)audioTracks;
    - use - (NSArray *)audioTrackNames; instead
  - (NSArray *)videoTracks;
    - use - (NSArray *)videoTrackNames; instead

Modified behavior:
- use of clang instead of llvm-gcc-4.2
- updated project file for Xcode 4.3 and later
- iOS Deployment target was raised to iOS 5.1
- dropped support for the PowerPC architecture
- Mac Deployment target was raised to OS X 10.7
- different logging behavior: to see any debug messages, the framework needs
  to be compiled in debug mode

MobileVLCKit features:
- added support for Opus
- slimmed binary by removing dysfunctional or irrelevant modules
Felix Paul Kühne's avatar
Felix Paul Kühne committed
279 280
- screen sleep is prevented during playback
- functionality is strictly limited for full LGPL compliance
281 282 283 284

Removed APIs:
- VLCMedia:
  - (void)setValue:(id)value forMeta:(NSString *)VLCMetaInformation;
Felix Paul Kühne's avatar
Felix Paul Kühne committed
285
    use setMetadata:(NSString *)data forKey:(NSString *)key instead