Music Hub  ..
A session-wide music playback service
core::ubuntu::media::video::EglSink Class Reference

#include <egl_sink.h>

+ Inheritance diagram for core::ubuntu::media::video::EglSink:
+ Collaboration diagram for core::ubuntu::media::video::EglSink:

Public Member Functions

 ~EglSink ()
 
const core::Signal< void > & frame_available () const override
 The signal is emitted whenever a new frame is available and a subsequent call to swap_buffers will not block and return true. More...
 
bool transformation_matrix (float *matrix) const override
 Queries the 4x4 transformation matrix for the current frame, placing the data into 'matrix'. More...
 
bool swap_buffers () const override
 Releases the current buffer, and consumes the next buffer in the queue, making it available for consumption by consumers of this API in an implementation-specific way. Clients will usually rely on a GL texture to receive the latest buffer. More...
 

Static Public Member Functions

static std::function< video::Sink::Ptr(std::uint32_t)> factory_for_key (const media::Player::PlayerKey &)
 

Additional Inherited Members

- Public Types inherited from core::ubuntu::media::video::Sink
typedef std::shared_ptr< SinkPtr
 To save us some typing. More...
 

Detailed Description

Definition at line 35 of file egl_sink.h.

Constructor & Destructor Documentation

◆ ~EglSink()

core::ubuntu::media::video::EglSink::~EglSink ( )

Member Function Documentation

◆ factory_for_key()

static std::function<video::Sink::Ptr(std::uint32_t)> core::ubuntu::media::video::EglSink::factory_for_key ( const media::Player::PlayerKey )
static

◆ frame_available()

const core::Signal<void>& core::ubuntu::media::video::EglSink::frame_available ( ) const
overridevirtual

The signal is emitted whenever a new frame is available and a subsequent call to swap_buffers will not block and return true.

Implements core::ubuntu::media::video::Sink.

◆ swap_buffers()

bool core::ubuntu::media::video::EglSink::swap_buffers ( ) const
overridevirtual

Releases the current buffer, and consumes the next buffer in the queue, making it available for consumption by consumers of this API in an implementation-specific way. Clients will usually rely on a GL texture to receive the latest buffer.

Implements core::ubuntu::media::video::Sink.

◆ transformation_matrix()

bool core::ubuntu::media::video::EglSink::transformation_matrix ( float *  matrix) const
overridevirtual

Queries the 4x4 transformation matrix for the current frame, placing the data into 'matrix'.

Parameters
matrix[out] The destination array representing the matrix in column-major format. We expect at least 4*4 float elements in the array.
Returns
true iff the data has been set. Returns false and leaves 'matrix' unchanged in case of issues.

Implements core::ubuntu::media::video::Sink.


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