Help us shape the future of Go! Take the 2026 Go Developer Survey

drm

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 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