56 #ifndef STEAM_PLAY_OUTPUT_SLOT_H 57 #define STEAM_PLAY_OUTPUT_SLOT_H 80 using std::unique_ptr;
86 typedef FrameCnt FrameID;
110 unique_ptr<ConnectionState> state_;
126 virtual OpenedSinks getOpenedSinks() =0;
127 virtual bool isActive()
const =0;
129 virtual Timings getTimingConstraints() =0;
170 return not (sink1 and sink2)
172 and & sink1.impl() == & sink2.impl());
176 return not (sink1 == sink2);
static const Time ANYTIME
border condition marker value. ANYTIME <= any time value
Generic opaque reference counting handle, for accessing a service and managing its lifecycle...
virtual ConnectionState * buildState()=0
build the connected state, based on the existing configuration within this concrete OutputSlot ...
Generic frame timing specification.
Any copy and copy construction prohibited.
denotes an opened connection ready to receive media data for output.
Steam-Layer implementation namespace root.
Lumiera's internal time value datatype.
bool isFree() const
can this OutputSlot be allocated?
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Extension point for Implementation.
void disconnect()
disconnect from this OutputSlot
~Allocation()
never to be managed by clients directly
Lumiera error handling (C++ interface).
Interface: Generic output sink.
Allocation & allocate()
claim this slot for exclusive use
Handle for a buffer for processing data, abstracting away the actual implementation.
How to define a timing specification or constraint.
Interface: a facility providing and managing working buffers for media calculations.
A generic opaque handle to an implementation entity, including lifecycle management.
int64_t FrameCnt
relative framecount or frame number.
a family of time value like entities and their relationships.
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
basic constant internal time value.
Abstraction to represent buffer management and lifecycle within the render engine.