38 #ifndef STEAM_PLAY_OUTPUT_SLOT_CONNECTION_H 39 #define STEAM_PLAY_OUTPUT_SLOT_CONNECTION_H 103 virtual BuffHandle claimBufferFor(FrameID) =0;
104 virtual bool isTimely (FrameID,
TimeValue) =0;
108 virtual void shutDown () =0;
169 Connections connections_;
178 REQUIRE (this->isActive());
179 return lib::iter_source::transform (eachElm(connections_), connectOutputSink);
183 getTimingConstraints()
185 UNIMPLEMENTED (
"find out about timing constraints");
191 return 0 < connections_.size();
195 access (uint chanNr)
const 197 return connections_[chanNr];
206 connections_.
populate_by (&ConnectionManager::buildConnection,
this);
209 typedef typename Connections::ElementHolder& ConnectionStorage;
213 virtual void buildConnection(ConnectionStorage) =0;
217 : connections_(numChannels)
230 connectOutputSink (CON& connection)
232 TRACE (
test,
"activating Con=%p", &connection );
235 newSink.
activate(&connection, shutdownConnection);
An (abstract) capability to send media data to an external output.
Generic frame timing specification.
Any copy and copy construction prohibited.
Maintaining a list of active connections.
denotes an opened connection ready to receive media data for output.
Steam-Layer implementation namespace root.
void populate_by(CTOR builder)
init all elements at once, invoking a builder functor for each.
Managing a collection of non-copyable polymorphic objects in compact storage.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Base for OutputSlot standard implementation.
Extension point for Implementation.
_SeqT< CON >::Range eachElm(CON &coll)
Lumiera error handling (C++ interface).
Interface: Generic output sink.
Handle for a buffer for processing data, abstracting away the actual implementation.
Handle & activate(IMP *impl, DEL whenDead)
Activation of the handle by the managing service.
A generic opaque handle to an implementation entity, including lifecycle management.
Preconfigured adapters for some STL container standard usage situations.
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
basic constant internal time value.