65 #ifndef STEAM_PLAY_OUTPUT_SLOT_H 66 #define STEAM_PLAY_OUTPUT_SLOT_H 89 using std::unique_ptr;
95 typedef FrameCnt FrameID;
119 unique_ptr<ConnectionState> state_;
135 virtual OpenedSinks getOpenedSinks() =0;
136 virtual bool isActive()
const =0;
138 virtual Timings getTimingConstraints() =0;
179 return not (sink1 and sink2)
181 and & sink1.impl() == & sink2.impl());
185 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.