76 throw error::Logic (
"Attempt to open/allocate an OutputSlot already in use.");
97 return impl().claimBufferFor(frameNr);
105 if (connection.
isTimely(frameNr,currentTime))
basic constant internal time value.
Handle for a buffer for processing data, abstracting away the actual implementation.
BuffHandle lockBufferFor(FrameID)
void emit(FrameID, BuffHandle const &, TimeValue currentTime=Time::ANYTIME)
~Allocation()
never to be managed by clients directly
virtual bool isTimely(FrameID, TimeValue)=0
virtual void discard(BuffHandle const &)=0
virtual void transfer(BuffHandle const &)=0
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?
Lumiera error handling (C++ interface).
LumieraError< LERR_(LOGIC)> Logic
Steam-Layer implementation namespace root.
Interface for concrete output implementations to talk to the OutputSlot frontend.
An (abstract) capability to send media data to an external output.