NEWS 8.28 KB
Newer Older
1 2
Version 3.0.2:
--------------
Carola Nitz's avatar
Carola Nitz committed
3 4
- 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
5 6 7
- Fixed some OpenGL and flv crashes
- Fixed HEVC playback that resulted in just a black screen
- Removal of private API usage by ffmpeg
8

9 10
Version 3.0.0:
--------------
11 12 13
Generic changes:
- Added support for tvOS
- Removed support for the 32bit OS X platform
14
- Added support for audio muting and software volume changes on iOS and tvOS
15

16
New APIs:
17 18 19 20 21 22
- VLCAudio
  - setMuted:

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

23 24 25
- VLCLibrary
  - added properties: debugLogging, debugLoggingLevel

26 27 28 29 30 31 32
- VLCMediaDiscoverer
  - added selector: availableMediaDiscovererForCategoryType:
  - added enum: VLCMediaDiscovererCategoryType

- VLCMediaListPlayer
  - added selectors: initWithDrawable:
                     initWithOptions:andDrawable:
33
                     playItemAtNumber:
34

35
- VLCMediaPlayer
Felix Paul Kühne's avatar
Felix Paul Kühne committed
36 37
  - added properties: titleDescriptions, indexOfLongestTitle, numberOfTitles,
                      snapshots, lastSnapshot
38 39
  - added selectors: chaptersForTitleIndex:
                     numberOfChaptersForTitle:
40
                     addPlaybackSlave:type:enforce:
Felix Paul Kühne's avatar
Felix Paul Kühne committed
41
                     updateViewpoint:pitch:roll:fov:absolute:
42
  - added notifications: VLCMediaPlayerTitleChanged, VLCMediaPlayerChapterChanged
43
  - added enum: VLCMediaPlaybackSlaveType
44 45 46
  - Note:
    - play's return type was changed from BOOL to void
    - hue is now a float instead of an integer
47 48 49 50 51 52 53 54
  - WARNING:
    - Return value of the following methods changed from INT_MAX to -1
      (int)currentVideoTrackIndex
      (int)currentVideoSubTitleIndex
      (int)currentChapterIndex
      (int)currentTitleIndex
      (int)currentAudioTrackIndex

55 56 57 58
- VLCMedia
  - added keys: VLCMetaInformationTrackTotal, VLCMetaInformationDirector,
                VLCMetaInformationSeason, VLCMetaInformationEpisode,
                VLCMetaInformationShowName, VLCMetaInformationActors,
Felix Paul Kühne's avatar
Felix Paul Kühne committed
59 60 61
                VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber,
                VLCMediaTracksInformationVideoOrientation,
                VLCMediaTracksInformationVideoProjection
62 63
  - added selectors: codecNameForFourCC:trackType:
                     mediaType
64
                     parseWithOptions:
65 66
                     parseWithOptions:Timeout:
                     parsedStatus
67 68
                     storeCookie:forHost:path:
                     clearStoredCookies
Felix Paul Kühne's avatar
Felix Paul Kühne committed
69 70
  - added enums: VLCMediaType, VLCMediaParsingOptions, VLCMediaParsedStatus,
                 VLCMediaOrientation, VLCMediaProjection
71 72
  - changed behavior: media will no longer be parsed automatically if meta
      data is requested prior to concluded parsing
73

74 75 76 77
- VLCMediaList
  - changed behavior: lists of media objects added through arrays or on init
      are no longer added in reverse order

78 79 80 81
- VLCTime
  - added selectors: isEqual:
                     hash

82 83 84
- VLCAudio
  - added property: passthrough

85 86 87 88 89 90 91 92 93 94
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:

95
Deprecated APIs:
96 97
- VLCAudio
  - setMute:
98
- VLCMedia
99
  - parse, isParsed, synchronousParse
100
- VLCMediaDiscoverer
101
  - availableMediaDiscoverer, localizedName
102
- VLCMediaPlayer
103
  - titles, chaptersForTitleIndex:, countOfTitles, framesPerSecond, openVideoSubTitlesFromFile:
104 105
- VLCMediaListPlayer
  - playItemAtIndex
106 107 108
- VLCStreamSession
- VLCStreamOutput
- VLCMediaLibrary
109

110
Removed APIs:
111 112
- VLCExtension
- VLCExtensionsManager
113 114 115 116 117 118 119
- VLCMedia:
  - fps
  - media:metaValueChangedFrom:forKey:
- VLCMediaPlayer
  - audioTracks
  - videoTracks
  - videoSubTitles
120
- VLCServicesDiscoverer
121
- VLCPlaylistDataSource
122

123 124 125 126 127 128 129
Version 2.2.2:
--------------
New APIs:
- VLCMediaPlayer
  - added properties: numberOfVideoTracks, numberOfSubtitlesTracks
    numberOfAudioTracks

130 131
Version 2.2.0:
--------------
132

Felix Paul Kühne's avatar
Felix Paul Kühne committed
133 134 135
Cross-platform:
- Fixed deinterlacing if requested
- Fixed decoding and display of Teletext-based subtitles
136
- Improved thumbnailing reliability
Felix Paul Kühne's avatar
Felix Paul Kühne committed
137 138 139
- 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
140 141 142 143 144 145

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
146
- VLCMediaListPlayer is available now
147
- Added support for https connectivity
Felix Paul Kühne's avatar
Felix Paul Kühne committed
148

149 150 151
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
152
- Updated samples projects illustrating playback, file conversation, ...
153

Felix Paul Kühne's avatar
Felix Paul Kühne committed
154 155 156
New APIs:
- VLCMediaThumbnailer:
  - added property: snapshotPosition to overwrite the default
157 158
- VLCMediaListPlayer:
  - added initWithOptions selector matching VLCMediaPlayer's implementation
159
  - added pause selector
160
  - added previous, next and playItemAtIndex selectors
161 162
- VLCMedia:
  - added delegate method mediaMetaDataDidChange
163 164
- VLCMediaPlayer:
  - added equalizer
165
  - added countOfTitles
Felix Paul Kühne's avatar
Felix Paul Kühne committed
166

167 168
Modified API behavior:
- VLCMediaPlayer:
169 170
  - implementing mediaPlayerTimeChanged and mediaPlayerStateChanged within a
    delegate object is optional now
171 172
- VLCMedia:
  - nowPlaying meta information is correctly handled now
173

174 175 176
Deprecated APIs:
- VLCMedia:
  - media:metaValueChangedFrom:forKey:
177

178 179 180 181 182 183
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
184 185
Please note that the Objective-C syntax was updated, so VLCKit may no longer
compile with outdated versions of Xcode / clang.
186 187 188 189 190 191 192 193

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
194 195
  - added setter and getter for individual meta data values as well as the
    ability to write changes to the media file
196 197 198
  - 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.
199 200 201
  - 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.
202 203 204 205 206 207 208
- 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
209 210 211
  - 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
212 213
  - added methods to set App ID and User-Agent
  - added readonly property to fetch compiler information
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237

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
238 239
- screen sleep is prevented during playback
- functionality is strictly limited for full LGPL compliance
240 241 242 243

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