Skip to content
Snippets Groups Projects
NEWS 11 KiB
Newer Older
Version 4.0.0:
--------------
- Rename buildMobileVLCKit to compileAndBuildVLCKit
- Use NSDateComponents API for VLCTime.verboseStringValue

Version 3.2.0:
--------------
- Enabled libmux module
Carola's avatar
Carola committed
- 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
Soomin Lee's avatar
Soomin Lee committed
- 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;

Carola's avatar
Carola committed
- new Transcoder Class and API
VLCTranscoderDelegate:
	- (void)transcode:(VLCTranscoder *)transcoder finishedSucessfully:(BOOL)success;
VLCTranscoder:
	- (BOOL)reencodeAndMuxSRTFile:(NSString *)srtPath toMP4File:(NSString *)mp4Path outputPath:(NSString *)outPath




Carola's avatar
Carola committed
Version 3.1.5:
--------------
- Fixed a crash when updateProgressCallback was called
- Fixed an issue with authentification for certain HTTP streams

Carola's avatar
Carola committed
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
Carola's avatar
Carola committed
- Fixed crash when cancelDialog was called on VLCDialogProvider
Carola's avatar
Carola committed
Version 3.1.3:
--------------
- Fixed crashes with Chromecast when starting it in the middle of playing streams
- Fixed Audio not resuming after backgrounding

Carola's avatar
Carola committed
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
Carola's avatar
Carola committed

Carola's avatar
Carola committed
Version 3.1.1:
--------------
- Drop support for platforms < iOS 8 & < tvOS 10.2
- Add transcoding for the Chromecast
Carola's avatar
Carola committed
- 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
Carola's avatar
Carola committed

Carola's avatar
Carola committed
Version 3.1.0:
Carola's avatar
Carola committed
- Add API to enable or disable deinterlace and specify a filter
- Expose the existing snapshot API of the VLCMediaPlayer class to macOS
Soomin Lee's avatar
Soomin Lee committed
- Expose yaw, pitch, roll and fov for viewpoint
- Include protobuf, sout, output_http and stream_out modules for Chromecast
Carola's avatar
Carola committed
- Automatic reconnections to HTTP(S) servers on unexpected drops on iOS and tvOS
- Fixed deadlock when sent to background
Carola's avatar
Carola committed
- 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
- 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:
Felix Paul Kühne's avatar
Felix Paul Kühne committed
  - added properties: titleDescriptions, indexOfLongestTitle, numberOfTitles,
                      snapshots, lastSnapshot
  - added selectors: chaptersForTitleIndex:
                     numberOfChaptersForTitle:
                     addPlaybackSlave:type:enforce:
Felix Paul Kühne's avatar
Felix Paul Kühne committed
                     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,
Felix Paul Kühne's avatar
Felix Paul Kühne committed
                VLCMetaInformationAlbumArtist, VLCMetaInformationDiscNumber,
                VLCMediaTracksInformationVideoOrientation,
                VLCMediaTracksInformationVideoProjection
  - added selectors: codecNameForFourCC:trackType:
                     mediaType
                     parseWithOptions:Timeout:
                     parsedStatus
                     storeCookie:forHost:path:
                     clearStoredCookies
Felix Paul Kühne's avatar
Felix Paul Kühne committed
  - 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:

- VLCMedia
  - parse, isParsed, synchronousParse
  - availableMediaDiscoverer, localizedName
- VLCMediaPlayer
  - titles, chaptersForTitleIndex:, countOfTitles, framesPerSecond, openVideoSubTitlesFromFile:
- VLCStreamSession
- VLCStreamOutput
- VLCMediaLibrary
- VLCExtension
- VLCExtensionsManager
- VLCMedia:
  - fps
  - media:metaValueChangedFrom:forKey:
- VLCMediaPlayer
  - audioTracks
  - videoTracks
  - videoSubTitles
Version 2.2.2:
--------------
New APIs:
- VLCMediaPlayer
  - added properties: numberOfVideoTracks, numberOfSubtitlesTracks
    numberOfAudioTracks

Version 2.2.0:
--------------
Felix Paul Kühne's avatar
Felix Paul Kühne committed
Cross-platform:
- Fixed deinterlacing if requested
- Fixed decoding and display of Teletext-based subtitles
- Improved thumbnailing reliability
Felix Paul Kühne's avatar
Felix Paul Kühne committed
- 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

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
- Added support for https connectivity
Felix Paul Kühne's avatar
Felix Paul Kühne committed

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
- Updated samples projects illustrating playback, file conversation, ...
Felix Paul Kühne's avatar
Felix Paul Kühne committed
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
Felix Paul Kühne's avatar
Felix Paul Kühne committed

  - 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.
Felix Paul Kühne's avatar
Felix Paul Kühne committed
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
Felix Paul Kühne's avatar
Felix Paul Kühne committed
  - 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
Felix Paul Kühne's avatar
Felix Paul Kühne committed
  - 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
  - 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
Felix Paul Kühne's avatar
Felix Paul Kühne committed
- screen sleep is prevented during playback
- functionality is strictly limited for full LGPL compliance

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