Tizen WASM Player
Tizen TV WebAssembly Media Player extension allowing for a low-level elementary media stream playback.
|
Wraps HTMLMediaElement
so that it can be used in WebAssembly code.
More...
#include <html_media_element.h>
Public Types | |
enum | ReadyState { ReadyState::kHaveNothing, ReadyState::kHaveMetadata, ReadyState::kHaveCurrentData, ReadyState::kHaveFutureData, ReadyState::kHaveEnoughData } |
Friends | |
class | wasm::ElementaryMediaStreamSource |
Wraps HTMLMediaElement
so that it can be used in WebAssembly code.
HTMLMediaElement
is used with wasm::ElementaryMediaStreamSource
and it acts as a playback control element, providing operations like play, pause, seek, etc. That is, HTMLMediaElement
controls Media Player.
HTMLMediaElement
is associated with either <audio>
or <video>
tag in HTML, allowing to position playback area. Relevant part of HTMLMediaElement
WebAPI is wrapped by the class below.
HTMLMediaElement
events and methods when operating Media Player. For example, wasm::ElementaryMediaStreamSource
will signal when Media Player requires media data. However, the moment Media Player starts reading media data is not always the very same moment a playback can be started. Readiness for playback will be signalized by HTMLMediaElement
by the means of HTMLMediaElementListener::OnCanPlay()
event.wasm::ElementaryMediaStreamSource
.Definition at line 53 of file html_media_element.h.
|
strong |
Enumerator | |
---|---|
kHaveNothing | |
kHaveMetadata | |
kHaveCurrentData | |
kHaveFutureData | |
kHaveEnoughData |
Definition at line 55 of file html_media_element.h.
|
explicit |
Constructs HTMLMediaElement
corresponding to a HTML element with a given id. Provided element must exist, otherwise object will be ill-constructed.
[in] | id | Id of either <audio> or <video> HTML element. |
|
delete |
samsung::html::HTMLMediaElement::HTMLMediaElement | ( | HTMLMediaElement && | ) |
samsung::html::HTMLMediaElement::~HTMLMediaElement | ( | ) |
wasm::Result<wasm::Seconds> samsung::html::HTMLMediaElement::GetCurrentTime | ( | ) | const |
wasm::Result<wasm::Seconds> samsung::html::HTMLMediaElement::GetDuration | ( | ) | const |
wasm::Result<ReadyState> samsung::html::HTMLMediaElement::GetReadyState | ( | ) | const |
wasm::Result<std::string> samsung::html::HTMLMediaElement::GetSrc | ( | ) | const |
bool samsung::html::HTMLMediaElement::HasSrc | ( | ) | const |
wasm::Result<bool> samsung::html::HTMLMediaElement::IsAutoplay | ( | ) | const |
wasm::Result<bool> samsung::html::HTMLMediaElement::IsEnded | ( | ) | const |
wasm::Result<bool> samsung::html::HTMLMediaElement::IsLoop | ( | ) | const |
wasm::Result<bool> samsung::html::HTMLMediaElement::IsPaused | ( | ) | const |
bool samsung::html::HTMLMediaElement::IsValid | ( | ) | const |
Returns true
if this instance is valid. This method should be called after constructor to ensure the object was properly initialized. If object is invalid all method calls will fail.
true
if this instance is valid, otherwise false
.
|
delete |
HTMLMediaElement& samsung::html::HTMLMediaElement::operator= | ( | HTMLMediaElement && | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::Pause | ( | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::Play | ( | std::function< void(wasm::OperationResult)> | finished_callback | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::SetAutoplay | ( | bool | new_autoplay | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::SetCurrentTime | ( | wasm::Seconds | new_time | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::SetListener | ( | HTMLMediaElementListener * | listener | ) |
Sets a listener to receive updates about HTMLMediaElement
. Only one listener can be set: setting another clears the previous one. Pass nullptr
to reset the listener.
[in] | listener | Listener to be set or nullptr to unset the listener. |
Result<void>
with operation_result
field set to OperationResult::kSuccess
on success, otherwise a code describing the error.HTMLMediaElementListener
wasm::Result<void> samsung::html::HTMLMediaElement::SetLoop | ( | bool | new_loop | ) |
wasm::Result<void> samsung::html::HTMLMediaElement::SetSrc | ( | wasm::ElementaryMediaStreamSource * | source | ) |
Sets wasm::ElementaryMediaStreamSource
object as the current source of playback data. This is equivalent of
in JS. URL is maintained by wasm::ElementaryMediaStreamSource
and is not revoked manually.
wasm::ElementaryMediaStreamSource
object. It is imperative that the underlying HTML object (HTMLMediaElement
) outlives wasm::ElementaryMediaStreamSource
.[in] | source | New source to be set. |
Result<void>
with operation_result
field set to OperationResult::kSuccess
on success, otherwise a code describing the error.
|
friend |
Definition at line 156 of file html_media_element.h.