Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
proc::play Namespace Reference

Description

Playback and rendering control subsystem.

The so called "player" combines and orchestrates services from the engine, session and backend to perform playback or rendering

Namespaces

 sound
 
 test
 

Typedefs

typedef function< Feed(ModelPort)> FeedBuilder
 
typedef FrameCnt FrameID
 
typedef lib::IterSource
< mobject::ModelPort >
::iterator 
ModelPorts
 
typedef POutputManager Output
 
typedef std::vector< FeedOutputFeeds
 
typedef shared_ptr< OutputManagerPOutputManager
 
typedef
EngineService::QoS_Definition 
RenderQuality
 

Enumerations

enum  PlaybackUrgency {
  ASAP,
  NICE,
  TIMEBOUND
}
 

Classes

class  DataSink
 denotes an opened connection ready to receive media data for output. More...
 
class  DiagnosticOutputSlot
 Helper for unit tests: Mock output sink. More...
 
class  DummyPlayConnection
 Framework for dummy playback and rendering. More...
 
class  DummyPlayerService
 Actual implementation of the DummyPlayer service. More...
 
class  Feed
 Rendering data feed, corresponding to a single global pipe and to be delivered into a single OutputSlot. More...
 
class  OutputDirector
 Management of external Output connections. More...
 
class  OutputManager
 Management of external Output connections. More...
 
class  OutputSlot
 Interface: Generic output sink. More...
 
class  OutputSlotImplBase
 Base for OutputSlot standard implementation. More...
 
class  PlayController
 TODO do we still need that?????? Isn't lumiera::Play::Controller already sufficient? More...
 
class  PlayProcess
 Playback/Render process within the Lumiera Player. More...
 
class  PlayService
 Implementation access point: Player subsystem. More...
 
struct  PlayTestFrames_Strategy
 
class  ProcessImpl
 Actual implementation of a single (dummy) playback process. More...
 
class  ProcessTable
 
class  RenderConfigurator
 Strategy for configuring the render process. More...
 
class  Timings
 Generic frame timing specification. More...
 
class  TrackingInMemoryBlockSequence
 Diagnostic output connection for a single channel, allowing to track generated frames and verify the processing protocol for output buffers. More...
 

Functions

RenderConfigurator::ConnectFunction buildRenderConfiguration (POutputManager outputPossibilities, Timings playbackTimings)
 Factory function to build a RenderConfigurator specifically tailored for a PlayProcess, about to be started. More...
 
 LUMIERA_ERROR_DECLARE (CANT_PLAY)
 unable to build playback or render process for this configuration More...
 
 LUMIERA_ERROR_DEFINE (CANT_PLAY,"unable to build playback or render process for this configuration")
 

Typedef Documentation

typedef lib::IterSource< ModelPort >::iterator ModelPorts

Definition at line 112 of file dummy-play-connection.hpp.

Definition at line 78 of file output-manager.hpp.

typedef FrameCnt FrameID

Definition at line 93 of file output-slot.hpp.

typedef function<Feed(ModelPort)> FeedBuilder

Definition at line 109 of file play-process.hpp.

typedef std::vector<Feed> OutputFeeds

Definition at line 110 of file play-process.hpp.

Definition at line 91 of file play-service.cpp.

typedef EngineService::QoS_Definition RenderQuality

Definition at line 55 of file render-configurator.cpp.

Enumeration Type Documentation

Enumerator
ASAP 
NICE 
TIMEBOUND 

Definition at line 79 of file timings.hpp.


Class Documentation

struct proc::play::PlayTestFrames_Strategy
+ Collaboration diagram for PlayTestFrames_Strategy:

Function Documentation

LUMIERA_ERROR_DECLARE ( CANT_PLAY  )

unable to build playback or render process for this configuration

proc::play::LUMIERA_ERROR_DEFINE ( CANT_PLAY  ,
"unable to build playback or render process for this configuration"   
)
RenderConfigurator::ConnectFunction buildRenderConfiguration ( POutputManager  outputPossibilities,
Timings  playTimings 
)

Factory function to build a RenderConfigurator specifically tailored for a PlayProcess, about to be started.

this builder function is used by the PlayService when it comes to creating a new PlayProcess. The generated ConnectFunction treats a single ModelPort to produce a suitable rendering setup, pulling data from this port; it thus embodies the specific knowledge how to configure and setup the rendering or playback at the EngineFacade, based on the playback speed and quality desirable for this playback process to be initiated.

Remarks
building a special subclass here and managing this instance by smart-ptr. Then wrapping all of this up into a functor, which can thus be passed on by value. This functor will later on be used to transform each desired model port into a suitable output connection, where the actual output will be resolved through the given OutputManager
Parameters
outputPossibilitiesan OutputManager instance describing the situation where output is about to be generated (e.g. a viewer in the GUI or a file to be rendered)
playbackTimingscharacterisation of the kind of play/render. Besides the required delivery interval, this might also define quality-of-service expectations.
Returns
the public access point to an RenderConfigurator, wrapped as generic function object

Definition at line 161 of file render-configurator.cpp.

References RenderConfigurator::buildActiveFeed().

Referenced by PlayService::connect().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: