37 OutputSlot::~OutputSlot() { }
41 OutputSlot::Connection::~Connection() { }
54 return not this->state_;
76 throw error::Logic (
"Attempt to open/allocate an OutputSlot already in use.");
95 DataSink::lockBufferFor(FrameID frameNr)
97 return impl().claimBufferFor(frameNr);
105 if (connection.isTimely(frameNr,currentTime))
106 connection.transfer(data2emit);
108 connection.discard(data2emit);
An (abstract) capability to send media data to an external output.
virtual ConnectionState * buildState()=0
build the connected state, based on the existing configuration within this concrete OutputSlot ...
Steam-Layer implementation namespace root.
Derived specific exceptions within Lumiera's exception hierarchy.
bool isFree() const
can this OutputSlot be allocated?
void disconnect()
disconnect from this OutputSlot
Interface for concrete output implementations to talk to the OutputSlot frontend. ...
~Allocation()
never to be managed by clients directly
Lumiera error handling (C++ interface).
Allocation & allocate()
claim this slot for exclusive use
Handle for a buffer for processing data, abstracting away the actual implementation.
basic constant internal time value.