Wasabi ExpressPlay SDK for Desktop Systems
1.23.0
|
Wasabi Playlist Proxy API. More...
Go to the source code of this file.
Data Structures | |
struct | WSB_PlaylistProxy_MediaSourceParams |
Playlist Proxy URL parameters. More... | |
struct | WSB_PlaylistProxy_Event |
Event base class. More... | |
struct | WSB_PlaylistProxy_ErrorNotificationEvent |
Error notification event. More... | |
struct | WSB_PlaylistProxy_EventListener |
This structure pairs a listener instance value with a function pointer for receiving events. More... | |
Macros | |
#define | WSB_PP_FLAG_ENCRYPTED_HLS (1<<0) |
Make Playlist Proxy produce encrypted HLS content. More... | |
#define | WSB_PP_FLAG_AUTH_TOKEN_HEADER (1<<1) |
Make Playlist Proxy require client authentication token in the request HTTP header 'Wasabi-AuthToken'. More... | |
#define | WSB_PP_FLAG_SESSION_KEY (1<<2) |
Enables HLS AES-128 encryption key access through the HLS Key Tag line with a URL served by the Proxy. More... | |
#define | WSB_PP_FLAG_BLOCK_FOR_LICENSE_IMPLICIT (1<<3) |
Instruct proxy not to perform license lookup and evaluation until client requests protected fragments. More... | |
#define | WSB_PP_FLAG_BLOCK_FOR_LICENSE_EXPLICIT (1<<4) |
Instruct proxy not to perform license lookup and evaluation until the application invokes WSB_PlaylistProxy_UnblockForLicense. More... | |
#define | WSB_PP_FLAG_NO_SHORT_URLS (1<<5) |
Disable the mapping of proxy URLs to short URLs. More... | |
#define | WSB_PP_FLAG_ALLOW_EXTERNAL_CLIENT (1<<6) |
Allow HTTP client external to the device. More... | |
#define | WSB_PP_FLAG_FAIRPLAY_ENCRYPTED_HLS (1<<7) |
Make Playlist Proxy produce Fairplay encrypted HLS content. More... | |
#define | WSB_PP_FLAG_DEMUXED_HLS (1<<8) |
Make Playlist Proxy produce Demuxed Clear HLS content. More... | |
Typedefs | |
typedef struct WSB_PlaylistProxy | WSB_PlaylistProxy |
Enumerations | |
enum | WSB_PlaylistProxy_MediaSourceType { WSB_PPMST_SINGLE_FILE, WSB_PPMST_HLS, WSB_PPMST_DASH } |
The media source type: More... | |
enum | WSB_PlaylistProxy_TrackSelector { WSB_PP_TRACK_ANY = 0, WSB_PP_TRACK_BY_ID, WSB_PP_TRACK_BY_INDEX } |
Media track selector mode. More... | |
enum | WSB_PlaylistProxy_LicenseType { WSB_PPLT_NONE, WSB_PPLT_MS3_SURL, WSB_PPLT_BB_TOKEN } |
enum | WSB_PlaylistProxy_EventType { WSB_PPET_ERROR_NOTIFICATION = 0 } |
Event type. More... | |
enum | WSB_PlaylistProxySessionKeyFormat { WSB_PPSKF_CLEAR, WSB_PPSKF_SKB } |
The session key format enum. More... | |
Functions | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_Create (WSB_PlaylistProxy **self) |
Create a playlist proxy instance. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_CreateWithFlags (WSB_UInt32 flags, WSB_PlaylistProxy **self) |
Create a playlist proxy instance with additional behavior selected through the flags. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_CreateWithListener (WSB_UInt32 flags, const WSB_PlaylistProxy_EventListener listener, WSB_PlaylistProxy **self) |
Create a playlist proxy instance with additional behavior selected through the flags and optional event listener that will receive the event callbacks. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_Destroy (WSB_PlaylistProxy *self) |
Destroy a playlist proxy instance. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_Start (WSB_PlaylistProxy *self) |
Start proxy execution. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_UnblockForLicense (WSB_PlaylistProxy *self, WSB_PlaylistProxy_LicenseType type, const void *license_data, WSB_Size license_length) |
Notify the proxy to proceed with license lookup and evaluation. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_Stop (WSB_PlaylistProxy *self) |
Stop proxy execution. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_GetAndClearLastError (WSB_PlaylistProxy *self) |
Return the most recent Wasabi error (if any) detected by the proxy threads and clear it. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_MakeUrl (WSB_PlaylistProxy *self, const char *media_source, WSB_PlaylistProxy_MediaSourceType media_source_type, const WSB_PlaylistProxy_MediaSourceParams *media_source_params, const char **http_url) |
Create an HTTP url that points to the proxy. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_GetAuthToken (WSB_PlaylistProxy *self, char *auth_token, WSB_Size *token_size) |
Obtain the current Playlist Proxy authentication token. More... | |
WSB_EXPORT WSB_Result | WSB_PlaylistProxy_GetSessionKey (WSB_PlaylistProxy *self, WSB_PlaylistProxySessionKeyFormat key_format, WSB_Byte *key, WSB_Size *key_size) |
Obtain the current Playlist Proxy session key. More... | |
Wasabi Playlist Proxy API.
An HLS proxy for Marlin protected content.
An HTTP proxy server providing HLS Playlist and/or clear MPEG2 TS streams for the corresponding Marlin protected DASH, HLS, BBTS and PDCF/M4F streams. An iOS or Android native media player can be pointed to such a proxy with a Playlist URL. Additionally, any other content can be accessed through the Playlist Proxy when packaged as DCF.
NOTE: the BB license or MS3 SAS used with DCF must relax the default Marlin output controls or the content will not be decrypted. This requires the SAS to carry an MS3 extension (of type 'wudo') or a the Marlin Broadband license to indicate a Marlin Broadband output control override (type 'urn:marlin:organization:intertrust:wudo').
The WSB_PlaylistProxy functionality is available on platforms running iOS and Android.