Music Hub  ..
A session-wide music playback service
lomiri::MediaHub::VideoSink Class Referenceabstract

A video sink abstracts a queue of buffers, that receives a stream of decoded video buffers from an arbitrary source. More...

#include <video_sink.h>

+ Inheritance diagram for lomiri::MediaHub::VideoSink:
+ Collaboration diagram for lomiri::MediaHub::VideoSink:

Signals

void frameAvailable ()
 The signal is emitted whenever a new frame is available and a subsequent call to swapBuffers() will not block and return true. More...
 

Public Member Functions

virtual ~VideoSink ()
 
const QMatrix4x4 & transformationMatrix () const
 Queries the 4x4 transformation matrix for the current frame. More...
 
virtual bool swapBuffers ()=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...
 

Protected Member Functions

 VideoSink (VideoSinkPrivate *d, QObject *parent=nullptr)
 

Protected Attributes

QScopedPointer< VideoSinkPrivated_ptr
 

Detailed Description

A video sink abstracts a queue of buffers, that receives a stream of decoded video buffers from an arbitrary source.

Definition at line 34 of file video_sink.h.

Constructor & Destructor Documentation

◆ ~VideoSink()

VideoSink::~VideoSink ( )
virtualdefault

◆ VideoSink()

VideoSink::VideoSink ( VideoSinkPrivate d,
QObject parent = nullptr 
)
protected

Definition at line 39 of file video_sink.cpp.

Member Function Documentation

◆ frameAvailable

void lomiri::MediaHub::VideoSink::frameAvailable ( )
signal

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

◆ swapBuffers()

virtual bool lomiri::MediaHub::VideoSink::swapBuffers ( )
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 lomiri::MediaHub::HybrisVideoSink, NullVideoSink, and lomiri::MediaHub::EglVideoSink.

◆ transformationMatrix()

const QMatrix4x4 & VideoSink::transformationMatrix ( ) const

Queries the 4x4 transformation matrix for the current frame.

Definition at line 47 of file video_sink.cpp.

Member Data Documentation

◆ d_ptr

QScopedPointer<VideoSinkPrivate> lomiri::MediaHub::VideoSink::d_ptr
protected

Definition at line 66 of file video_sink.h.


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