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

FileStreamerGM Class Reference
[GraphManager]

#include <FileStreamerGM.h>

Inheritance diagram for FileStreamerGM:

Inheritance graph
[legend]
Collaboration diagram for FileStreamerGM:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FileStreamerGM (GMUser *user, MNSelector &sel, bool useDummyLayerSource=false, RTSP::TransportTypes requested_transport=RTSP::RTP_AVP_UDP)
virtual ~FileStreamerGM ()
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

FileStreamerGM::FileStreamerGM GMUser user,
MNSelector sel,
bool  useDummyLayerSource = false,
RTSP::TransportTypes  requested_transport = RTSP::RTP_AVP_UDP
 

Create a new FileStreamer 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.
useDummyLayerSource If this parameter is true, the source stream handler will not be a file but a dummy source that releases packets which consist of a sequence number and a priority but that contain no data.

virtual FileStreamerGM::~FileStreamerGM  )  [virtual]
 

Delete the three stream handlers that comprise this graph manager.


Member Function Documentation

virtual long FileStreamerGM::getFilePos  )  [virtual]
 

Reimplemented from ServerGM.

virtual u_int32 FileStreamerGM::getSsrc  )  [virtual]
 

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

Implements SHGraphManager.

virtual void FileStreamerGM::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 FileStreamerGM::jump long  pos  )  [virtual]
 

Implements ServerGM.

virtual int FileStreamerGM::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.
int_rt The retransmission method type. It is used to select the correct RT method in the SHs.
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 FileStreamerGM::pause  )  [virtual]
 

Implements ServerGM.

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

Implements ServerGM.

void FileStreamerGM::recv_forced  ) 
 

NOT SUPPORTED right now. For more see send_forced

void FileStreamerGM::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 FileStreamerGM::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 FileStreamerGM::set_ports int  idx,
MNSocket locDownRtp,
MNSocket locDownRtcp,
int  distDown,
MNSocket locUpRtp,
MNSocket locUpRtcp,
int  distUp
[virtual]
 

Implements ServerGM.

void FileStreamerGM::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 FileStreamerGM::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 FileStreamerGM::stop  )  [virtual]
 

Implements ServerGM.

void FileStreamerGM::stop_forced  ) 
 

NOT SUPPORTED right now. For more see send_forced

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

overloads SHGraphManager::synchronousGet

Reimplemented from SHGraphManager.

virtual void FileStreamerGM::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:35:54 2005 for Komssys by doxygen 1.3.8