Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
WsbPlaybackEnabler.h
Go to the documentation of this file.
1 /*****************************************************************
2 |
3 | Wasabi - Playback Enabler API
4 |
5 | $Id: WsbPlaybackEnabler.h 10793 2014-06-25 12:46:08Z jebaseelir $
6 | Original author: Julien Boeuf
7 |
8 | This software is provided to you pursuant to your agreement
9 | with Intertrust Technologies Corporation ("Intertrust").
10 | This software may be used only in accordance with the terms
11 | of the agreement.
12 |
13 | Copyright (c) 2010-2014 by Intertrust. All rights reserved.
14 |
15 ****************************************************************/
21 #ifndef _WSB_PLAYBACK_ENABLER_H_
22 #define _WSB_PLAYBACK_ENABLER_H_
23 
24 /*----------------------------------------------------------------------
25 | includes
26 +---------------------------------------------------------------------*/
27 #include "WsbTypes.h"
28 #include "Sushi.h"
29 #include "WsbRightsEnabler.h"
30 #include "WsbMediaFile.h"
31 #include "WsbKeyManager.h"
32 
33 /*----------------------------------------------------------------------
34 | prototypes
35 +---------------------------------------------------------------------*/
43 
44 #if defined(__cplusplus)
45 extern "C" {
46 #endif
47 
65 WSB_EXPORT WSB_Result
67  WSB_PlaybackEnabler** enabler);
68 
77 WSB_EXPORT WSB_Result
79  WSB_UInt32 option_flags);
80 
101 WSB_EXPORT WSB_Result
103  const char* url,
104  SHI_Data** content_url);
105 
130 WSB_EXPORT WSB_Result
132  WSB_MediaFile* file,
133  const void* license_data,
134  WSB_Size license_data_size);
135 
158 WSB_EXPORT WSB_Result
160  const char* content_id,
161  const char* sla_url,
162  const void* license_data,
163  WSB_Size license_data_size);
164 
188 WSB_EXPORT WSB_Result
190  SHI_ActionResult** action_result);
191 
218 WSB_EXPORT WSB_Result
220  WSB_KeyManager* key_manager,
221  SHI_Action** action);
222 
230 WSB_EXPORT WSB_Result
232 
235 #if defined(__cplusplus)
236 }
237 #endif
238 
239 #endif /* _WSB_PLAYBACK_ENABLER_H_ */
240 
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_EnableContentId(WSB_PlaybackEnabler *self, const char *content_id, const char *sla_url, const void *license_data, WSB_Size license_data_size)
Tries all available avenues to obtain a working license for the content with the specified content ID...
This struct pairs a listener instance value with a function pointer for receiving events...
Definition: WsbRightsEnabler.h:148
Wasabi Rights Enabler API.
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_Create(WSB_RightsEnabler_EventListener listener, WSB_PlaybackEnabler **enabler)
Creates an instance of a WSB_PlaybackEnabler object.
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_Destroy(WSB_PlaybackEnabler *self)
Destroys the WSB_PlaybackEnabler object.
struct SHI_Action SHI_Action
A SHI_Action object represents an action that can be performed on the content item represented by a l...
Definition: ShiAction.h:575
struct WSB_PlaybackEnabler WSB_PlaybackEnabler
A WSB_PlaybackEnabler object can be used to do everything possible to obtain a valid license for a gi...
Definition: WsbPlaybackEnabler.h:42
struct WSB_MediaFile WSB_MediaFile
A WSB_MediaFile object represents information about a media file.
Definition: WsbMediaFile.h:37
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_ResolveUrl(WSB_PlaybackEnabler *self, const char *url, SHI_Data **content_url)
Resolves a URL that is potentially an MS3 URL into a content URL.
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_AcceptActionResult(WSB_PlaybackEnabler *self, WSB_KeyManager *key_manager, SHI_Action **action)
This method must be called after the action result (assuming the right to play was granted) from the ...
int WSB_Result
Signed integer value representing a function or method result (return value).
Definition: WsbTypes.h:83
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_SetRightsEnablerOptions(WSB_PlaybackEnabler *self, WSB_UInt32 option_flags)
Sets the options of the internal WSB_RightsEnabler object using the WSB_RIGHTSENABLER_OPTION_FLAG_* f...
unsigned int WSB_UInt32
32-bit (or more) unsigned integer
Definition: WsbTypes.h:36
Wasabi Media File API.
struct WSB_KeyManager WSB_KeyManager
A WSB_KeyManager object can be used to register (set) and get content keys for a playback session...
Definition: EmbProcessor.h:237
struct SHI_Data SHI_Data
A SHI_Data object represents a typed data object.
Definition: EmbProcessor.h:231
struct SHI_ActionResult SHI_ActionResult
A SHI_ActionResult object represents the result returned by several different SHI_Action methods...
Definition: ShiAction.h:444
Wasabi Key Manager API.
Wasabi Result.
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_PerformPlayAction(WSB_PlaybackEnabler *self, SHI_ActionResult **action_result)
Performs the play action on the license obtained through the WSB_PlaybackEnabler_EnableMediaFile call...
WSB_UInt32 WSB_Size
An unsigned integer used to represent a measurable quantity (e.g., the size of a file).
Definition: WsbTypes.h:104
WSB_EXPORT WSB_Result WSB_PlaybackEnabler_EnableMediaFile(WSB_PlaybackEnabler *self, WSB_MediaFile *file, const void *license_data, WSB_Size license_data_size)
Tries all available avenues to obtain a working license for the content in a specified media file...