Skip to content

Improved time support

Compare
Choose a tag to compare
@defagos defagos released this 11 Sep 08:44
· 1017 commits to master since this release
  • 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 use nil as position.
  • The -seekEfficientlyToTime:withCompletionHandler: and -seekPreciselyToTime:withCompletionHandler: methods of SRGMediaPlayerController 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 relative endToleranceRatio 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:
    • SRGAirplayButtonSRGAirPlayButton and SRGAirplayViewSRGAirPlayView. 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 and CMTimeRange 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.

⚠️This version has known issues when compiling with the iOS 12 SDK. Until these issues have been fixed, please compile your application with the iOS 11 SDK (which will then run fine on iOS 12).