Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SendBlockStreamerGM Class Reference
[GraphManager]

#include <SendBlockStreamerGM.h>

Inheritance diagram for SendBlockStreamerGM:

Inheritance graph
[legend]
Collaboration diagram for SendBlockStreamerGM:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SendBlockStreamerGM (GMUser *user, MNSelector &sel)
virtual ~SendBlockStreamerGM ()
virtual void init (int idx)
virtual void uninit ()
virtual u_int32 getSsrc ()
virtual void start ()
virtual void set_hostnames (const MNString &client, const MNString &server)
virtual void set_ports (int idx, MNSocket *locDownRtp, MNSocket *locDownRtcp, int distDown, MNSocket *locUpRtp, MNSocket *locUpRtcp, int distUp)
virtual bool graphManNotify (int idx, SH::Base *caller, SH::Notification attribute, void *msg)
virtual int open_file (int idx, const char *name, int rtp_pt, SDP::PayloadTypes int_pt, u_int32 bw, SDP::RetransTypes int_rt, int packetsize)
virtual int play (int startp, int stopp)
virtual int stop ()
virtual int pause ()
virtual int jump (long pos)
virtual long getFilePos ()
void send_forced (size_t timeout, size_t packetsize)
void stop_forced ()
void recv_forced ()
virtual bool synchronousGet (GetValue what, u_int32 &outVar)
 overloads SHGraphManager::synchronousGet
void set_repeat_times (u_int32)

Constructor & Destructor Documentation

SendBlockStreamerGM::SendBlockStreamerGM GMUser user,
MNSelector sel
 

Create a new SendBlock graph manager to send data from a file to an RTP session. The creation includes the instantiation of a sequence of MNFileSourceSH, MNRTPEncoderSH and MNRTPSinkSH. The SHs are not initialized yet.

Parameters:
user A pointer to the entity that wants to receive callbacks from this stream handlers when necessary.
sel The selector of the main thread, to be passed to the base class.

virtual SendBlockStreamerGM::~SendBlockStreamerGM  )  [virtual]
 

Delete the three stream handlers that comprise this graph manager.


Member Function Documentation

virtual long SendBlockStreamerGM::getFilePos  )  [virtual]
 

Reimplemented from ServerGM.

virtual u_int32 SendBlockStreamerGM::getSsrc  )  [virtual]
 

virtual bool SendBlockStreamerGM::graphManNotify int  idx,
SH::Base caller,
SH::Notification  attribute,
void *  msg
[virtual]
 

Implements SHGraphManager.

virtual void SendBlockStreamerGM::init int  idx  )  [virtual]
 

Retrieve the payload type table from the GMUser object. (this approach must be revised!). Set this payload type table in the MNRTPEncoderSH using the attribute interface. Initialize all stream handlers.

Implements ServerGM.

virtual int SendBlockStreamerGM::jump long  pos  )  [virtual]
 

Implements ServerGM.

virtual int SendBlockStreamerGM::open_file int  idx,
const char *  name,
int  rtp_pt,
SDP::PayloadTypes  int_pt,
u_int32  bw,
SDP::RetransTypes  int_rt,
int  packetsize
[virtual]
 

Parameters:
name The filename
rtp_pt The payload type that must be used in the RTP packet. It is either identical to int_pt or the SDP description that was negotiated between client and server maps it to the int_pt value.
int_pt The actual internal payload type. It is used to select the appropriate encoder.
bw Bandwidth ...
packetsize Requested packetsize ...
Returns:
0 in case of successful initialization of the file and encoder stream handlers, -1 in case of a match or initialization failure.

virtual int SendBlockStreamerGM::pause  )  [virtual]
 

Implements ServerGM.

virtual int SendBlockStreamerGM::play int  startp,
int  stopp
[virtual]
 

Implements ServerGM.

void SendBlockStreamerGM::recv_forced  ) 
 

NOT SUPPORTED right now. For more see send_forced

void SendBlockStreamerGM::send_forced size_t  timeout,
size_t  packetsize
 

The forced functions were introduced into the old Streamer classes (before the GM/SH architecture). They implement a command path that is separate from the regular play/stop path. Here, the caller determines the packet sizes and the interpacket times instead of the codec. It is a function for faking and testing. It is NOT SUPPORTED right now.

Parameters:
timeout Microseconds between two consecutive packets.
packetsize Size of packets in bytes.

virtual void SendBlockStreamerGM::set_hostnames const MNString client,
const MNString server
[virtual]
 

Set the hostnames that this graph manager connects.

Parameters:
client The hostname of the client that this GM will send data to. The hostname may be a dotted decimal address, also a multicast address.
server Must be an empty string (not NULL).

Implements ServerGM.

virtual void SendBlockStreamerGM::set_ports int  idx,
MNSocket locDownRtp,
MNSocket locDownRtcp,
int  distDown,
MNSocket locUpRtp,
MNSocket locUpRtcp,
int  distUp
[virtual]
 

Implements ServerGM.

void SendBlockStreamerGM::set_repeat_times u_int32   )  [inline]
 

Allows the GMUser to define the maximum number of times that an LC-RTP sender can try to complete the loss list before giving up. Currently a dummy.

virtual void SendBlockStreamerGM::start  )  [virtual]
 

If the graph manager is in state stopped, start all stream handlers. If it is in state paused, only the encoder stream handler has been paused before and must be restarted now.

Implements ServerGM.

virtual int SendBlockStreamerGM::stop  )  [virtual]
 

Implements ServerGM.

void SendBlockStreamerGM::stop_forced  ) 
 

NOT SUPPORTED right now. For more see send_forced

virtual bool SendBlockStreamerGM::synchronousGet GetValue  what,
u_int32 outVar
[virtual]
 

overloads SHGraphManager::synchronousGet

Reimplemented from SHGraphManager.

virtual void SendBlockStreamerGM::uninit  )  [virtual]
 

Uninitialize all stream handlers.

Implements ServerGM.


The documentation for this class was generated from the following file:
Generated on Sun Mar 6 13:36:16 2005 for Komssys by doxygen 1.3.8