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

#include <hybris_gl_sink.h>

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

Public Member Functions

 ~HybrisGlSink ()
 
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 hybris_gl_sink.h.

Constructor & Destructor Documentation

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

Member Function Documentation

static std::function<video::Sink::Ptr(std::uint32_t)> core::ubuntu::media::video::HybrisGlSink::factory_for_key ( const media::Player::PlayerKey )
static
const core::Signal<void>& core::ubuntu::media::video::HybrisGlSink::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.

bool core::ubuntu::media::video::HybrisGlSink::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.

bool core::ubuntu::media::video::HybrisGlSink::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: