Skip to content

Releases: SRGSSR/srgmediaplayer-apple

Control fixes

08 May 15:14
Compare
Choose a tag to compare
  • The SRGTimeSlider borderColor property has been removed, as having a border color was never really useful (sliders with a border color were ultimately ugly). All tracks (elapsed time, remaining time and buffer) are now drawn equally thick and with pixel-perfect precision. The track thickness can be controlled with the new trackThickness property.
  • The intrinsic content size of all controls is now correct.
  • When entering picture in picture, the picture in picture button does not toggle erratically between states anymore.

Intrinsic content size fixes

25 Apr 14:31
Compare
Choose a tag to compare
  • The intrinsic content size of overlay views has been fixed.

Maintenance release

13 Apr 12:42
Compare
Choose a tag to compare

This version modernises the project with Xcode 9.3.

Image customization fixes

23 Mar 17:30
Compare
Choose a tag to compare
  • Custom control images could previously be directly set in Interface Builder for properties marked with the IBInspectable attribute. Support for inspectable image properties (and more widely for user-defined image runtime attributes) was recently discovered to be buggy, though. When setting images through inspectable properties or user-defined runtime attributes, this problem can lead to incorrect image sizes, broken Interface Builder previews and constraint issues at runtime.

    Inspectable attributes have therefore been dropped for all SRG Media Player controls until this issue has been fixed by Apple. This includes SRGAirplayButton, SRGPictureInPictureButton, SRGPlaybackButton, SRGTracksButton and SRGViewModeButton.

    Existing applications which were setting image properties in code will continue to work, but should now set images in code for reliable behavior. We recommend you update your codebase as follows:

    • Open xibs or storyboards containing a control for which an image was set in Interface Builder (see above list).
    • Open the 3rd tab (identity inspector) of the utility panel (⌥⌘0) and look at image-related user-defined runtime attributes.
    • Set these image properties directly in your implementation file (you might need to bind a related outlet if you did not have one).
    • In Interface Builder, clear these user-defined runtime attributes.
  • The time slider class provided the valueString and timeLeftValueString properties, which were misleading and not really useful.

  • New methods have been added to the SRGTimeSliderDelegate protocol to let you fully customize how current and remaining times are displayed (as well as the underlying accessibility labels if needed):

  • On iOS 11, seeking to the end of a media does not leave the player in an inconsistent state anymore.

Segment transition fix

22 Jan 17:45
Compare
Choose a tag to compare
  • When updating the list of segments attached to a controller, segment transitions are correctly inhibited in the case where a segment is replaced with an equivalent one.

Maintenance release

15 Dec 20:16
Compare
Choose a tag to compare
  • The stream type is now correctly reported as SRGMediaPlayerStreamTypeUnknown when preparing to play a media (it was previously incorrectly reported as SRGMediaPlayerStreamTypeLive).
  • The 360° playback view is now correctly hidden when casting with AirPlay.
  • The 360° default icon has been updated.

360° video support

12 Dec 17:48
Compare
Choose a tag to compare

Support for 360° video playback has been added. The SRGMediaPlayerView class now has an additional viewMode property, which lets you choose how a media should be rendered:

  • Flat: Normal playback.
  • Monoscopic: 360° full-frame video playback.
  • Stereoscopic: 360° split-frame video playback for use with headsets.

A new SRGViewModeButton overlay button has been added as well to automatically provide users with a quick way to switch between supported modes.

360° content navigation responds both to device motions as well as pan gestures. If your application currently uses no Core Motion tracker, SRG Media Player will silently instantiate one for you. If your application readily uses a Core Motion tracker, use the new -[SRGMediaPlayerView setMotionManager:] method to use it for 360° video navigation as well.

Segments / user info updates during playback and iPhone X support

27 Oct 21:18
Compare
Choose a tag to compare

This releases makes it possible to update segment and user info during playback. Previously, this information could only be provided when starting playback. Simply set the segments or userInfo properties with the updated values when appropriate.

SRGMediaPlayerViewController was also updated for iPhone X compatibility. Its layout is now inspired by AVPlayerViewController layout, though not meant to be a pixel-perfect alternative at the moment.

Maintenance release

14 Sep 15:28
Compare
Choose a tag to compare
  • The current time can now be obtained from the controller. Accessing the underlying AVPlayer is not required anymore.
  • Minor internal improvements.

Audio playback startup improvements

28 Aug 09:00
Compare
Choose a tag to compare
  • Fixed slow playback startup for audios served over HTTP (on iOS 10).
  • The media player controller now broadcasts richer information in notifications, see SRGMediaPlayerConstants.h.
  • Improved AirPlay button reliability.
  • Added bufferingTrackColor property to set the buffering slider track color independently of its border color.
  • Added seekStartTime and seekTargetTime media player controller properties.
  • Improved media player view controller user interface behavior.