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