Skip to content

Audio tracks, subtitles and user consent

Pre-release
Pre-release
Compare
Choose a tag to compare
@defagos defagos released this 18 Sep 08:20
· 317 commits to main since this release
67a4367

This release adds support for audio tracks and subtitles.

Audio tracks and subtitles

  • Add media selection APIs to retrieve available and selected audio tracks and subtitles or to change the current selection.
  • Display forced subtitles when available.
  • Automatically prefer tracks intended for Audio Description and SDH & CC depending on device accessibility settings.
  • Override media selection programmatically.
  • Override subtitle text style programmatically (WebVTT only).
  • Provide standard menu for audio tracks and subtitles.

Global analytics labels and user consent support

  • You can optionally provide an AnalyticsDataSource when starting Analytics. This data source can be used to deliver global labels in all comScore and Commanders Act events.
  • User consent can be provided in comScore and Commanders Act global labels.

Breaking changes

  • The restart and canRestart APIs have been renamed as replay and canReplay respectively. These APIs now always resume playback if needed.

Miscellaneous improvements

  • Prevent playback of content containing at least a blocked segment.
  • Improve automatic visibility management.
  • Improve SRG SSR resource resolution to prefer HLS streams when available, most notably for SWI content.
  • Add playbackSpeed binding API.
  • Provide playback speed selection in standard menu API.
  • Remove unused Diagnostics and UserInterface packages.
  • Remove unused Google Cast SDK dependency.

Fixes

  • Fix playback crashing when seeking near the end of some streams.
  • Always send uptime to Commanders Act for livestreams, no matter the offset from the live edge.
  • Fix player leak on tvOS.
  • Fix never-ending slider interactions.
  • Retrieve SRG SSR metadata on a device basis (vector).
  • Fix unplayable RTS audio content.

What's Changed

  • Update CI documentation for reliable git-describe results by @defagos in #497
  • Generate local stream for subtitles and audio tracks by @waliid in #498
  • Add support for subtitles and audio tracks by @defagos in #516
  • Reduce stale bot threshold by @defagos in #517
  • Retrieve media composition specific to supported vectors by @defagos in #519
  • Avoid sound playing for a short while after system player UI dismissal on tvOS by @defagos in #522
  • Add WWDC Keynote stream to examples by @defagos in #525
  • Keep user interface visible when seeking within an audio by @defagos in #527
  • Properly ensure menu item ordering by @defagos in #529
  • Always send uptime for livestreams by @defagos in #531
  • Replace deprecated stale bot with maintained one by @defagos in #530
  • Use view modifiers where appropriate by @defagos in #532
  • Show user interface when returning to the foreground while not playing by @defagos in #526
  • Fix neverending custom slider interactions by @defagos in #528
  • Add support for forced subtitles by @defagos in #533
  • Show user interface when playback is paused by @defagos in #535
  • Add SDH and CC support by @defagos in #536
  • Update correctly subtitle selection by @waliid in #538
  • Update advice about automatic audio rendition selection by @defagos in #539
  • Enhancing the media selection options by @waliid in #544
  • Update YouTubeKit by @waliid in #543
  • Support subtitle appearance customization by @defagos in #545
  • Improve default language ordering by @waliid in #546
  • Add priority on supported streaming methods by @waliid in #547
  • Reset media selection context when no item is being played by @defagos in #549
  • Make efficient seeks near the end of the available range safe by @waliid in #550
  • Rename restart API as replay by @defagos in #551
  • Add audio tracks and subtitles analytics by @waliid in #552
  • Fix media composition parsing by @waliid in #554
  • Use page name instead of content title for Commanders Act by @waliid in #557
  • Prevent any chapter from being played if one of its segments is blocked by @defagos in #558
  • Add support for user consent by @waliid in #561
  • Cleanup unused packages and dependencies by @defagos in #565
  • Use Commanders Act debug source key in unit tests by @defagos in #563
  • Revisit menu API by @defagos in #570
  • Update for Xcode 15 and iOS / tvOS 17 support by @defagos in #569

Full Changelog: 0.5.1...0.6.0