Enum media::GLPlayerMsg

source ·
pub enum GLPlayerMsg {
    RegisterPlayer(GLPlayerSender<GLPlayerMsgForward>),
    UnregisterPlayer(u64),
    Lock(u64, GLPlayerSender<(u32, Size2D<i32>, usize)>),
    Unlock(u64),
    Exit,
}
Expand description

GLPlayer thread Message API

These are the messages that the thread will receive from the constellation, the webrender::ExternalImageHandle demultiplexor implementation, or a htmlmediaelement

Variants§

§

RegisterPlayer(GLPlayerSender<GLPlayerMsgForward>)

Registers an instantiated player in DOM

§

UnregisterPlayer(u64)

Unregisters a player’s ID

§

Lock(u64, GLPlayerSender<(u32, Size2D<i32>, usize)>)

Locks a specific texture from a player. Lock messages are used for a correct synchronization with WebRender external image API.

WR locks a external texture when it wants to use the shared texture contents.

The WR client should not change the shared texture content until the Unlock call.

Currently OpenGL Sync Objects are used to implement the synchronization mechanism.

§

Unlock(u64)

Unlocks a specific texture from a player. Unlock messages are used for a correct synchronization with WebRender external image API.

The WR unlocks a context when it finished reading the shared texture contents.

Unlock messages are always sent after a Lock message.

§

Exit

Frees all resources and closes the thread.

Trait Implementations§

source§

impl Debug for GLPlayerMsg

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GLPlayerMsg

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GLPlayerMsg

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,