drm

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2026 License: CC0-1.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DestinationBufferTagNonsecureMemory int32 = 0
	DestinationBufferTagSecureMemory    int32 = 1
)
View Source
const (
	DrmMetricValueTagInt64Value  int32 = 0
	DrmMetricValueTagDoubleValue int32 = 1
	DrmMetricValueTagStringValue int32 = 2
)
View Source
const (
	TransactionICryptoPluginDecrypt                        = binder.FirstCallTransaction + 0
	TransactionICryptoPluginGetLogMessages                 = binder.FirstCallTransaction + 1
	TransactionICryptoPluginNotifyResolution               = binder.FirstCallTransaction + 2
	TransactionICryptoPluginRequiresSecureDecoderComponent = binder.FirstCallTransaction + 3
	TransactionICryptoPluginSetMediaDrmSession             = binder.FirstCallTransaction + 4
	TransactionICryptoPluginSetSharedBufferBase            = binder.FirstCallTransaction + 5
)
View Source
const (
	MethodICryptoPluginDecrypt                        = "decrypt"
	MethodICryptoPluginGetLogMessages                 = "getLogMessages"
	MethodICryptoPluginNotifyResolution               = "notifyResolution"
	MethodICryptoPluginRequiresSecureDecoderComponent = "requiresSecureDecoderComponent"
	MethodICryptoPluginSetMediaDrmSession             = "setMediaDrmSession"
	MethodICryptoPluginSetSharedBufferBase            = "setSharedBufferBase"
)
View Source
const (
	TransactionIDrmFactoryCreateDrmPlugin           = binder.FirstCallTransaction + 0
	TransactionIDrmFactoryCreateCryptoPlugin        = binder.FirstCallTransaction + 1
	TransactionIDrmFactoryGetSupportedCryptoSchemes = binder.FirstCallTransaction + 2
)
View Source
const (
	MethodIDrmFactoryCreateDrmPlugin           = "createDrmPlugin"
	MethodIDrmFactoryCreateCryptoPlugin        = "createCryptoPlugin"
	MethodIDrmFactoryGetSupportedCryptoSchemes = "getSupportedCryptoSchemes"
)
View Source
const (
	TransactionIDrmPluginCloseSession               = binder.FirstCallTransaction + 0
	TransactionIDrmPluginDecrypt                    = binder.FirstCallTransaction + 1
	TransactionIDrmPluginEncrypt                    = binder.FirstCallTransaction + 2
	TransactionIDrmPluginGetHdcpLevels              = binder.FirstCallTransaction + 3
	TransactionIDrmPluginGetKeyRequest              = binder.FirstCallTransaction + 4
	TransactionIDrmPluginGetLogMessages             = binder.FirstCallTransaction + 5
	TransactionIDrmPluginGetMetrics                 = binder.FirstCallTransaction + 6
	TransactionIDrmPluginGetNumberOfSessions        = binder.FirstCallTransaction + 7
	TransactionIDrmPluginGetOfflineLicenseKeySetIds = binder.FirstCallTransaction + 8
	TransactionIDrmPluginGetOfflineLicenseState     = binder.FirstCallTransaction + 9
	TransactionIDrmPluginGetPropertyByteArray       = binder.FirstCallTransaction + 10
	TransactionIDrmPluginGetPropertyString          = binder.FirstCallTransaction + 11
	TransactionIDrmPluginGetProvisionRequest        = binder.FirstCallTransaction + 12
	TransactionIDrmPluginGetSecureStop              = binder.FirstCallTransaction + 13
	TransactionIDrmPluginGetSecureStopIds           = binder.FirstCallTransaction + 14
	TransactionIDrmPluginGetSecureStops             = binder.FirstCallTransaction + 15
	TransactionIDrmPluginGetSecurityLevel           = binder.FirstCallTransaction + 16
	TransactionIDrmPluginOpenSession                = binder.FirstCallTransaction + 17
	TransactionIDrmPluginProvideKeyResponse         = binder.FirstCallTransaction + 18
	TransactionIDrmPluginProvideProvisionResponse   = binder.FirstCallTransaction + 19
	TransactionIDrmPluginQueryKeyStatus             = binder.FirstCallTransaction + 20
	TransactionIDrmPluginReleaseAllSecureStops      = binder.FirstCallTransaction + 21
	TransactionIDrmPluginReleaseSecureStop          = binder.FirstCallTransaction + 22
	TransactionIDrmPluginReleaseSecureStops         = binder.FirstCallTransaction + 23
	TransactionIDrmPluginRemoveAllSecureStops       = binder.FirstCallTransaction + 24
	TransactionIDrmPluginRemoveKeys                 = binder.FirstCallTransaction + 25
	TransactionIDrmPluginRemoveOfflineLicense       = binder.FirstCallTransaction + 26
	TransactionIDrmPluginRemoveSecureStop           = binder.FirstCallTransaction + 27
	TransactionIDrmPluginRequiresSecureDecoder      = binder.FirstCallTransaction + 28
	TransactionIDrmPluginRestoreKeys                = binder.FirstCallTransaction + 29
	TransactionIDrmPluginSetCipherAlgorithm         = binder.FirstCallTransaction + 30
	TransactionIDrmPluginSetListener                = binder.FirstCallTransaction + 31
	TransactionIDrmPluginSetMacAlgorithm            = binder.FirstCallTransaction + 32
	TransactionIDrmPluginSetPlaybackId              = binder.FirstCallTransaction + 33
	TransactionIDrmPluginSetPropertyByteArray       = binder.FirstCallTransaction + 34
	TransactionIDrmPluginSetPropertyString          = binder.FirstCallTransaction + 35
	TransactionIDrmPluginSign                       = binder.FirstCallTransaction + 36
	TransactionIDrmPluginSignRSA                    = binder.FirstCallTransaction + 37
	TransactionIDrmPluginVerify                     = binder.FirstCallTransaction + 38
)
View Source
const (
	MethodIDrmPluginCloseSession               = "closeSession"
	MethodIDrmPluginDecrypt                    = "decrypt"
	MethodIDrmPluginEncrypt                    = "encrypt"
	MethodIDrmPluginGetHdcpLevels              = "getHdcpLevels"
	MethodIDrmPluginGetKeyRequest              = "getKeyRequest"
	MethodIDrmPluginGetLogMessages             = "getLogMessages"
	MethodIDrmPluginGetMetrics                 = "getMetrics"
	MethodIDrmPluginGetNumberOfSessions        = "getNumberOfSessions"
	MethodIDrmPluginGetOfflineLicenseKeySetIds = "getOfflineLicenseKeySetIds"
	MethodIDrmPluginGetOfflineLicenseState     = "getOfflineLicenseState"
	MethodIDrmPluginGetPropertyByteArray       = "getPropertyByteArray"
	MethodIDrmPluginGetPropertyString          = "getPropertyString"
	MethodIDrmPluginGetProvisionRequest        = "getProvisionRequest"
	MethodIDrmPluginGetSecureStop              = "getSecureStop"
	MethodIDrmPluginGetSecureStopIds           = "getSecureStopIds"
	MethodIDrmPluginGetSecureStops             = "getSecureStops"
	MethodIDrmPluginGetSecurityLevel           = "getSecurityLevel"
	MethodIDrmPluginOpenSession                = "openSession"
	MethodIDrmPluginProvideKeyResponse         = "provideKeyResponse"
	MethodIDrmPluginProvideProvisionResponse   = "provideProvisionResponse"
	MethodIDrmPluginQueryKeyStatus             = "queryKeyStatus"
	MethodIDrmPluginReleaseAllSecureStops      = "releaseAllSecureStops"
	MethodIDrmPluginReleaseSecureStop          = "releaseSecureStop"
	MethodIDrmPluginReleaseSecureStops         = "releaseSecureStops"
	MethodIDrmPluginRemoveAllSecureStops       = "removeAllSecureStops"
	MethodIDrmPluginRemoveKeys                 = "removeKeys"
	MethodIDrmPluginRemoveOfflineLicense       = "removeOfflineLicense"
	MethodIDrmPluginRemoveSecureStop           = "removeSecureStop"
	MethodIDrmPluginRequiresSecureDecoder      = "requiresSecureDecoder"
	MethodIDrmPluginRestoreKeys                = "restoreKeys"
	MethodIDrmPluginSetCipherAlgorithm         = "setCipherAlgorithm"
	MethodIDrmPluginSetListener                = "setListener"
	MethodIDrmPluginSetMacAlgorithm            = "setMacAlgorithm"
	MethodIDrmPluginSetPlaybackId              = "setPlaybackId"
	MethodIDrmPluginSetPropertyByteArray       = "setPropertyByteArray"
	MethodIDrmPluginSetPropertyString          = "setPropertyString"
	MethodIDrmPluginSign                       = "sign"
	MethodIDrmPluginSignRSA                    = "signRSA"
	MethodIDrmPluginVerify                     = "verify"
)
View Source
const (
	TransactionIDrmPluginListenerOnEvent            = binder.FirstCallTransaction + 0
	TransactionIDrmPluginListenerOnExpirationUpdate = binder.FirstCallTransaction + 1
	TransactionIDrmPluginListenerOnKeysChange       = binder.FirstCallTransaction + 2
	TransactionIDrmPluginListenerOnSessionLostState = binder.FirstCallTransaction + 3
)
View Source
const (
	MethodIDrmPluginListenerOnEvent            = "onEvent"
	MethodIDrmPluginListenerOnExpirationUpdate = "onExpirationUpdate"
	MethodIDrmPluginListenerOnKeysChange       = "onKeysChange"
	MethodIDrmPluginListenerOnSessionLostState = "onSessionLostState"
)
View Source
const DescriptorICryptoPlugin = "android.hardware.drm.ICryptoPlugin"
View Source
const DescriptorIDrmFactory = "android.hardware.drm.IDrmFactory"
View Source
const DescriptorIDrmPlugin = "android.hardware.drm.IDrmPlugin"
View Source
const DescriptorIDrmPluginListener = "android.hardware.drm.IDrmPluginListener"

Variables

This section is empty.

Functions

This section is empty.

Types

type CryptoPluginProxy

type CryptoPluginProxy struct {
	Remote binder.IBinder
}

func NewCryptoPluginProxy

func NewCryptoPluginProxy(
	remote binder.IBinder,
) *CryptoPluginProxy

func (*CryptoPluginProxy) AsBinder

func (p *CryptoPluginProxy) AsBinder() binder.IBinder

func (*CryptoPluginProxy) Decrypt

func (p *CryptoPluginProxy) Decrypt(
	ctx context.Context,
	args DecryptArgs,
) (int32, error)

func (*CryptoPluginProxy) GetLogMessages

func (p *CryptoPluginProxy) GetLogMessages(
	ctx context.Context,
) ([]LogMessage, error)

func (*CryptoPluginProxy) NotifyResolution

func (p *CryptoPluginProxy) NotifyResolution(
	ctx context.Context,
	width int32,
	height int32,
) error

func (*CryptoPluginProxy) RequiresSecureDecoderComponent

func (p *CryptoPluginProxy) RequiresSecureDecoderComponent(
	ctx context.Context,
	mime string,
) (bool, error)

func (*CryptoPluginProxy) SetMediaDrmSession

func (p *CryptoPluginProxy) SetMediaDrmSession(
	ctx context.Context,
	sessionId []byte,
) error

func (*CryptoPluginProxy) SetSharedBufferBase

func (p *CryptoPluginProxy) SetSharedBufferBase(
	ctx context.Context,
	base SharedBuffer,
) error

type CryptoPluginStub

type CryptoPluginStub struct {
	Impl      ICryptoPlugin
	Transport binder.VersionAwareTransport
}

CryptoPluginStub dispatches incoming binder transactions to a typed ICryptoPlugin implementation.

func (*CryptoPluginStub) Descriptor

func (s *CryptoPluginStub) Descriptor() string

func (*CryptoPluginStub) OnTransaction

func (s *CryptoPluginStub) OnTransaction(
	ctx context.Context,
	code binder.TransactionCode,
	_data *parcel.Parcel,
) (*parcel.Parcel, error)

type CryptoSchemes

type CryptoSchemes struct {
	Uuids     []Uuid
	MimeTypes []SupportedContentType
}

func (*CryptoSchemes) MarshalParcel

func (s *CryptoSchemes) MarshalParcel(
	p *parcel.Parcel,
) error

func (*CryptoSchemes) UnmarshalParcel

func (s *CryptoSchemes) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DecryptArgs

type DecryptArgs struct {
	Secure      bool
	KeyId       []byte
	Iv          []byte
	Mode        Mode
	Pattern     Pattern
	SubSamples  []SubSample
	Source      SharedBuffer
	Offset      int64
	Destination DestinationBuffer
}

func (*DecryptArgs) MarshalParcel

func (s *DecryptArgs) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DecryptArgs) UnmarshalParcel

func (s *DecryptArgs) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DestinationBuffer

type DestinationBuffer struct {
	Tag             int32
	NonsecureMemory SharedBuffer
	SecureMemory    common.NativeHandle
}

func (*DestinationBuffer) GetNonsecureMemory

func (u *DestinationBuffer) GetNonsecureMemory() (SharedBuffer, bool)

func (*DestinationBuffer) GetSecureMemory

func (u *DestinationBuffer) GetSecureMemory() (common.NativeHandle, bool)

func (*DestinationBuffer) MarshalParcel

func (u *DestinationBuffer) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DestinationBuffer) SetNonsecureMemory

func (u *DestinationBuffer) SetNonsecureMemory(
	v SharedBuffer,
)

func (*DestinationBuffer) SetSecureMemory

func (u *DestinationBuffer) SetSecureMemory(
	v common.NativeHandle,
)

func (*DestinationBuffer) UnmarshalParcel

func (u *DestinationBuffer) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DrmFactoryProxy

type DrmFactoryProxy struct {
	Remote binder.IBinder
}

func NewDrmFactoryProxy

func NewDrmFactoryProxy(
	remote binder.IBinder,
) *DrmFactoryProxy

func (*DrmFactoryProxy) AsBinder

func (p *DrmFactoryProxy) AsBinder() binder.IBinder

func (*DrmFactoryProxy) CreateCryptoPlugin

func (p *DrmFactoryProxy) CreateCryptoPlugin(
	ctx context.Context,
	uuid Uuid,
	initData []byte,
) (ICryptoPlugin, error)

func (*DrmFactoryProxy) CreateDrmPlugin

func (p *DrmFactoryProxy) CreateDrmPlugin(
	ctx context.Context,
	uuid Uuid,
	appPackageName string,
) (IDrmPlugin, error)

func (*DrmFactoryProxy) GetSupportedCryptoSchemes

func (p *DrmFactoryProxy) GetSupportedCryptoSchemes(
	ctx context.Context,
) (CryptoSchemes, error)

type DrmFactoryStub

type DrmFactoryStub struct {
	Impl      IDrmFactory
	Transport binder.VersionAwareTransport
}

DrmFactoryStub dispatches incoming binder transactions to a typed IDrmFactory implementation.

func (*DrmFactoryStub) Descriptor

func (s *DrmFactoryStub) Descriptor() string

func (*DrmFactoryStub) OnTransaction

func (s *DrmFactoryStub) OnTransaction(
	ctx context.Context,
	code binder.TransactionCode,
	_data *parcel.Parcel,
) (*parcel.Parcel, error)

type DrmMetric

type DrmMetric struct {
	Name       string
	Attributes []DrmMetricNamedValue
	Values     []DrmMetricNamedValue
}

func (*DrmMetric) MarshalParcel

func (s *DrmMetric) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DrmMetric) UnmarshalParcel

func (s *DrmMetric) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DrmMetricGroup

type DrmMetricGroup struct {
	Metrics []DrmMetric
}

func (*DrmMetricGroup) MarshalParcel

func (s *DrmMetricGroup) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DrmMetricGroup) UnmarshalParcel

func (s *DrmMetricGroup) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DrmMetricNamedValue

type DrmMetricNamedValue struct {
	Name  string
	Value DrmMetricValue
}

func (*DrmMetricNamedValue) MarshalParcel

func (s *DrmMetricNamedValue) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DrmMetricNamedValue) UnmarshalParcel

func (s *DrmMetricNamedValue) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DrmMetricValue

type DrmMetricValue struct {
	Tag         int32
	Int64Value  int64
	DoubleValue float64
	StringValue string
}

func (*DrmMetricValue) GetDoubleValue

func (u *DrmMetricValue) GetDoubleValue() (float64, bool)

func (*DrmMetricValue) GetInt64Value

func (u *DrmMetricValue) GetInt64Value() (int64, bool)

func (*DrmMetricValue) GetStringValue

func (u *DrmMetricValue) GetStringValue() (string, bool)

func (*DrmMetricValue) MarshalParcel

func (u *DrmMetricValue) MarshalParcel(
	p *parcel.Parcel,
) error

func (*DrmMetricValue) SetDoubleValue

func (u *DrmMetricValue) SetDoubleValue(
	v float64,
)

func (*DrmMetricValue) SetInt64Value

func (u *DrmMetricValue) SetInt64Value(
	v int64,
)

func (*DrmMetricValue) SetStringValue

func (u *DrmMetricValue) SetStringValue(
	v string,
)

func (*DrmMetricValue) UnmarshalParcel

func (u *DrmMetricValue) UnmarshalParcel(
	p *parcel.Parcel,
) error

type DrmPluginListenerProxy

type DrmPluginListenerProxy struct {
	Remote binder.IBinder
}

func NewDrmPluginListenerProxy

func NewDrmPluginListenerProxy(
	remote binder.IBinder,
) *DrmPluginListenerProxy

func (*DrmPluginListenerProxy) AsBinder

func (p *DrmPluginListenerProxy) AsBinder() binder.IBinder

func (*DrmPluginListenerProxy) OnEvent

func (p *DrmPluginListenerProxy) OnEvent(
	ctx context.Context,
	eventType EventType,
	sessionId []byte,
	data []byte,
) error

func (*DrmPluginListenerProxy) OnExpirationUpdate

func (p *DrmPluginListenerProxy) OnExpirationUpdate(
	ctx context.Context,
	sessionId []byte,
	expiryTimeInMS int64,
) error

func (*DrmPluginListenerProxy) OnKeysChange

func (p *DrmPluginListenerProxy) OnKeysChange(
	ctx context.Context,
	sessionId []byte,
	keyStatusList []KeyStatus,
	hasNewUsableKey bool,
) error

func (*DrmPluginListenerProxy) OnSessionLostState

func (p *DrmPluginListenerProxy) OnSessionLostState(
	ctx context.Context,
	sessionId []byte,
) error

type DrmPluginListenerStub

type DrmPluginListenerStub struct {
	Impl      IDrmPluginListener
	Transport binder.VersionAwareTransport
}

DrmPluginListenerStub dispatches incoming binder transactions to a typed IDrmPluginListener implementation.

func (*DrmPluginListenerStub) Descriptor

func (s *DrmPluginListenerStub) Descriptor() string

func (*DrmPluginListenerStub) OnTransaction

func (s *DrmPluginListenerStub) OnTransaction(
	ctx context.Context,
	code binder.TransactionCode,
	_data *parcel.Parcel,
) (*parcel.Parcel, error)

type DrmPluginProxy

type DrmPluginProxy struct {
	Remote binder.IBinder
}

func NewDrmPluginProxy

func NewDrmPluginProxy(
	remote binder.IBinder,
) *DrmPluginProxy

func (*DrmPluginProxy) AsBinder

func (p *DrmPluginProxy) AsBinder() binder.IBinder

func (*DrmPluginProxy) CloseSession

func (p *DrmPluginProxy) CloseSession(
	ctx context.Context,
	sessionId []byte,
) error

func (*DrmPluginProxy) Decrypt

func (p *DrmPluginProxy) Decrypt(
	ctx context.Context,
	sessionId []byte,
	keyId []byte,
	input []byte,
	iv []byte,
) ([]byte, error)

func (*DrmPluginProxy) Encrypt

func (p *DrmPluginProxy) Encrypt(
	ctx context.Context,
	sessionId []byte,
	keyId []byte,
	input []byte,
	iv []byte,
) ([]byte, error)

func (*DrmPluginProxy) GetHdcpLevels

func (p *DrmPluginProxy) GetHdcpLevels(
	ctx context.Context,
) (HdcpLevels, error)

func (*DrmPluginProxy) GetKeyRequest

func (p *DrmPluginProxy) GetKeyRequest(
	ctx context.Context,
	scope []byte,
	initData []byte,
	mimeType string,
	keyType KeyType,
	optionalParameters []KeyValue,
) (KeyRequest, error)

func (*DrmPluginProxy) GetLogMessages

func (p *DrmPluginProxy) GetLogMessages(
	ctx context.Context,
) ([]LogMessage, error)

func (*DrmPluginProxy) GetMetrics

func (p *DrmPluginProxy) GetMetrics(
	ctx context.Context,
) ([]DrmMetricGroup, error)

func (*DrmPluginProxy) GetNumberOfSessions

func (p *DrmPluginProxy) GetNumberOfSessions(
	ctx context.Context,
) (NumberOfSessions, error)

func (*DrmPluginProxy) GetOfflineLicenseKeySetIds

func (p *DrmPluginProxy) GetOfflineLicenseKeySetIds(
	ctx context.Context,
) ([]KeySetId, error)

func (*DrmPluginProxy) GetOfflineLicenseState

func (p *DrmPluginProxy) GetOfflineLicenseState(
	ctx context.Context,
	keySetId KeySetId,
) (OfflineLicenseState, error)

func (*DrmPluginProxy) GetPropertyByteArray

func (p *DrmPluginProxy) GetPropertyByteArray(
	ctx context.Context,
	propertyName string,
) ([]byte, error)

func (*DrmPluginProxy) GetPropertyString

func (p *DrmPluginProxy) GetPropertyString(
	ctx context.Context,
	propertyName string,
) (string, error)

func (*DrmPluginProxy) GetProvisionRequest

func (p *DrmPluginProxy) GetProvisionRequest(
	ctx context.Context,
	certificateType string,
	certificateAuthority string,
) (ProvisionRequest, error)

func (*DrmPluginProxy) GetSecureStop

func (p *DrmPluginProxy) GetSecureStop(
	ctx context.Context,
	secureStopId SecureStopId,
) (SecureStop, error)

func (*DrmPluginProxy) GetSecureStopIds

func (p *DrmPluginProxy) GetSecureStopIds(
	ctx context.Context,
) ([]SecureStopId, error)

func (*DrmPluginProxy) GetSecureStops

func (p *DrmPluginProxy) GetSecureStops(
	ctx context.Context,
) ([]SecureStop, error)

func (*DrmPluginProxy) GetSecurityLevel

func (p *DrmPluginProxy) GetSecurityLevel(
	ctx context.Context,
	sessionId []byte,
) (SecurityLevel, error)

func (*DrmPluginProxy) OpenSession

func (p *DrmPluginProxy) OpenSession(
	ctx context.Context,
	securityLevel SecurityLevel,
) ([]byte, error)

func (*DrmPluginProxy) ProvideKeyResponse

func (p *DrmPluginProxy) ProvideKeyResponse(
	ctx context.Context,
	scope []byte,
	response []byte,
) (KeySetId, error)

func (*DrmPluginProxy) ProvideProvisionResponse

func (p *DrmPluginProxy) ProvideProvisionResponse(
	ctx context.Context,
	response []byte,
) (ProvideProvisionResponseResult, error)

func (*DrmPluginProxy) QueryKeyStatus

func (p *DrmPluginProxy) QueryKeyStatus(
	ctx context.Context,
	sessionId []byte,
) ([]KeyValue, error)

func (*DrmPluginProxy) ReleaseAllSecureStops

func (p *DrmPluginProxy) ReleaseAllSecureStops(
	ctx context.Context,
) error

func (*DrmPluginProxy) ReleaseSecureStop

func (p *DrmPluginProxy) ReleaseSecureStop(
	ctx context.Context,
	secureStopId SecureStopId,
) error

func (*DrmPluginProxy) ReleaseSecureStops

func (p *DrmPluginProxy) ReleaseSecureStops(
	ctx context.Context,
	ssRelease OpaqueData,
) error

func (*DrmPluginProxy) RemoveAllSecureStops

func (p *DrmPluginProxy) RemoveAllSecureStops(
	ctx context.Context,
) error

func (*DrmPluginProxy) RemoveKeys

func (p *DrmPluginProxy) RemoveKeys(
	ctx context.Context,
	sessionId []byte,
) error

func (*DrmPluginProxy) RemoveOfflineLicense

func (p *DrmPluginProxy) RemoveOfflineLicense(
	ctx context.Context,
	keySetId KeySetId,
) error

func (*DrmPluginProxy) RemoveSecureStop

func (p *DrmPluginProxy) RemoveSecureStop(
	ctx context.Context,
	secureStopId SecureStopId,
) error

func (*DrmPluginProxy) RequiresSecureDecoder

func (p *DrmPluginProxy) RequiresSecureDecoder(
	ctx context.Context,
	mime string,
	level SecurityLevel,
) (bool, error)

func (*DrmPluginProxy) RestoreKeys

func (p *DrmPluginProxy) RestoreKeys(
	ctx context.Context,
	sessionId []byte,
	keySetId KeySetId,
) error

func (*DrmPluginProxy) SetCipherAlgorithm

func (p *DrmPluginProxy) SetCipherAlgorithm(
	ctx context.Context,
	sessionId []byte,
	algorithm string,
) error

func (*DrmPluginProxy) SetListener

func (p *DrmPluginProxy) SetListener(
	ctx context.Context,
	listener IDrmPluginListener,
) error

func (*DrmPluginProxy) SetMacAlgorithm

func (p *DrmPluginProxy) SetMacAlgorithm(
	ctx context.Context,
	sessionId []byte,
	algorithm string,
) error

func (*DrmPluginProxy) SetPlaybackId

func (p *DrmPluginProxy) SetPlaybackId(
	ctx context.Context,
	sessionId []byte,
	playbackId string,
) error

func (*DrmPluginProxy) SetPropertyByteArray

func (p *DrmPluginProxy) SetPropertyByteArray(
	ctx context.Context,
	propertyName string,
	value []byte,
) error

func (*DrmPluginProxy) SetPropertyString

func (p *DrmPluginProxy) SetPropertyString(
	ctx context.Context,
	propertyName string,
	value string,
) error

func (*DrmPluginProxy) Sign

func (p *DrmPluginProxy) Sign(
	ctx context.Context,
	sessionId []byte,
	keyId []byte,
	message []byte,
) ([]byte, error)

func (*DrmPluginProxy) SignRSA

func (p *DrmPluginProxy) SignRSA(
	ctx context.Context,
	sessionId []byte,
	algorithm string,
	message []byte,
	wrappedkey []byte,
) ([]byte, error)

func (*DrmPluginProxy) Verify

func (p *DrmPluginProxy) Verify(
	ctx context.Context,
	sessionId []byte,
	keyId []byte,
	message []byte,
	signature []byte,
) (bool, error)

type DrmPluginStub

type DrmPluginStub struct {
	Impl      IDrmPlugin
	Transport binder.VersionAwareTransport
}

DrmPluginStub dispatches incoming binder transactions to a typed IDrmPlugin implementation.

func (*DrmPluginStub) Descriptor

func (s *DrmPluginStub) Descriptor() string

func (*DrmPluginStub) OnTransaction

func (s *DrmPluginStub) OnTransaction(
	ctx context.Context,
	code binder.TransactionCode,
	_data *parcel.Parcel,
) (*parcel.Parcel, error)

type EventType

type EventType int32
const (
	EventTypeProvisionRequired EventType = 0
	EventTypeKeyNeeded         EventType = 1
	EventTypeKeyExpired        EventType = 2
	EventTypeVendorDefined     EventType = 3
	EventTypeSessionReclaimed  EventType = 4
)

type HdcpLevel

type HdcpLevel int32
const (
	HdcpLevelHdcpUnknown  HdcpLevel = 0
	HdcpLevelHdcpNone     HdcpLevel = 1
	HdcpLevelHdcpV1       HdcpLevel = 2
	HdcpLevelHdcpV2       HdcpLevel = 3
	HdcpLevelHdcpV21      HdcpLevel = 4
	HdcpLevelHdcpV22      HdcpLevel = 5
	HdcpLevelHdcpNoOutput HdcpLevel = 6
	HdcpLevelHdcpV23      HdcpLevel = 7
)

type HdcpLevels

type HdcpLevels struct {
	ConnectedLevel HdcpLevel
	MaxLevel       HdcpLevel
}

func (*HdcpLevels) MarshalParcel

func (s *HdcpLevels) MarshalParcel(
	p *parcel.Parcel,
) error

func (*HdcpLevels) UnmarshalParcel

func (s *HdcpLevels) UnmarshalParcel(
	p *parcel.Parcel,
) error

type ICryptoPlugin

type ICryptoPlugin interface {
	AsBinder() binder.IBinder
	Decrypt(ctx context.Context, args DecryptArgs) (int32, error)
	GetLogMessages(ctx context.Context) ([]LogMessage, error)
	NotifyResolution(ctx context.Context, width int32, height int32) error
	RequiresSecureDecoderComponent(ctx context.Context, mime string) (bool, error)
	SetMediaDrmSession(ctx context.Context, sessionId []byte) error
	SetSharedBufferBase(ctx context.Context, base SharedBuffer) error
}

func NewCryptoPluginStub

func NewCryptoPluginStub(
	impl ICryptoPluginServer,
) ICryptoPlugin

NewCryptoPluginStub creates a server-side ICryptoPlugin wrapping the given server implementation. The returned value satisfies ICryptoPlugin and can be passed to proxy methods; its AsBinder() returns a *binder.StubBinder that is auto-registered with the binder driver on first use.

type ICryptoPluginServer

type ICryptoPluginServer interface {
	Decrypt(ctx context.Context, args DecryptArgs) (int32, error)
	GetLogMessages(ctx context.Context) ([]LogMessage, error)
	NotifyResolution(ctx context.Context, width int32, height int32) error
	RequiresSecureDecoderComponent(ctx context.Context, mime string) (bool, error)
	SetMediaDrmSession(ctx context.Context, sessionId []byte) error
	SetSharedBufferBase(ctx context.Context, base SharedBuffer) error
}

ICryptoPluginServer is the server-side interface that user implementations provide to NewCryptoPluginStub. It contains only the business methods, without AsBinder (which is provided by the stub itself).

type IDrmFactory

type IDrmFactory interface {
	AsBinder() binder.IBinder
	CreateDrmPlugin(ctx context.Context, uuid Uuid, appPackageName string) (IDrmPlugin, error)
	CreateCryptoPlugin(ctx context.Context, uuid Uuid, initData []byte) (ICryptoPlugin, error)
	GetSupportedCryptoSchemes(ctx context.Context) (CryptoSchemes, error)
}

func NewDrmFactoryStub

func NewDrmFactoryStub(
	impl IDrmFactoryServer,
) IDrmFactory

NewDrmFactoryStub creates a server-side IDrmFactory wrapping the given server implementation. The returned value satisfies IDrmFactory and can be passed to proxy methods; its AsBinder() returns a *binder.StubBinder that is auto-registered with the binder driver on first use.

type IDrmFactoryServer

type IDrmFactoryServer interface {
	CreateDrmPlugin(ctx context.Context, uuid Uuid, appPackageName string) (IDrmPlugin, error)
	CreateCryptoPlugin(ctx context.Context, uuid Uuid, initData []byte) (ICryptoPlugin, error)
	GetSupportedCryptoSchemes(ctx context.Context) (CryptoSchemes, error)
}

IDrmFactoryServer is the server-side interface that user implementations provide to NewDrmFactoryStub. It contains only the business methods, without AsBinder (which is provided by the stub itself).

type IDrmPlugin

type IDrmPlugin interface {
	AsBinder() binder.IBinder
	CloseSession(ctx context.Context, sessionId []byte) error
	Decrypt(ctx context.Context, sessionId []byte, keyId []byte, input []byte, iv []byte) ([]byte, error)
	Encrypt(ctx context.Context, sessionId []byte, keyId []byte, input []byte, iv []byte) ([]byte, error)
	GetHdcpLevels(ctx context.Context) (HdcpLevels, error)
	GetKeyRequest(ctx context.Context, scope []byte, initData []byte, mimeType string, keyType KeyType, optionalParameters []KeyValue) (KeyRequest, error)
	GetLogMessages(ctx context.Context) ([]LogMessage, error)
	GetMetrics(ctx context.Context) ([]DrmMetricGroup, error)
	GetNumberOfSessions(ctx context.Context) (NumberOfSessions, error)
	GetOfflineLicenseKeySetIds(ctx context.Context) ([]KeySetId, error)
	GetOfflineLicenseState(ctx context.Context, keySetId KeySetId) (OfflineLicenseState, error)
	GetPropertyByteArray(ctx context.Context, propertyName string) ([]byte, error)
	GetPropertyString(ctx context.Context, propertyName string) (string, error)
	GetProvisionRequest(ctx context.Context, certificateType string, certificateAuthority string) (ProvisionRequest, error)
	GetSecureStop(ctx context.Context, secureStopId SecureStopId) (SecureStop, error)
	GetSecureStopIds(ctx context.Context) ([]SecureStopId, error)
	GetSecureStops(ctx context.Context) ([]SecureStop, error)
	GetSecurityLevel(ctx context.Context, sessionId []byte) (SecurityLevel, error)
	OpenSession(ctx context.Context, securityLevel SecurityLevel) ([]byte, error)
	ProvideKeyResponse(ctx context.Context, scope []byte, response []byte) (KeySetId, error)
	ProvideProvisionResponse(ctx context.Context, response []byte) (ProvideProvisionResponseResult, error)
	QueryKeyStatus(ctx context.Context, sessionId []byte) ([]KeyValue, error)
	ReleaseAllSecureStops(ctx context.Context) error
	ReleaseSecureStop(ctx context.Context, secureStopId SecureStopId) error
	ReleaseSecureStops(ctx context.Context, ssRelease OpaqueData) error
	RemoveAllSecureStops(ctx context.Context) error
	RemoveKeys(ctx context.Context, sessionId []byte) error
	RemoveOfflineLicense(ctx context.Context, keySetId KeySetId) error
	RemoveSecureStop(ctx context.Context, secureStopId SecureStopId) error
	RequiresSecureDecoder(ctx context.Context, mime string, level SecurityLevel) (bool, error)
	RestoreKeys(ctx context.Context, sessionId []byte, keySetId KeySetId) error
	SetCipherAlgorithm(ctx context.Context, sessionId []byte, algorithm string) error
	SetListener(ctx context.Context, listener IDrmPluginListener) error
	SetMacAlgorithm(ctx context.Context, sessionId []byte, algorithm string) error
	SetPlaybackId(ctx context.Context, sessionId []byte, playbackId string) error
	SetPropertyByteArray(ctx context.Context, propertyName string, value []byte) error
	SetPropertyString(ctx context.Context, propertyName string, value string) error
	Sign(ctx context.Context, sessionId []byte, keyId []byte, message []byte) ([]byte, error)
	SignRSA(ctx context.Context, sessionId []byte, algorithm string, message []byte, wrappedkey []byte) ([]byte, error)
	Verify(ctx context.Context, sessionId []byte, keyId []byte, message []byte, signature []byte) (bool, error)
}

func NewDrmPluginStub

func NewDrmPluginStub(
	impl IDrmPluginServer,
) IDrmPlugin

NewDrmPluginStub creates a server-side IDrmPlugin wrapping the given server implementation. The returned value satisfies IDrmPlugin and can be passed to proxy methods; its AsBinder() returns a *binder.StubBinder that is auto-registered with the binder driver on first use.

type IDrmPluginListener

type IDrmPluginListener interface {
	AsBinder() binder.IBinder
	OnEvent(ctx context.Context, eventType EventType, sessionId []byte, data []byte) error
	OnExpirationUpdate(ctx context.Context, sessionId []byte, expiryTimeInMS int64) error
	OnKeysChange(ctx context.Context, sessionId []byte, keyStatusList []KeyStatus, hasNewUsableKey bool) error
	OnSessionLostState(ctx context.Context, sessionId []byte) error
}

func NewDrmPluginListenerStub

func NewDrmPluginListenerStub(
	impl IDrmPluginListenerServer,
) IDrmPluginListener

NewDrmPluginListenerStub creates a server-side IDrmPluginListener wrapping the given server implementation. The returned value satisfies IDrmPluginListener and can be passed to proxy methods; its AsBinder() returns a *binder.StubBinder that is auto-registered with the binder driver on first use.

type IDrmPluginListenerServer

type IDrmPluginListenerServer interface {
	OnEvent(ctx context.Context, eventType EventType, sessionId []byte, data []byte) error
	OnExpirationUpdate(ctx context.Context, sessionId []byte, expiryTimeInMS int64) error
	OnKeysChange(ctx context.Context, sessionId []byte, keyStatusList []KeyStatus, hasNewUsableKey bool) error
	OnSessionLostState(ctx context.Context, sessionId []byte) error
}

IDrmPluginListenerServer is the server-side interface that user implementations provide to NewDrmPluginListenerStub. It contains only the business methods, without AsBinder (which is provided by the stub itself).

type IDrmPluginServer

type IDrmPluginServer interface {
	CloseSession(ctx context.Context, sessionId []byte) error
	Decrypt(ctx context.Context, sessionId []byte, keyId []byte, input []byte, iv []byte) ([]byte, error)
	Encrypt(ctx context.Context, sessionId []byte, keyId []byte, input []byte, iv []byte) ([]byte, error)
	GetHdcpLevels(ctx context.Context) (HdcpLevels, error)
	GetKeyRequest(ctx context.Context, scope []byte, initData []byte, mimeType string, keyType KeyType, optionalParameters []KeyValue) (KeyRequest, error)
	GetLogMessages(ctx context.Context) ([]LogMessage, error)
	GetMetrics(ctx context.Context) ([]DrmMetricGroup, error)
	GetNumberOfSessions(ctx context.Context) (NumberOfSessions, error)
	GetOfflineLicenseKeySetIds(ctx context.Context) ([]KeySetId, error)
	GetOfflineLicenseState(ctx context.Context, keySetId KeySetId) (OfflineLicenseState, error)
	GetPropertyByteArray(ctx context.Context, propertyName string) ([]byte, error)
	GetPropertyString(ctx context.Context, propertyName string) (string, error)
	GetProvisionRequest(ctx context.Context, certificateType string, certificateAuthority string) (ProvisionRequest, error)
	GetSecureStop(ctx context.Context, secureStopId SecureStopId) (SecureStop, error)
	GetSecureStopIds(ctx context.Context) ([]SecureStopId, error)
	GetSecureStops(ctx context.Context) ([]SecureStop, error)
	GetSecurityLevel(ctx context.Context, sessionId []byte) (SecurityLevel, error)
	OpenSession(ctx context.Context, securityLevel SecurityLevel) ([]byte, error)
	ProvideKeyResponse(ctx context.Context, scope []byte, response []byte) (KeySetId, error)
	ProvideProvisionResponse(ctx context.Context, response []byte) (ProvideProvisionResponseResult, error)
	QueryKeyStatus(ctx context.Context, sessionId []byte) ([]KeyValue, error)
	ReleaseAllSecureStops(ctx context.Context) error
	ReleaseSecureStop(ctx context.Context, secureStopId SecureStopId) error
	ReleaseSecureStops(ctx context.Context, ssRelease OpaqueData) error
	RemoveAllSecureStops(ctx context.Context) error
	RemoveKeys(ctx context.Context, sessionId []byte) error
	RemoveOfflineLicense(ctx context.Context, keySetId KeySetId) error
	RemoveSecureStop(ctx context.Context, secureStopId SecureStopId) error
	RequiresSecureDecoder(ctx context.Context, mime string, level SecurityLevel) (bool, error)
	RestoreKeys(ctx context.Context, sessionId []byte, keySetId KeySetId) error
	SetCipherAlgorithm(ctx context.Context, sessionId []byte, algorithm string) error
	SetListener(ctx context.Context, listener IDrmPluginListener) error
	SetMacAlgorithm(ctx context.Context, sessionId []byte, algorithm string) error
	SetPlaybackId(ctx context.Context, sessionId []byte, playbackId string) error
	SetPropertyByteArray(ctx context.Context, propertyName string, value []byte) error
	SetPropertyString(ctx context.Context, propertyName string, value string) error
	Sign(ctx context.Context, sessionId []byte, keyId []byte, message []byte) ([]byte, error)
	SignRSA(ctx context.Context, sessionId []byte, algorithm string, message []byte, wrappedkey []byte) ([]byte, error)
	Verify(ctx context.Context, sessionId []byte, keyId []byte, message []byte, signature []byte) (bool, error)
}

IDrmPluginServer is the server-side interface that user implementations provide to NewDrmPluginStub. It contains only the business methods, without AsBinder (which is provided by the stub itself).

type KeyRequest

type KeyRequest struct {
	Request     []byte
	RequestType KeyRequestType
	DefaultUrl  string
}

func (*KeyRequest) MarshalParcel

func (s *KeyRequest) MarshalParcel(
	p *parcel.Parcel,
) error

func (*KeyRequest) UnmarshalParcel

func (s *KeyRequest) UnmarshalParcel(
	p *parcel.Parcel,
) error

type KeyRequestType

type KeyRequestType int32
const (
	KeyRequestTypeINITIAL KeyRequestType = 0
	KeyRequestTypeRENEWAL KeyRequestType = 1
	KeyRequestTypeRELEASE KeyRequestType = 2
	KeyRequestTypeUNKNOWN KeyRequestType = 3
	KeyRequestTypeNONE    KeyRequestType = 4
	KeyRequestTypeUPDATE  KeyRequestType = 5
)

type KeySetId

type KeySetId struct {
	KeySetId []byte
}

func (*KeySetId) MarshalParcel

func (s *KeySetId) MarshalParcel(
	p *parcel.Parcel,
) error

func (*KeySetId) UnmarshalParcel

func (s *KeySetId) UnmarshalParcel(
	p *parcel.Parcel,
) error

type KeyStatus

type KeyStatus struct {
	KeyId []byte
	Type  KeyStatusType
}

func (*KeyStatus) MarshalParcel

func (s *KeyStatus) MarshalParcel(
	p *parcel.Parcel,
) error

func (*KeyStatus) UnmarshalParcel

func (s *KeyStatus) UnmarshalParcel(
	p *parcel.Parcel,
) error

type KeyStatusType

type KeyStatusType int32
const (
	KeyStatusTypeUSABLE           KeyStatusType = 0
	KeyStatusTypeEXPIRED          KeyStatusType = 1
	KeyStatusTypeOutputNotAllowed KeyStatusType = 2
	KeyStatusTypeStatusPending    KeyStatusType = 3
	KeyStatusTypeInternalError    KeyStatusType = 4
	KeyStatusTypeUsableInFuture   KeyStatusType = 5
)

type KeyType

type KeyType int32
const (
	KeyTypeOFFLINE   KeyType = 0
	KeyTypeSTREAMING KeyType = 1
	KeyTypeRELEASE   KeyType = 2
)

type KeyValue

type KeyValue struct {
	Key   string
	Value string
}

func (*KeyValue) MarshalParcel

func (s *KeyValue) MarshalParcel(
	p *parcel.Parcel,
) error

func (*KeyValue) UnmarshalParcel

func (s *KeyValue) UnmarshalParcel(
	p *parcel.Parcel,
) error

type LogMessage

type LogMessage struct {
	TimeMs   int64
	Priority LogPriority
	Message  string
}

func (*LogMessage) MarshalParcel

func (s *LogMessage) MarshalParcel(
	p *parcel.Parcel,
) error

func (*LogMessage) UnmarshalParcel

func (s *LogMessage) UnmarshalParcel(
	p *parcel.Parcel,
) error

type LogPriority

type LogPriority int32
const (
	LogPriorityUNKNOWN LogPriority = 0
	LogPriorityDEFAULT LogPriority = 1
	LogPriorityVERBOSE LogPriority = 2
	LogPriorityDEBUG   LogPriority = 3
	LogPriorityINFO    LogPriority = 4
	LogPriorityWARN    LogPriority = 5
	LogPriorityERROR   LogPriority = 6
	LogPriorityFATAL   LogPriority = 7
)

type Mode

type Mode int32
const (
	ModeUNENCRYPTED Mode = 0
	ModeAesCtr      Mode = 1
	ModeAesCbcCts   Mode = 2
	ModeAesCbc      Mode = 3
)

type NumberOfSessions

type NumberOfSessions struct {
	CurrentSessions int32
	MaxSessions     int32
}

func (*NumberOfSessions) MarshalParcel

func (s *NumberOfSessions) MarshalParcel(
	p *parcel.Parcel,
) error

func (*NumberOfSessions) UnmarshalParcel

func (s *NumberOfSessions) UnmarshalParcel(
	p *parcel.Parcel,
) error

type OfflineLicenseState

type OfflineLicenseState int32
const (
	OfflineLicenseStateUNKNOWN  OfflineLicenseState = 0
	OfflineLicenseStateUSABLE   OfflineLicenseState = 1
	OfflineLicenseStateINACTIVE OfflineLicenseState = 2
)

type OpaqueData

type OpaqueData struct {
	OpaqueData []byte
}

func (*OpaqueData) MarshalParcel

func (s *OpaqueData) MarshalParcel(
	p *parcel.Parcel,
) error

func (*OpaqueData) UnmarshalParcel

func (s *OpaqueData) UnmarshalParcel(
	p *parcel.Parcel,
) error

type Pattern

type Pattern struct {
	EncryptBlocks int32
	SkipBlocks    int32
}

func (*Pattern) MarshalParcel

func (s *Pattern) MarshalParcel(
	p *parcel.Parcel,
) error

func (*Pattern) UnmarshalParcel

func (s *Pattern) UnmarshalParcel(
	p *parcel.Parcel,
) error

type ProvideProvisionResponseResult

type ProvideProvisionResponseResult struct {
	Certificate []byte
	WrappedKey  []byte
}

func (*ProvideProvisionResponseResult) MarshalParcel

func (s *ProvideProvisionResponseResult) MarshalParcel(
	p *parcel.Parcel,
) error

func (*ProvideProvisionResponseResult) UnmarshalParcel

func (s *ProvideProvisionResponseResult) UnmarshalParcel(
	p *parcel.Parcel,
) error

type ProvisionRequest

type ProvisionRequest struct {
	Request    []byte
	DefaultUrl string
}

func (*ProvisionRequest) MarshalParcel

func (s *ProvisionRequest) MarshalParcel(
	p *parcel.Parcel,
) error

func (*ProvisionRequest) UnmarshalParcel

func (s *ProvisionRequest) UnmarshalParcel(
	p *parcel.Parcel,
) error

type SecureStop

type SecureStop struct {
	OpaqueData []byte
}

func (*SecureStop) MarshalParcel

func (s *SecureStop) MarshalParcel(
	p *parcel.Parcel,
) error

func (*SecureStop) UnmarshalParcel

func (s *SecureStop) UnmarshalParcel(
	p *parcel.Parcel,
) error

type SecureStopId

type SecureStopId struct {
	SecureStopId []byte
}

func (*SecureStopId) MarshalParcel

func (s *SecureStopId) MarshalParcel(
	p *parcel.Parcel,
) error

func (*SecureStopId) UnmarshalParcel

func (s *SecureStopId) UnmarshalParcel(
	p *parcel.Parcel,
) error

type SecurityLevel

type SecurityLevel int32
const (
	SecurityLevelUNKNOWN        SecurityLevel = 0
	SecurityLevelSwSecureCrypto SecurityLevel = 1
	SecurityLevelSwSecureDecode SecurityLevel = 2
	SecurityLevelHwSecureCrypto SecurityLevel = 3
	SecurityLevelHwSecureDecode SecurityLevel = 4
	SecurityLevelHwSecureAll    SecurityLevel = 5
	SecurityLevelDEFAULT        SecurityLevel = 6
)

type SharedBuffer

type SharedBuffer struct {
	BufferId int32
	Offset   int64
	Size     int64
	Handle   common.NativeHandle
}

func (*SharedBuffer) MarshalParcel

func (s *SharedBuffer) MarshalParcel(
	p *parcel.Parcel,
) error

func (*SharedBuffer) UnmarshalParcel

func (s *SharedBuffer) UnmarshalParcel(
	p *parcel.Parcel,
) error

type Status

type Status int32
const (
	StatusOK                                   Status = 0
	StatusErrorDrmNoLicense                    Status = 1
	StatusErrorDrmLicenseExpired               Status = 2
	StatusErrorDrmSessionNotOpened             Status = 3
	StatusErrorDrmCannotHandle                 Status = 4
	StatusErrorDrmInvalidState                 Status = 5
	StatusBadValue                             Status = 6
	StatusErrorDrmNotProvisioned               Status = 7
	StatusErrorDrmResourceBusy                 Status = 8
	StatusErrorDrmInsufficientOutputProtection Status = 9
	StatusErrorDrmDeviceRevoked                Status = 10
	StatusErrorDrmDecrypt                      Status = 11
	StatusErrorDrmUnknown                      Status = 12
	StatusErrorDrmInsufficientSecurity         Status = 13
	StatusErrorDrmFrameTooLarge                Status = 14
	StatusErrorDrmSessionLostState             Status = 15
	StatusErrorDrmResourceContention           Status = 16
	StatusCannotDecryptZeroSubsamples          Status = 17
	StatusCryptoLibraryError                   Status = 18
	StatusGeneralOemError                      Status = 19
	StatusGeneralPluginError                   Status = 20
	StatusInitDataInvalid                      Status = 21
	StatusKeyNotLoaded                         Status = 22
	StatusLicenseParseError                    Status = 23
	StatusLicensePolicyError                   Status = 24
	StatusLicenseReleaseError                  Status = 25
	StatusLicenseRequestRejected               Status = 26
	StatusLicenseRestoreError                  Status = 27
	StatusLicenseStateError                    Status = 28
	StatusMalformedCertificate                 Status = 29
	StatusMediaFrameworkError                  Status = 30
	StatusMissingCertificate                   Status = 31
	StatusProvisioningCertificateError         Status = 32
	StatusProvisioningConfigurationError       Status = 33
	StatusProvisioningParseError               Status = 34
	StatusProvisioningRequestRejected          Status = 35
	StatusRetryableProvisioningError           Status = 36
	StatusSecureStopReleaseError               Status = 37
	StatusStorageReadFailure                   Status = 38
	StatusStorageWriteFailure                  Status = 39
)

type SubSample

type SubSample struct {
	NumBytesOfClearData     int32
	NumBytesOfEncryptedData int32
}

func (*SubSample) MarshalParcel

func (s *SubSample) MarshalParcel(
	p *parcel.Parcel,
) error

func (*SubSample) UnmarshalParcel

func (s *SubSample) UnmarshalParcel(
	p *parcel.Parcel,
) error

type SupportedContentType

type SupportedContentType struct {
	Mime     string
	MinLevel SecurityLevel
	MaxLevel SecurityLevel
}

func (*SupportedContentType) MarshalParcel

func (s *SupportedContentType) MarshalParcel(
	p *parcel.Parcel,
) error

func (*SupportedContentType) UnmarshalParcel

func (s *SupportedContentType) UnmarshalParcel(
	p *parcel.Parcel,
) error

type Uuid

type Uuid struct {
	Uuid []byte
}

func (*Uuid) MarshalParcel

func (s *Uuid) MarshalParcel(
	p *parcel.Parcel,
) error

func (*Uuid) UnmarshalParcel

func (s *Uuid) UnmarshalParcel(
	p *parcel.Parcel,
) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL