Releases: SRGSSR/srgmediaplayer-apple
Improved subtitle support
- Subtitle support has been improved (#58):
- The behavior of subtitle selection closely matches the one of the standard system player. Three modes are offered: Off, Automatic and explicit subtitle selection.
- Provided subtitles are properly described in the stream, the current subtitle selection is saved and restored, as for
AVPlayerViewController
.
DVR livestream start fix
- When a livestream with DVR support takes a long time to load (e.g. on slow networks), the stream was incorrectly starting at the beginning of the DVR window, not at its end. This has been fixed.
Documentation update
This release improves project documentation and does not introduce any code change.
iOS 12 SDK compatibility and fix for erratic DVR seeks
- Projects depending on SRG Media Player can now be built with Xcode 10 and the iOS 12 SDK. No playback issues will occur anymore.
- An issue affecting seeks in DVR streams and introduced in version 2.5 has been fixed.
- Framework dependencies were incorrectly embedded in the SRG Media Player Cocoa Touch framework since version 2.5. This issue, which was leading to iTunes Connect rejection when submitting binaries (duplicate binaries), has been fixed.
Fix iTunes Connect binary submission
This release fixes a binary submission issue for applications delivered with bitcode.
Improved time support
- Times (
CMTime
) have been replaced by positions (SRGPosition
) in all playback and seek methods. A position is just a time, but associated with tolerances to be applied when reaching it. For the default position, simply usenil
as position. - The
-seekEfficientlyToTime:withCompletionHandler:
and-seekPreciselyToTime:withCompletionHandler:
methods ofSRGMediaPlayerController
have been removed. Use+[SRGPosition positionAroundTime:]
and+[SRGPosition positionAtTime:]
to create corresponding positions, and use them with-seekToPosition:withCompletionHandler:
instead. - A start position can be provided when playing a segment, or when seeking to it.
- Previously, attempting to play some content at or past its end would start and almost immediately stop playback at the content end, which was making little sense. Attempting to start playback at or past its end now starts playback at the content default position (usually its start).
- An optional tolerance can be defined for the end of a content, using the absolute
endTolerance
and / or its relativeendToleranceRatio
counterpart. If the playback start position falls within the tolerance defined by these values, playback will start at the content default position, as if the content was played after its end. - A typo in AirPlay has been fixed in class and method names, most notably:
SRGAirplayButton
→SRGAirPlayButton
andSRGAirplayView
→SRGAirPlayView
. Do not forget to update instances in storyboards and xib files.- The
SRGAirPlayViewDelegate
protocol and its methods. Be sure to update your code if you were previously implementing one of these delegate methods.
- New
CMTime
andCMTimeRange
macros are available for checking times and ranges. - To mitigate slow application startups usually associated with a large number of dynamic frameworks being used, static framework integration with Carthage 0.30 and above is now supported.
- A Makefile has been added to conveniently build and package the project.
Maintenance release
- This release fixes incorrect URL notification information when an
AVPlayerItem
is played.
Maintenance release
This version updates dependencies the library relies on.
Update with Xcode 9.4
This version modernizes the project with Xcode 9.4.
Improved track titles
The track titles displayed in the subtitles and audio channel selection popover have been improved.