You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release mostly focuses on metrics and monitoring. It makes it possible to inspect and monitor playback performance, both locally and remotely.
It also improves features associated with playlists, adding looping playback as well as a simpler way to manage items in a playlist at the user interface level.
Metrics
Provide several key metrics during playback (bitrates, stalls, data requests, frame drops, etc.). Current metrics can be queries from PlayerProperties at any time, or obtained periodically using periodicMetricsPublisher(forInterval:queue:limit:).
Receive important events during playback (metadata and asset loading, errors, stalls, etc.) by subscribing to the metricEventsPublisher publisher.
The MetricsCollector observable object lets you easily create metrics visualizations, e.g. using SwiftUI or Swift Charts.
Monitoring
Add PillarboxMonitoring package, offering seamless integration with Pillarbox monitoring platform.
Provide MetricsTracker to automatically collect and send metrics data to Pillarbox monitoring platform.
Tracking
Make trackers easier to implement with reliable access to properties when a tracker is disabled.
Add metrics protocol method to PlayerItemTracker.
Add optional and mandatory behaviors to tracker adapters, letting you control how isTrackingEnabled affects them.
Add support for optional session identifiers, letting you associate an identifier with a tracker, useful to relate data remotely collected by a tracker with an associated local session.
Playlist support
The items of a Player can be simply displayed as a Playlist supporting usual actions (reorder, delete).
A source can be associated to items, making it possible to display any kind of relevant data in a playlist user interface.
Repeated playback of a single item or of an entire playlist can be enabled with the new repeatMode player property.
Miscellaneous improvements
Add date support for streams embedding timestamps. A seek method accepting a date as parameter has been enabled and a date() method has been added to retrieve the current date.
Make smart navigation interval configurable.
Improve server support in CoreBusiness by adding support for custom server URLs and query parameters.
Add Audio Description information to Commanders Act analytics labels.
Add date interval measurement operator to the Core package.
Add stopwatch to the Core package.
Remove Timelane.
Breaking changes
Update PlayerItemTracker protocol method signatures. Implementations can also be made simpler using properties now provided when a tracker is disabled.
PlayerConfiguration navigation mode is now set through a navigationMode property instead of a simple Boolean flag.
Commanders Act and comScore events captured do not require a leading dot anymore.
The player current item is set using currentItem. The index-based currentIndex and setCurrentIndex(_:) APIs have been removed accordingly.
The current time was retrieved from a time property which, for consistency, has been replaced with a time() function.
Fixes
Make User Agent reliable in Commanders Act events.
Demo improvements
Make tvOS Playback HUD, displaying various streaming key metrics, also available on iOS. The HUD can be enabled and customized under the demo Settings tab.
Add metrics debugging view to the main custom player layout, accessible from its settings menu.
Provide more entry options for custom URL and URN entry (token, DRM, server).
Make the custom player slider accessible with VoiceOver.
Add basic keyboard shortcut support.
Add BBC and Mux test streams.
Display metrics session identifier when a failure is encountered while playing SRG SSR content. This makes it possible to relate a playback session to data visualized remotely.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
This release mostly focuses on metrics and monitoring. It makes it possible to inspect and monitor playback performance, both locally and remotely.
It also improves features associated with playlists, adding looping playback as well as a simpler way to manage items in a playlist at the user interface level.
Metrics
PlayerProperties
at any time, or obtained periodically usingperiodicMetricsPublisher(forInterval:queue:limit:)
.metricEventsPublisher
publisher.MetricsCollector
observable object lets you easily create metrics visualizations, e.g. using SwiftUI or Swift Charts.Monitoring
MetricsTracker
to automatically collect and send metrics data to Pillarbox monitoring platform.Tracking
PlayerItemTracker
.isTrackingEnabled
affects them.Playlist support
Player
can be simply displayed as aPlaylist
supporting usual actions (reorder, delete).source
can be associated to items, making it possible to display any kind of relevant data in a playlist user interface.repeatMode
player property.Miscellaneous improvements
date()
method has been added to retrieve the current date.Breaking changes
PlayerItemTracker
protocol method signatures. Implementations can also be made simpler using properties now provided when a tracker is disabled.PlayerConfiguration
navigation mode is now set through anavigationMode
property instead of a simple Boolean flag.currentItem
. The index-basedcurrentIndex
andsetCurrentIndex(_:)
APIs have been removed accordingly.time
property which, for consistency, has been replaced with atime()
function.Fixes
Demo improvements
What's changed
Full Changelog: 2.0.0...3.0.0
This discussion was created from the release Metrics, monitoring and improved playlist support.
Beta Was this translation helpful? Give feedback.
All reactions