A video sink abstracts a queue of buffers, that receives a stream of decoded video buffers from an arbitrary source. More...
#include <sink.h>
Public Types | |
typedef std::shared_ptr< Sink > | Ptr |
To save us some typing. More... | |
Public Member Functions | |
virtual const core::Signal< void > & | frame_available () const =0 |
The signal is emitted whenever a new frame is available and a subsequent call to swap_buffers will not block and return true. More... | |
virtual bool | transformation_matrix (float *matrix) const =0 |
Queries the 4x4 transformation matrix for the current frame, placing the data into 'matrix'. More... | |
virtual bool | swap_buffers () const =0 |
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... | |
A video sink abstracts a queue of buffers, that receives a stream of decoded video buffers from an arbitrary source.
typedef std::shared_ptr<Sink> core::ubuntu::media::video::Sink::Ptr |
|
pure virtual |
The signal is emitted whenever a new frame is available and a subsequent call to swap_buffers will not block and return true.
Implemented in core::ubuntu::media::video::EglSink, and core::ubuntu::media::video::HybrisGlSink.
|
pure virtual |
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.
Implemented in core::ubuntu::media::video::EglSink, and core::ubuntu::media::video::HybrisGlSink.
|
pure virtual |
Queries the 4x4 transformation matrix for the current frame, placing the data into 'matrix'.
matrix | [out] The destination array representing the matrix in column-major format. We expect at least 4*4 float elements in the array. |
Implemented in core::ubuntu::media::video::EglSink, and core::ubuntu::media::video::HybrisGlSink.