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

MNStreamer Class Reference

#include <MNStreamer.h>

Inheritance diagram for MNStreamer:

Inheritance graph
[legend]
Collaboration diagram for MNStreamer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MNStreamer (MNSelector &sel, DataPumpResponse *resp)
 MNStreamer (MNSelector &sel, DataPumpResponse *resp, SDPSessionDescription *sdesc)
 this is needed when no SDP-description is stored in the proxy!
virtual ~MNStreamer ()
int getBandwidth (const MNString &DescFileName)
int getBandwidth (int idx, const MNString &DescFileName)
virtual int init (KomServer *streamer, StreamingType type)
virtual bool createUpstreamSocks (int idx, int &requested, RTPSockets::FactoryMode mode, RTSP::TransportTypes requested_transport=RTSP::RTP_AVP_UDP)
virtual bool createDownstreamSocks (int idx, int &requested, RTPSockets::FactoryMode mode, RTSP::TransportTypes requested_transport=RTSP::RTP_AVP_UDP)
virtual bool fillTransportString (int idx, MNString &out, bool mc) const
virtual int stream_start (int idx, const MNString &filename, const MNString &DescFileName, const MNString &client, const MNString &server, int ClientPortAnnounced, int ServerPortAnnounced)
virtual void setupNewServerSideReflectorGM (int idx)
virtual void setupExistingServerSideReflectorGM (int idx)
virtual int play (int start, int stop)
virtual int stop ()
void detach ()
virtual int pause ()
virtual int jump (int cont_time)
virtual void fileComplete (const char *filename, bool comp)
virtual long getFilePos ()
virtual void set_client_port (int a)
virtual void set_client_port (int idx, int a)
void examineSDP ()
 extracts bandwidth and all other information out of the given SDP
virtual void setMulticastInformation (int idx, MNString server, MNSocket *main_rtp, MNSocket *main_rtcp)
virtual void setBufferInformation (int threshold, int size)
virtual bool isPatchingCapable () const
virtual void setNptSeek (int npt)
virtual int getNptSeconds ()
virtual void setRTPTimestamp (int idx, u_int32 rtptime)

Static Public Member Functions

bool check_time (const MNString &DescFileName, MNString &time)

Constructor & Destructor Documentation

MNStreamer::MNStreamer MNSelector sel,
DataPumpResponse resp
 

MNStreamer::MNStreamer MNSelector sel,
DataPumpResponse resp,
SDPSessionDescription sdesc
 

this is needed when no SDP-description is stored in the proxy!

virtual MNStreamer::~MNStreamer  )  [virtual]
 


Member Function Documentation

bool MNStreamer::check_time const MNString DescFileName,
MNString time
[static]
 

virtual bool MNStreamer::createDownstreamSocks int  idx,
int &  requested,
RTPSockets::FactoryMode  mode,
RTSP::TransportTypes  requested_transport = RTSP::RTP_AVP_UDP
[virtual]
 

The data pump tries to create the requested socket as an RTP socket, with the matching RTCP socket as well. The mode determines whether the actual port may differ, and whether the RTCP socket must exist or not. On return, the actually allocated port is returned in the parameter requested.

Parameters:
requested On input, the requested port. On output and in case of success, the actually opened port.
mode DEFAULT indicates that any pair of ports can be opened, FIXED indicates that only the requested port is OK, RTCP_FAIL_OK indicates that only the RTP port is really required.
requested_transport Informs if we are using a tcp or udp port solution
Returns:
true on success, false on error.

Implements dataPump.

virtual bool MNStreamer::createUpstreamSocks int  idx,
int &  requested,
RTPSockets::FactoryMode  mode,
RTSP::TransportTypes  requested_transport = RTSP::RTP_AVP_UDP
[virtual]
 

The data pump tries to create the requested socket as an RTP socket, with the matching RTCP socket as well. The mode determines whether the actual port may differ, and whether the RTCP socket must exist or not. On return, the actually allocated port is returned in the parameter requested.

Parameters:
requested On input, the requested port. On output and in case of success, the actually opened port.
mode DEFAULT indicates that any pair of ports can be opened, FIXED indicates that only the requested port is OK, RTCP_FAIL_OK indicates that only the RTP port is really required.
Returns:
true on success, false on error.

Implements dataPump.

void MNStreamer::detach  ) 
 

void MNStreamer::examineSDP  ) 
 

extracts bandwidth and all other information out of the given SDP

virtual void MNStreamer::fileComplete const char *  filename,
bool  comp
[virtual]
 

Reimplemented from dataPump.

virtual bool MNStreamer::fillTransportString int  idx,
MNString out,
bool  mc
const [virtual]
 

Writes a transport string for an SDP message, containing its specific features.

See also:
dataPump::getTransportString()

Implements dataPump.

int MNStreamer::getBandwidth int  idx,
const MNString DescFileName
 

int MNStreamer::getBandwidth const MNString DescFileName  ) 
 

virtual long MNStreamer::getFilePos  )  [virtual]
 

If the dataPump is streaming, this method returns the current time position in the source file. Else it returns -1!!

Reimplemented from dataPump.

virtual int MNStreamer::getNptSeconds  )  [virtual]
 

Reimplemented from dataPump.

virtual int MNStreamer::init KomServer *  streamer,
StreamingType  type
[virtual]
 

Implements dataPump.

virtual bool MNStreamer::isPatchingCapable  )  const [inline, virtual]
 

If a data pump is capable of patching support, it must overload the functions setMulticastInformation and setBufferInformation that exist only as dummy implementations in this base class. The default is that a data pump is not capable of patching.

Reimplemented from dataPump.

virtual int MNStreamer::jump int  cont_time  )  [virtual]
 

Reimplemented from dataPump.

virtual int MNStreamer::pause  )  [virtual]
 

Reimplemented from dataPump.

virtual int MNStreamer::play int  start,
int  stop
[virtual]
 

Implements dataPump.

virtual void MNStreamer::set_client_port int  idx,
int  a
[inline, virtual]
 

Reimplemented from dataPump.

virtual void MNStreamer::set_client_port int  a  )  [inline, virtual]
 

virtual void MNStreamer::setBufferInformation int  threshold,
int  size
[virtual]
 

A dummy provided for non-patching-capable data pumps and overloaded by patching-capable data pumps.

Reimplemented from dataPump.

virtual void MNStreamer::setMulticastInformation int  idx,
MNString  server,
MNSocket main_rtp,
MNSocket main_rtcp
[virtual]
 

Stores the additional hostname and port of the server which serves the multicast stream when the proxy receives a patch stream. The information of the unicast patch stream is set through the other methods like a normal unicast session!

Changed to setting of bound sockets; if we can't bind the MC socket, we have to fall back to unicast anyway.

virtual void MNStreamer::setNptSeek int  npt  )  [virtual]
 

Reimplemented from dataPump.

virtual void MNStreamer::setRTPTimestamp int  idx,
u_int32  rtptime
[virtual]
 

Reimplemented from dataPump.

virtual void MNStreamer::setupExistingServerSideReflectorGM int  idx  )  [virtual]
 

Reimplemented from dataPump.

virtual void MNStreamer::setupNewServerSideReflectorGM int  idx  )  [virtual]
 

Reimplemented from dataPump.

virtual int MNStreamer::stop  )  [virtual]
 

Implements dataPump.

virtual int MNStreamer::stream_start int  idx,
const MNString filename,
const MNString DescFileName,
const MNString client,
const MNString server,
int  ClientPortAnnounced,
int  ServerPortAnnounced
[virtual]
 

Implements dataPump.


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