Streamed Media

Overview

  ---                  ...
  | | - DBus object    : : - other object
  ---                  '''

  --------------------                      --------------
  |Connection Manager|                      |StreamEngine|
  --------------------                      --------------
     |                                         |
  ----------------------                    ......... 
  |StreamedMediaChannel|                    :Channel:
  ----------------------                    '''''''''
     |                                         |
  ----------------                          .........   .................
  |SessionHandler|           <--->          :Session:---:FarsightSession:
  ----------------                          '''''''''   '''''''''''''''''
     |                                         |
  ---------------                           ........   ................
  |StreamHandler|            <--->          :Stream:---:FarsightStream:
  ---------------                           ''''''''   ''''''''''''''''

http://people.collabora.co.uk/~alban/docs/schema-farsight.png

Stream Engine

Stream Engine effectively exports Farsight to D-Bus. When it's told to handle a particular streamed media channel, it creates sessions and streams that mirror the channels's session handlers and stream handlers. Singals raised and methods called by the connection manager are translated to Farsight and vice versa.

Stream Engine implements two D-Bus interfaces:

Process