Improved support for long playlists
Pre-release
Pre-release
This release improves support for long playlists.
Improved support for long playlists
Prior to this version Pillarbox player was eagerly loading all items in a playlists. This was leading to unnecessary metadata retrieval (potentially including artworks) as well as potential player hangs, most notably with MP3 playlists.
To solve these issues Pillarbox player now only loads two items at any given time. This still ensures that content can be preloaded in advance during normal playback, ensuring gapless playback when possible, while minimizing resource waste and avoiding performance issues.
Improvements
- Display metadata in the
SystemVideoView
. - Stop playback on failed items in playlists.
- Ensure all skips are non-smooth.
- Optimized threads created by SRG SSR standard trackers.
- Ensure common unique identifiers with Letterbox and Pillarbox versions that were running Commanders Act SDK version 4.
- Provide specific analytics device information for iPad applications run on macOS.
Fixes
- Make it possible to restart playback of items whose metadata delivery failed.
- Avoid undesired layer animations when resizing the video view.
- Fix Swift Package Index documentation generation.
Breaking changes
- Rename
isRunning
asshouldPlay
.
Demo improvements
- Add long-press gesture to enable high-speed playback.
- Update Pillarbox web demo link.
Demo fixes
- Fix monoscopic content display in playlist demos.
- Fix page views incorrectly sent during scrolling.
What's changed
- Eliminate undesired layer animations by @waliid in #726
- Extend layout past the safe area by @defagos in #727
- Rename isRunning as shouldPlay by @defagos in #732
- Make all skips consistently non-smooth by @defagos in #731
- Fix replay behavior with unconsumed failed items by @defagos in #734
- Update start time example for consistency with other platforms by @defagos in #733
- Add metadata to the system player by @waliid in #735
- Avoid sending several page views to the analytics by @waliid in #737
- Avoid starting from an incorrect position in terms of analytics by @waliid in #739
- Update SwiftLint to version 0.54.0 by @defagos in #741
- Fix pre-commit hook by @defagos in #742
- Document how to trust plugins in a continuous integration setup by @defagos in #740
- Avoid unnecessary thread creation by item trackers by @defagos in #743
- Fix comScore test flakiness by @waliid in #744
- Increase playback speed during a long press gesture by @waliid in #746
- Use common Commanders Act unique identifier between v4 and v5 by @defagos in #752
- Support desktop as navigation device by @defagos in #751
- Update data provider to version 19.0.0 by @defagos in #755
- Fix unresponsive AirPlay button by @waliid in #754
- Fix incorrect navigation title by @defagos in #758
- Fix Swift Package Index documentation generation by @defagos in #759
- Update links for web player and demo by @defagos in #761
- Disable high speed gesture for monoscopic content by @defagos in #762
- Fix monoscopic support in playlists by @defagos in #763
- Remove web player link by @defagos in #765
- Improve support for long playlists by @defagos in #766
Full Changelog: 0.9.0...0.10.0