Wasabi ExpressPlay SDK for Embedded Systems
1.10
|
Actions. More...
#include "ShiResults.h"
#include "ShiTypes.h"
#include "ShiList.h"
#include "ShiAttributes.h"
#include "ShiLicenseInfo.h"
Go to the source code of this file.
Data Structures | |
struct | SHI_ActionExportParameters |
Parameters for a SHI_ACTION_EXPORT action. More... | |
struct | SHI_ActionObligation |
Obligation returned by SHI_ActionResult_GetObligations. More... | |
struct | SHI_MediaZoneInfo |
Information for a zone returned in a SHI_ActionMediaZonesObligation obligation. More... | |
struct | SHI_ActionMediaZonesObligation |
Parameters for media zones. More... | |
struct | SHI_ActionGenericObligation |
Parameters for generic obligations. More... | |
struct | SHI_ActionOnZoneCompletedMeteringParameters |
Parameters for metering events of type SHI_ACTION_METERING_ZONE_COMPLETED. More... | |
struct | SHI_ActionCallback |
Callback returned by SHI_ActionResult_GetCallbacks. More... | |
struct | SHI_ActionOnTimeCallbackParameters |
Parameters for callbacks of type SHI_ACTION_CALLBACK_TYPE_ON_TIME. More... | |
struct | SHI_ActionOnTimeElapsedCallbackParameters |
Parameters for callbacks of type SHI_ACTION_CALLBACK_TYPE_ON_TIME_ELAPSED. More... | |
struct | SHI_ActionOnTimecodeCallbackParameters |
Parameters for callbacks of type SHI_ACTION_CALLBACK_TYPE_ON_TIMECODE. More... | |
struct | SHI_ActionOnZoneCompletedCallbackParameters |
Parameters for callbacks of type SHI_ACTION_CALLBACK_TYPE_ON_ZONE_COMPLETED. More... | |
struct | SHI_ActionOnSeekCallbackArguments |
Arguments for callbacks of type SHI_ACTION_CALLBACK_TYPE_ON_SEEK. More... | |
struct | SHI_ActionResultInfo |
Information about an action result. More... | |
Typedefs | |
typedef struct SHI_ActionResult | SHI_ActionResult |
A SHI_ActionResult object represents the result returned by several different SHI_Action methods. More... | |
typedef struct SHI_Action | SHI_Action |
A SHI_Action object represents an action that can be performed on the content item represented by a license. More... | |
Enumerations | |
enum | SHI_ActionObligationType { SHI_ACTION_OBLIGATION_TYPE_PLAYBACK_METERING, SHI_ACTION_OBLIGATION_TYPE_MEDIA_ZONES, SHI_ACTION_OBLIGATION_TYPE_GENERIC } |
Possible SHI_ActionObligation type values. More... | |
enum | SHI_MediaZoneType { SHI_MEDIA_ZONE_TYPE_NOSKIP = 0, SHI_MEDIA_ZONE_TYPE_MAGNETIC = 1, SHI_MEDIA_ZONE_TYPE_STICKY = 2 } |
Media zone types. More... | |
enum | SHI_ActionMeteringEventType { SHI_ACTION_METERING_START, SHI_ACTION_METERING_STOP, SHI_ACTION_METERING_ZONE_COMPLETED } |
The different types of metering events that may be logged by calls to SHI_ActionLogMeteringEvent. More... | |
enum | SHI_ActionCallbackType { SHI_ACTION_CALLBACK_TYPE_ON_TIME, SHI_ACTION_CALLBACK_TYPE_ON_TIME_ELAPSED, SHI_ACTION_CALLBACK_TYPE_ON_PLAY, SHI_ACTION_CALLBACK_TYPE_ON_STOP, SHI_ACTION_CALLBACK_TYPE_ON_SEEK, SHI_ACTION_CALLBACK_TYPE_ON_TIMECODE, SHI_ACTION_CALLBACK_TYPE_ON_ZONE_COMPLETED } |
Possible SHI_ActionCallback type values. More... | |
Functions | |
SHI_PUBLIC_API void * | SHI_ActionResult_GetInterface (SHI_ActionResult *self, SHI_InterfaceId iface_id) |
Obtains a pointer to a SHI_ActionResult object with a different interface. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_Release (SHI_ActionResult *self) |
Releases this action result object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_GetObligations (SHI_ActionResult *self, SHI_List **obligations) |
Returns a list of obligations for this action result object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_GetCallbacks (SHI_ActionResult *self, SHI_List **callbacks) |
Returns a list of callbacks for this action result object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_GetInfo (SHI_ActionResult *self, SHI_ActionResultInfo *info) |
Returns information about this action result object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_GetDetails (SHI_ActionResult *self, SHI_Attribute **details) |
Returns details for this action result object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_ActionResult_Accept (SHI_ActionResult *self) |
Accepts the action result. More... | |
SHI_PUBLIC_API void * | SHI_Action_GetInterface (SHI_Action *self, SHI_InterfaceId iface_id) |
Obtains a pointer to a SHI_Action object with a different interface. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_Destroy (SHI_Action *self) |
Destroys this action object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_Describe (SHI_Action *self, SHI_LicenseInfo **description) |
Gets a description for this action. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_Check (SHI_Action *self, SHI_ActionResult **result) |
Checks whether this action would be granted or denied if SHI_ActionPerform were called, without actually calling the method and thereby triggering potential side effects. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_Perform (SHI_Action *self, SHI_ActionResult **result) |
Determines whether this action is allowed by its license. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_Callback (SHI_Action *self, SHI_UInt32 callback_handle, const void *arguments, SHI_ActionResult **result) |
Invokes a callback on this action. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Action_LogMeteringEvent (SHI_Action *self, SHI_ActionMeteringEventType type, const void *parameters) |
Logs a playback metering event. More... | |
Actions.
#define SHI_ACTION_CALLBACK_IS_MANDATORY 0x00000001 |
Possible flags for SHI_ActionCallback.
#define SHI_ACTION_CALLBACK_IS_RESET 0x00010000 |
#define SHI_ACTION_EXPORT "Export" |
Action name indicating export to a foreign DRM system.
This type of action requires parameters, passed as a pointer to a SHI_ActionExportParameters structure. When using this type of action, the details of the SHI_ActionResult result returned by the SHI_Action_Check or SHI_Action_Perform methods will contain an attribute named 'ExportInfo'. The type and value of that attribute are determined by the specific target system to which the export is done.
#define SHI_ACTION_EXPORT_MODE_COPY "Copy" |
#define SHI_ACTION_EXPORT_MODE_DONT_KNOW "DontKnow" |
#define SHI_ACTION_EXPORT_MODE_MOVE "Move" |
#define SHI_ACTION_EXPORT_MODE_RENDER "Render" |
#define SHI_ACTION_EXPORT_SYSTEM_AUDIO_CD "CleartextPcmAudio" |
#define SHI_ACTION_OBLIGATION_IS_MANDATORY 0x00000001 |
Possible flags for SHI_ActionObligation.
#define SHI_ACTION_PLAY "Play" |
Action name indicating standard "Play" for multimedia content.
When creating this type of action, no parameters are required.
#define SHI_ACTION_RESULT_HAS_CALLBACKS 0x00000004 |
#define SHI_ACTION_RESULT_HAS_OBLIGATIONS 0x00000002 |
#define SHI_ACTION_RESULT_MUST_ACCEPT 0x00000001 |
Flags for SHI_ActionResultInfo.
#define SHI_DATA_POINTER_TYPE_ID_CALLBACK 1 |
#define SHI_DATA_POINTER_TYPE_ID_OBLIGATION 2 |
#define SHI_MEDIA_ZONE_FLAG_INCLUDE_SPLICE 2 |
#define SHI_MEDIA_ZONE_FLAG_METER 1 |
Media zone flags.
Possible SHI_ActionCallback type values.
Enumerator | |
---|---|
SHI_ACTION_CALLBACK_TYPE_ON_TIME |
OnTime callback. This type of callback is described with a SHI_ActionCallback struct with the 'parameters' field pointing to a struct with the type SHI_ActionOnTimeCallbackParameters. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL |
SHI_ACTION_CALLBACK_TYPE_ON_TIME_ELAPSED |
OnTimeElapsed callback. This type of callback is described with a SHI_ActionCallback struct with the 'parameters' field pointing to a struct with the type SHI_ActionOnTimeElapsedCallbackParameters. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL |
SHI_ACTION_CALLBACK_TYPE_ON_PLAY |
OnPlay callback. This type of callback is described with a SHI_ActionCallback struct with a NULL 'parameters' field. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL |
SHI_ACTION_CALLBACK_TYPE_ON_STOP |
OnStop callback. This type of callback is described with a SHI_ActionCallback struct with a NULL 'parameters' field. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL |
SHI_ACTION_CALLBACK_TYPE_ON_SEEK |
OnSeek callback. This type of callback is described with a SHI_ActionCallback struct with a NULL 'parameters' field. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must point to a SHI_ActionOnSeekCallbackArguments struct. |
SHI_ACTION_CALLBACK_TYPE_ON_TIMECODE |
OnTimecode callback. This type of callback is described with a SHI_ActionCallback struct with the 'parameters' field pointing to a struct with the type SHI_ActionOnTimecodeCallbackParameters. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL. |
SHI_ACTION_CALLBACK_TYPE_ON_ZONE_COMPLETED |
OnZoneCompleted callback. This type of callback is described with a SHI_ActionCallback struct with the 'parameters' field pointing to a struct with the type SHI_ActionOnZoneCompletedCallbackParameters. When invoking the callback by calling the SHI_Action_Callback method, the 'arguments' parameter must be NULL. |
The different types of metering events that may be logged by calls to SHI_ActionLogMeteringEvent.
Enumerator | |
---|---|
SHI_ACTION_METERING_START |
When playback is started. |
SHI_ACTION_METERING_STOP |
When playback is stopped or paused. |
SHI_ACTION_METERING_ZONE_COMPLETED |
When a Media Zone has been completely played and validated. The parameters for this event must point to a struct of type SHI_ActionOnZoneCompletedMeteringParameters. |
Possible SHI_ActionObligation type values.
Enumerator | |
---|---|
SHI_ACTION_OBLIGATION_TYPE_PLAYBACK_METERING |
Obligations of this type are metering obligations. This means that the application will need to use the SHI_ActionLogMeteringEvent method. Refer to the SDK documentation for more details on metering. Obligations of this type have a NULL 'parameters' field. |
SHI_ACTION_OBLIGATION_TYPE_MEDIA_ZONES |
Obligations of this type are media zones obligations. Obligations of this type have a 'parameters' field that points to a SHI_ActionMediaZonesObligation struct. |
SHI_ACTION_OBLIGATION_TYPE_GENERIC |
Obligations of this type are obligations for which this API does not provide a specific representation. This includes standard obligations that may have been standardized after this API was created, or custom (vendor specific) obligations not known to this implementation. Applications are responsible for examining such obligations by parsing the obligation's details and either accepting or rejecting the obligation. Obligations of this type have a 'parameters' field that points to a SHI_ActionGenericObligation struct. |
enum SHI_MediaZoneType |