Shaka Player Embedded
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
shaka::js::mse::MediaSource Class Reference

#include <media_source.h>

Inheritance diagram for shaka::js::mse::MediaSource:
shaka::js::events::EventTarget shaka::media::Demuxer::Client shaka::BackingObject shaka::memory::Traceable

Public Member Functions

 MediaSource ()
 
void Trace (memory::HeapTracer *tracer) const override
 
ExceptionOr< RefPtr< SourceBuffer > > AddSourceBuffer (const std::string &type)
 
ExceptionOr< void > EndOfStream (optional< std::string > error)
 
double GetDuration () const
 
ExceptionOr< void > SetDuration (double duration)
 
void OpenMediaSource (RefPtr< HTMLMediaElement > video, media::MediaPlayer *player)
 
void CloseMediaSource ()
 
- Public Member Functions inherited from shaka::js::events::EventTarget
 EventTarget ()
 
void AddEventListener (const std::string &type, Listener callback)
 
void SetCppEventListener (EventType type, std::function< void()> callback)
 
void RemoveEventListener (const std::string &type, Listener callback)
 
void UnsetCppEventListener (EventType type)
 
ExceptionOr< bool > DispatchEvent (RefPtr< Event > event)
 
ExceptionOr< bool > DispatchEventInternal (RefPtr< Event > event, bool *did_listeners_throw)
 
template<typename EventType , typename... Args>
std::shared_ptr< ThreadEvent< bool > > ScheduleEvent (Args &&... args)
 
template<typename EventType , typename... Args>
ExceptionOr< bool > RaiseEvent (Args... args)
 
- Public Member Functions inherited from shaka::BackingObject
 BackingObject ()
 
void Trace (memory::HeapTracer *tracer) const override
 
bool IsRootedAlive () const override
 
std::string name () const
 
virtual BackingObjectFactoryBasefactory () const =0
 
bool DerivedFrom (const std::string &base)
 
ReturnVal< JsValue > JsThis () const
 
void SetJsThis (Handle< JsObject > this_)
 
- Public Member Functions inherited from shaka::memory::Traceable
virtual ~Traceable ()
 
virtual bool IsShortLived () const
 
- Public Member Functions inherited from shaka::media::Demuxer::Client
 Client ()
 
virtual ~ Client ()
 
 Client (const Client &)=delete
 
Clientoperator= (const Client &)=delete
 
 Client (Client &&)=delete
 
Clientoperator= (Client &&)=delete
 
virtual void OnEncrypted (eme::MediaKeyInitDataType type, const uint8_t *data, size_t size)=0
 

Static Public Member Functions

static MediaSourceCreate ()
 
static bool IsTypeSupported (const std::string &mime_type)
 
static RefPtr< MediaSourceFindMediaSource (const std::string &url)
 
- Static Public Member Functions inherited from shaka::BackingObject
static void * operator new[] (size_t size)=delete
 
static void operator delete[] (void *)=delete
 

Public Attributes

Listener on_source_open
 
Listener on_source_ended
 
Listener on_source_close
 
MediaSourceReadyState ready_state
 
const std::string url
 

Additional Inherited Members

- Public Types inherited from shaka::js::events::EventTarget
using Listener = optional< Callback >
 
- Static Public Attributes inherited from shaka::BackingObject
static constexpr const size_t kInternalFieldCount = 2
 
- Static Public Attributes inherited from shaka::memory::Traceable
static constexpr const uint64_t kShortLiveDurationMs = 5000
 
- Protected Member Functions inherited from shaka::js::events::EventTarget
void AddListenerField (EventType type, Listener *on_field)
 
- Protected Member Functions inherited from shaka::BackingObject
 ~BackingObject () override
 

Detailed Description

Definition at line 46 of file media_source.h.

Constructor & Destructor Documentation

§ MediaSource()

END_ALLOW_COMPLEX_STATICS shaka::js::mse::MediaSource::MediaSource ( )

Definition at line 71 of file media_source.cc.

Member Function Documentation

§ AddSourceBuffer()

ExceptionOr< RefPtr< SourceBuffer > > shaka::js::mse::MediaSource::AddSourceBuffer ( const std::string &  type)

Definition at line 121 of file media_source.cc.

§ CloseMediaSource()

void shaka::js::mse::MediaSource::CloseMediaSource ( )

Called when the media source gets detached.

Definition at line 226 of file media_source.cc.

§ Create()

static MediaSource* shaka::js::mse::MediaSource::Create ( )
inlinestatic

Definition at line 52 of file media_source.h.

§ EndOfStream()

ExceptionOr< void > shaka::js::mse::MediaSource::EndOfStream ( optional< std::string >  error)

Definition at line 167 of file media_source.cc.

§ FindMediaSource()

RefPtr< MediaSource > shaka::js::mse::MediaSource::FindMediaSource ( const std::string &  url)
static

Definition at line 108 of file media_source.cc.

§ GetDuration()

double shaka::js::mse::MediaSource::GetDuration ( ) const

Definition at line 192 of file media_source.cc.

§ IsTypeSupported()

Doxygen_Skip bool shaka::js::mse::MediaSource::IsTypeSupported ( const std::string &  mime_type)
static

Definition at line 92 of file media_source.cc.

§ OpenMediaSource()

void shaka::js::mse::MediaSource::OpenMediaSource ( RefPtr< HTMLMediaElement video,
media::MediaPlayer player 
)

Called when this MediaSource gets attached to a video element.

Definition at line 216 of file media_source.cc.

§ SetDuration()

ExceptionOr< void > shaka::js::mse::MediaSource::SetDuration ( double  duration)

Definition at line 196 of file media_source.cc.

§ Trace()

void shaka::js::mse::MediaSource::Trace ( memory::HeapTracer tracer) const
overridevirtual

Called during a GC run. This should call HeapTracer::Trace on all Traceable members. Be sure to call the base method when overriding.

Reimplemented from shaka::js::events::EventTarget.

Definition at line 114 of file media_source.cc.

Member Data Documentation

§ on_source_close

Listener shaka::js::mse::MediaSource::on_source_close

Definition at line 77 of file media_source.h.

§ on_source_ended

Listener shaka::js::mse::MediaSource::on_source_ended

Definition at line 76 of file media_source.h.

§ on_source_open

Listener shaka::js::mse::MediaSource::on_source_open

Definition at line 75 of file media_source.h.

§ ready_state

MediaSourceReadyState shaka::js::mse::MediaSource::ready_state

Definition at line 79 of file media_source.h.

§ url

const std::string shaka::js::mse::MediaSource::url

Definition at line 80 of file media_source.h.


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