forked from videolan/vlckit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
376 lines (326 loc) · 12.8 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
Version 4.0.0:
--------------
- Rename buildMobileVLCKit to compileAndBuildVLCKit
- Use NSDateComponents API for VLCTime.verboseStringValue
Version 3.3.2:
--------------
- Internal percent encoding handling of URLs within VLCMedia was removed. This fixes a bug where URLs ended up double encoded.
/!\ This change might require changes to client Apps to ensure that their URLs are correctly percent encoded when initialising VLCMedia /!\
- access:
- rdp: Fix URI parsing
- vnc: Fix URI parsing
- live555: Fix crash parsing H264
- demux:
- hls: Disable webvtt
- mp4: Add sample overread check for non seekable case
Probe fragments on missing duration
Ignore indirect index references for seek
Pack sidx items
- ts: Fix broken var reading
- mux:
- mp4: Fix tkdh visible values
Set visible dimensions in stsd instead of buffer
- contribs:
- Bump dav1d to 0.3.0
Version 3.3.1:
--------------
- Lower SMB 2 priority
- transcode: Fix transcode with passthrough video
- asf: Fix memory leak
- demux:
- dash: Handle infinite repeat in timeline
- mkv: Fix playback of files created with lavf 58.12
- sftp: Fix version for ECDSA known hosts
- contribs:
- Bump dav1d to 0.2.1
Version 3.3.0:
--------------
- Add SMB 2 support
- VLCMediaList: Fix removeMediaAtIndex NSRangeException crash
- mp4: Improve muxing & demuxing
- ogg: Improve demuxing
- mkv: Fix GotoAndPlay command uid conversion
- avcodec: Fix missing FourCC in libav
- microdns: Fix memory leak
API Changes:
VLCMediaList:
- indexOfMedia Returns NSUInteger instead of NSInteger
- removeMediaAtIndex Returns BOOL instead of void
Version 3.2.1:
--------------
- Added a new default AV1 decoder - dav1d
- Fixed issues with decoding certain HEVC streams
- Added API to VLCLibrary to log debug information to a file or a custom target
- Fixed crash and leaks in our OpenGL based video output
- Fixed chromecast not displaying Videos for certain devices
Version 3.2.0:
--------------
- Enabled libmux module
- Fixed a bug where debuglogging logged less than what the loglevel indicated
- Fixed a bug where subtitles where not displayed by default on iOS
- Fixed a crash when playing back mkv on iOS 12
- API Changes:
- updateProgressWithReference:message:postion: to updateProgressWithReference:message:position:
- new recording Api
VLCMediaPlayerDelegate:
- (void)mediaPlayerStartedRecording:(VLCMediaPlayer *)player;
- (void)mediaPlayer:(VLCMediaPlayer *)player recordingStoppedAtPath:(NSString *)path;
VLCMediaPlayer:
- (BOOL)startRecordingAtPath:(NSString *)path;
- (BOOL)stopRecording;
- new Transcoder Class and API
VLCTranscoderDelegate:
- (void)transcode:(VLCTranscoder *)transcoder finishedSucessfully:(BOOL)success;
VLCTranscoder:
- (BOOL)reencodeAndMuxSRTFile:(NSString *)srtPath toMP4File:(NSString *)mp4Path outputPath:(NSString *)outPath
Version 3.1.5:
--------------
- Fixed a crash when updateProgressCallback was called
- Fixed an issue with authentification for certain HTTP streams
Version 3.1.4:
--------------
- Added missing VLCMediaParseStatusTimeout to VLCMediaParsedStatus enum
- debugLoggingLevel of VLCLibrary defaults to 0 (just errors) when provided with an invalid level
- Added VLCMedia initWithStream:(NSInputStream *)stream to create a new VLCMedia object to use an input stream.
- Fixed VLCMediaThumbnailer dimensions not being updated after fetching a thumbnail
- Fixed crash when cancelDialog was called on VLCDialogProvider
Version 3.1.3:
--------------
- Fixed crashes with Chromecast when starting it in the middle of playing streams
- Fixed Audio not resuming after backgrounding
Version 3.1.2:
--------------
- Fix an issue that led to subtitles not being displayed for mkv files
- h264 low-latency improvements for VideoToolbox
- Improved display of subtitles
- Fix playback issues with certain AVI, MP4 and MKV files
Version 3.1.1:
--------------
- Drop support for platforms < iOS 8 & < tvOS 10.2
- Add transcoding for the Chromecast
- Fix an issue that led to green artifacts in H264 streams
- 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
Version 3.1.0:
--------------
- Add API to enable or disable deinterlace and specify a filter
- Expose the existing snapshot API of the VLCMediaPlayer class to macOS
- Expose yaw, pitch, roll and fov for viewpoint
- Include protobuf, sout, output_http and stream_out modules for Chromecast
Version 3.0.2:
--------------
- Automatic reconnections to HTTP(S) servers on unexpected drops on iOS and tvOS
- Fixed deadlock when sent to background
- Fixed some OpenGL and flv crashes
- Fixed HEVC playback that resulted in just a black screen
- Removal of private API usage by ffmpeg
Version 3.0.0:
--------------
Generic changes:
- Added support for tvOS
- Removed support for the 32bit OS X platform
- Added support for audio muting and software volume changes on iOS and tvOS
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
Version 2.2.2:
--------------
New APIs:
- VLCMediaPlayer
- added properties: numberOfVideoTracks, numberOfSubtitlesTracks
numberOfAudioTracks
Version 2.2.0:
--------------
Cross-platform:
- Fixed deinterlacing if requested
- Fixed decoding and display of Teletext-based subtitles
- Improved thumbnailing reliability
- Added support for inclusion in swift projects
- Switched to Automatic Reference Counting
- Various stability improvements
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
- VLCMediaListPlayer is available now
- Added support for https connectivity
VLCKit:
- VLCMediaThumbnailer is a public API on the Mac now matching the mobile
counterpart
- Updated samples projects illustrating playback, file conversation, ...
New APIs:
- VLCMediaThumbnailer:
- added property: snapshotPosition to overwrite the default
- VLCMediaListPlayer:
- added initWithOptions selector matching VLCMediaPlayer's implementation
- added pause selector
- added previous, next and playItemAtIndex selectors
- VLCMedia:
- added delegate method mediaMetaDataDidChange
- VLCMediaPlayer:
- added equalizer
- added countOfTitles
Modified API behavior:
- VLCMediaPlayer:
- implementing mediaPlayerTimeChanged and mediaPlayerStateChanged within a
delegate object is optional now
- VLCMedia:
- nowPlaying meta information is correctly handled now
Deprecated APIs:
- VLCMedia:
- media:metaValueChangedFrom:forKey:
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.
Please note that the Objective-C syntax was updated, so VLCKit may no longer
compile with outdated versions of Xcode / clang.
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
- added setter and getter for individual meta data values as well as the
ability to write changes to the media file
- 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.
- 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.
- 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
- added the ability to launch instances with custom libvlc options
- VLCLibrary:
- added the ability to launch instances with custom libvlc options
- added methods to set App ID and User-Agent
- added readonly property to fetch compiler information
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
- screen sleep is prevented during playback
- functionality is strictly limited for full LGPL compliance
Removed APIs:
- VLCMedia:
- (void)setValue:(id)value forMeta:(NSString *)VLCMetaInformation;
use setMetadata:(NSString *)data forKey:(NSString *)key instead