Annex C. API
The method signatures and data structures that comprise the Cross-Platform Extras API are defined in Sections Annex D. thru Annex I. of this document. To facilitate an understanding of the behavior and intended usage of these specifications, an overview of the API and the underlying design principals is first presented in this section of the documentation.
C.1.Overview
The Cross-Platform Extras API is organized into functional groups
-
Package Management: addresses both management of the life-cycle of the package, and access by the package to information regarding the Viewing Environment.
-
Content Access: functions to identify and/or acquire the rights and entitlements to access content as well as the ability to transfer (i.e., download) the content from its current location.
-
Account Access: provides a package the ability to establish the identity of the consumer via a sign-in process and then obtain or modify information specific to the consumer (e.g., preferences, wish lists).
-
Player Interaction: deals with the actual playback of a content file or stream. Methods are provided for obtaining a media player and then directing its operations (i.e., play, pause, trickplay, etc.).
-
Social Networking: deals with the use of social media accounts to interact with a larger community via posts, likes, and similar mechanisms.
-
Enhancements: functionality that is considered optional. The API therefore provides the package with the ability to query the framework to determine which specific capabilities are provided.
Each of the following sections provides details for one these API groups.
C.2.API Applicability
The following table indicates which APIs are required for implementation.
Mandatory (“M”) APIs that must be implemented by the Framework or Package as indicated.
Optional (“O”) APIs are strongly recommended for the Framework to ensure all Package features can be used with that Framework. For the Package, optional APIs are implemented as necessary to support features of the Package’s experience. Framework implementers may decide bilaterally with Package implementers that certain optional APIs must be implemented.
Some APIs are not applicable (‘N/A’) to the Package and are marked accordingly.
An interface is provided in the Package Management Group to determine which API Subgroups are implemented.
Group
|
Subgroup
|
Framework API
|
Framework Events
|
Package
|
Package Management
|
Lifecycle
|
M
|
N/A
|
M
|
Connectivity
|
O
|
N/A
|
O
|
Environment
|
O
|
N/A
|
O
|
Content Access
|
Availability
|
M
|
M
|
N/A
|
Access Event
|
M
|
N/A
|
M
|
Download
|
O
|
N/A [note 1]
|
N/A
|
Account Access
|
Basic
|
M
|
M
|
N/A
|
Account Event
|
M
|
N/A
|
M
|
Player Interaction
|
Lifecycle
|
M
|
M
|
N/A
|
Basic
|
M
|
M
|
N/A
|
Trickplay
|
O
|
M [note 2]
|
N/A
|
Controls
|
O
|
M [note 2]
|
N/A
|
Sound
|
O
|
M [note 2]
|
N/A
|
Player Event
|
M
|
N/A
|
M
|
Geometry
|
M
|
M
|
N/A
|
Social Networking
|
Sharing
|
O
|
O [note 3]
|
N/A
|
Social Event
|
M
|
N/A
|
M
|
Enhancements
|
Wishlists
|
O
|
N/A
|
N/A
|
Bookmarks
|
O
|
N/A
|
N/A
|
Package History
|
O
|
N/A
|
N/A
|
Notes:
-
Download events are signaled using the StatusDescriptor completion codes. See Section D.4.2
-
Frameworks must be prepared to notify a Package of these events when they are the result of the Consumer using the Player’s internal control UI. Event support is therefore MANDATORY even for Frameworks that do not expose this portion of the API to the Package.
-
Frameworks that implement the Sharing subgroup must also support the related events.
Share with your friends: |