Skip to content

Improved Asset Loading

Latest

Choose a tag to compare

@defagos defagos released this 07 Aug 09:21
· 1 commit to main since this release
19.0.0
e75dba7

This release revisits custom asset loading implementation.

Improvements

  • Enabled content key sessions for FairPlay (working as expected in recent iOS releases).
  • Added support for custom HTTP headers when requesting a URN-based player item.
  • Added support for Commanders Act platform and vector identifiers (NUDP).
  • Added media_google_cast to Commanders Act event metadata (always false).
  • Added player language to metrics sent to Pillarbox monitoring.
  • Revisited Commanders Act label priority so that more specific (or specification-related) labels have higher precedence over global labels.
  • Made PlayerItem identifiable for more ergonomic integration with List, most notably when displaying a playlist.
  • Improved Info panel Tab automatic localization key extraction.
  • Made Circumspect expectation publishers work with failable publishers.
  • Added Publisher.fail(onOutputFrom:with:) operator to trigger publisher failure in response to another publisher emitting a value.

Fixes

  • Fixed tvOS chapter Info panel tab memory leak on tvOS 26 (custom implementation mimicking the system user interface).
  • Fixed tvOS Info view action flickering.
  • Fixed Control Center integration on macOS (available since macOS 15).
  • Fixed sometimes erratic progress tracking for DVR streams.

Breaking Changes

  • Revisited AssetLoader protocol to better describe the various steps required for asset and metadata retrieval. Custom implementations should be updated to match the new separation between metadata, asset and player metadata and the associated method signature changes.
  • Added platformIdentifier to the analytics configuration. Follow the associated documentation link to obtain the value associated to your product.
  • Removed PlaybackContext.
  • Removed metadata associated with Asset.
  • Updated PlayerItem URN-based initializer to support optional CommandersActSource instead of a PlaybackContext.
  • Changed EpisodeInformation from enum to struct.
  • Made PlayerMetadata and associated types codable for easy persistence.

Demo Improvements

  • Added scrubbing speeds. Moving the finger vertically when dragging the slider provides access to half-speed, quarter-speed and fine scrubbings, as with the standard iOS player user interface.
  • Added Play+ servers to the list of supported servers. These servers are only used when loading the player, content lists are still delivered by the Integration Layer.
  • Removed content key session opt-in.

Demo Fixes

  • Fixed erratic list animations when navigating SRG SSR content.

What's Changed

  • Add audiovisual background playback policy to the list of known issues by @defagos in #1478
  • Use commit hash for GitHub actions by @waliid in #1479
  • Add negative metrics known issue by @defagos in #1481
  • Bump fastlane from 2.232.2 to 2.233.0 in the gems group by @dependabot[bot] in #1484
  • Add media_google_cast to media events by @defagos in #1483
  • Fix list animations by @defagos in #1486
  • Compare identifiers to determine equality by @defagos in #1488
  • Bump fastlane from 2.233.0 to 2.233.1 in the gems group across 1 directory by @dependabot[bot] in #1489
  • Add language informtion in metrics by @defagos in #1494
  • Bump fastlane from 2.233.1 to 2.234.0 in the gems group by @dependabot[bot] in #1491
  • Bump mikepenz/action-junit-report from 6.4.0 to 6.4.1 in the actions group by @dependabot[bot] in #1493
  • Fix MP3 audio duration when running as iPad app on macOS by @defagos in #1495
  • Support offline metadata persistence by @defagos in #1498
  • Fix macOS Design for iPad crash on older than iOS 18 by @waliid in #1506
  • Bump jwt from 2.10.2 to 2.10.3 by @dependabot[bot] in #1504
  • Bump actions/checkout from 6.0.2 to 6.0.3 in the actions group across 1 directory by @dependabot[bot] in #1505
  • Bump fastlane from 2.234.0 to 2.235.0 in the gems group across 1 directory by @dependabot[bot] in #1497
  • Update Commanders Act to version 5.5.0 available from the official SPM repository by @defagos in #1509
  • Bump fastlane from 2.235.0 to 2.236.0 in the gems group by @dependabot[bot] in #1508
  • Bump actions/checkout from 6.0.3 to 7.0.0 in the actions group by @dependabot[bot] in #1510
  • Bump fastlane from 2.236.0 to 2.236.1 in the gems group by @dependabot[bot] in #1511
  • Add offline support for Core Business URN-based content by @defagos in #1512
  • Bump mikepenz/action-junit-report from 6.4.1 to 6.4.2 in the actions group across 1 directory by @dependabot[bot] in #1514
  • Restore content key session support in Core Business by @defagos in #1522
  • Add offline image persistence for downloads by @waliid in #1526
  • Remove unused code by @waliid in #1527
  • Add creation date to downloads by @waliid in #1528
  • Update comScore to version 6.17.0 by @defagos in #1530
  • Bump faraday from 1.10.5 to 1.10.6 by @dependabot[bot] in #1531
  • Enable offline comScore tracking by @defagos in #1532
  • Fix issues when replaying from a failed state by @defagos in #1534
  • Add support for Play+ endpoints by @defagos in #1525
  • Avoid chapter artwork leak on tvOS 26 by @defagos in #1538
  • Bump fastlane from 2.236.1 to 2.237.0 in the gems group by @dependabot[bot] in #1540
  • Enable prefer_self_in_static_references SwiftLint rule by @defagos in #1539
  • Improve download internal architecture by @waliid in #1542
  • Provide player capabilities when fetching a URN by @defagos in #1537
  • Fix MIME type ordering by @defagos in #1543
  • Remove capabilities sent when fetching a URN by @defagos in #1545
  • Fix dangling files when restarting downloads by @defagos in #1544
  • Preserve metadata when restarting a download by @waliid in #1535
  • Remove superfluous view nesting by @defagos in #1546
  • Add download button for manually entered content by @defagos in #1547
  • Improve download cell UI by @waliid in #1548
  • Simplify download manager constraint type by @waliid in #1549
  • Remove useless download manager by @waliid in #1551
  • Improve URN download subtitle by @defagos in #1550
  • Bump actions/checkout from 7.0.0 to 7.0.1 in the actions group by @dependabot[bot] in #1552
  • Fix SwiftUI list with reference objects by @waliid in #1553
  • Support scrubbing speed adjustments by @defagos in #1554
  • Bump actions/stale from 10 to 11 in the actions group by @dependabot[bot] in #1555
  • Avoid undesired tvOS refreshes by @waliid in #1556
  • Document custom Info view tab recommendations by @defagos in #1558
  • Revisit label priorities / Add Commanders Act platform and vector identifiers by @defagos in #1559
  • Update analytics setup documentation by @defagos in #1560

Full Changelog: 18.0.1...19.0.0