Shaka Player Embedded
Public Member Functions | List of all members
shaka::eme::ImplementationFactory Class Referenceabstract

#include <implementation_factory.h>

Inheritance diagram for shaka::eme::ImplementationFactory:
shaka::eme::ClearKeyImplementationFactory

Public Member Functions

 ImplementationFactory ()
 
virtual ~ ImplementationFactory ()
 
 ImplementationFactory (const ImplementationFactory &)=delete
 
ImplementationFactoryoperator= (const ImplementationFactory &)=delete
 
 ImplementationFactory (ImplementationFactory &&)=delete
 
ImplementationFactoryoperator= (ImplementationFactory &&)=delete
 
virtual bool SupportsSessionType (MediaKeySessionType type) const =0
 
virtual bool SupportsInitDataType (MediaKeyInitDataType type) const =0
 
virtual bool SupportsAudioRobustness (const std::string &robustness) const =0
 
virtual bool SupportsVideoRobustness (const std::string &robustness) const =0
 
virtual MediaKeysRequirement DistinctiveIdentifier () const =0
 
virtual MediaKeysRequirement PersistentState () const =0
 
virtual std::shared_ptr< ImplementationCreateImplementation (ImplementationHelper *helper, MediaKeysRequirement distinctive_identifier, MediaKeysRequirement persistent_state, const std::vector< std::string > &audio_robustness, const std::vector< std::string > &video_robustness)=0
 

Detailed Description

A factory used to create EME implementation instances and to query what this implementation supports. This is implemented by an app and registered with the ImplementationRegistry.

Methods on this type are only called on the JS main thread.

Definition at line 40 of file implementation_factory.h.

Constructor & Destructor Documentation

§ ImplementationFactory() [1/3]

shaka::eme::ImplementationFactory::ImplementationFactory ( )

§ ~ ImplementationFactory()

virtual shaka::eme::ImplementationFactory::~ ImplementationFactory ( )
virtual

§ ImplementationFactory() [2/3]

shaka::eme::ImplementationFactory::ImplementationFactory ( const ImplementationFactory )
delete

§ ImplementationFactory() [3/3]

shaka::eme::ImplementationFactory::ImplementationFactory ( ImplementationFactory &&  )
delete

Member Function Documentation

§ CreateImplementation()

virtual std::shared_ptr<Implementation> shaka::eme::ImplementationFactory::CreateImplementation ( ImplementationHelper helper,
MediaKeysRequirement  distinctive_identifier,
MediaKeysRequirement  persistent_state,
const std::vector< std::string > &  audio_robustness,
const std::vector< std::string > &  video_robustness 
)
pure virtual

Creates a new instance of the implementation. The arguments have already been filtered according to the support methods. This should verify that the arguments are compatible with the implementation. If the implementation doesn't support the given arguments, it MUST return nullptr.

Parameters
helperThe helper instance used to callback to JavaScript.
distinctive_identifierThe distinctive identifier requirement.
persistent_stateThe persistent state requirement.
audio_robustnessThe audio robustness requirements.
video_robustnessThe video robustness requirements.
Returns
A new implementation instance, or nullptr if not supported.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ DistinctiveIdentifier()

virtual MediaKeysRequirement shaka::eme::ImplementationFactory::DistinctiveIdentifier ( ) const
pure virtual
Returns
The distinctive identifier requirements of the implementation.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ operator=() [1/2]

ImplementationFactory& shaka::eme::ImplementationFactory::operator= ( ImplementationFactory &&  )
delete

§ operator=() [2/2]

ImplementationFactory& shaka::eme::ImplementationFactory::operator= ( const ImplementationFactory )
delete

§ PersistentState()

virtual MediaKeysRequirement shaka::eme::ImplementationFactory::PersistentState ( ) const
pure virtual
Returns
The persistent state requirements of the implementation.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ SupportsAudioRobustness()

virtual bool shaka::eme::ImplementationFactory::SupportsAudioRobustness ( const std::string &  robustness) const
pure virtual
Returns
Whether this implementation supports the given robustness.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ SupportsInitDataType()

virtual bool shaka::eme::ImplementationFactory::SupportsInitDataType ( MediaKeyInitDataType  type) const
pure virtual
Returns
Whether this implementation supports the given init data type.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ SupportsSessionType()

virtual bool shaka::eme::ImplementationFactory::SupportsSessionType ( MediaKeySessionType  type) const
pure virtual
Returns
Whether this implementation supports the given session type.

Implemented in shaka::eme::ClearKeyImplementationFactory.

§ SupportsVideoRobustness()

virtual bool shaka::eme::ImplementationFactory::SupportsVideoRobustness ( const std::string &  robustness) const
pure virtual
Returns
Whether this implementation supports the given robustness.

Implemented in shaka::eme::ClearKeyImplementationFactory.


The documentation for this class was generated from the following file: