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

MNRTSPClient Class Reference

#include <MNRTSPClient.h>

Inheritance diagram for MNRTSPClient:

Inheritance graph
[legend]
Collaboration diagram for MNRTSPClient:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MNRTSPClient (MNSelector &selector)
virtual ~MNRTSPClient ()
MNSelectormainSelector ()
void insert (MNSocketBase *sock)
void remove (MNSocketBase *sock)
void set_local_sockaddr (const struct sockaddr_in &addr)
void send_options_request (const char *url)
void send_teardown_request (int idx, const MNString &url)
void send_describe_request (const MNString &url)
void send_setup_request (int rtpPort, const MNString &Url)
void send_play_request (int startpos, int endpos, const MNString &Url)
void send_pause_request (const MNString &url)

Protected Member Functions

bool protected_connect (const char *url)
void protected_disconnect ()
bool isConnected () const
bool isInitialized () const
bool isPlaying () const
int getServerPort ()
bool getMulticast () const
int getMulticastPort () const
bool getBandwidth () const
const char * getServerHostname () const
const char * getHostName ()
int getPlayTimeSeconds () const
MDescPtr getMediaDesc () const
MDescPtr getMediaDesc (int i) const
int getNumSessions () const
virtual const SDP::PayloadTypeTablegetPayloadTypes (int idx)
 GMUser.
virtual SDP::PayloadTypes getInternalPayloadType (int idx)
 GMUser.
virtual int getRTPPayloadType (int idx)
 GMUser.
bool setNotifyEnd ()

Constructor & Destructor Documentation

MNRTSPClient::MNRTSPClient MNSelector selector  ) 
 

virtual MNRTSPClient::~MNRTSPClient  )  [virtual]
 


Member Function Documentation

bool MNRTSPClient::getBandwidth  )  const [protected]
 

const char* MNRTSPClient::getHostName  )  [protected]
 

virtual SDP::PayloadTypes MNRTSPClient::getInternalPayloadType int  idx  )  [protected, virtual]
 

GMUser.

Implements GMUser.

MDescPtr MNRTSPClient::getMediaDesc int  i  )  const [protected]
 

MDescPtr MNRTSPClient::getMediaDesc  )  const [protected]
 

Returns the media description associated with a session or a subsession

bool MNRTSPClient::getMulticast  )  const [protected]
 

int MNRTSPClient::getMulticastPort  )  const [protected]
 

int MNRTSPClient::getNumSessions  )  const [protected]
 

Returns the number of tracks / subsessions in a movie according to the session description.

virtual const SDP::PayloadTypeTable* MNRTSPClient::getPayloadTypes int  idx  )  [protected, virtual]
 

GMUser.

Implements GMUser.

int MNRTSPClient::getPlayTimeSeconds  )  const [protected]
 

Returns the length of the current session description in seconds. This information is usually derived from the a=range: field of the session part of an SDP description. If the SDP describes several streams and the streams have several length, the a=range: attribute may be part of the media-specific descriptions instead. Because of a bug in our implementation, we must also check whether the t= field is present, if the a=range: is not. We have mistakenly stored the information in that field. If such a field is not present, this function fails.

Returns:
-1 if no time information is present or if it is obviously incorrect. Otherwise, the approximate length of the media file in seconds from the start of playback.

virtual int MNRTSPClient::getRTPPayloadType int  idx  )  [protected, virtual]
 

GMUser.

Implements GMUser.

const char* MNRTSPClient::getServerHostname  )  const [protected]
 

int MNRTSPClient::getServerPort  )  [protected]
 

void MNRTSPClient::insert MNSocketBase sock  ) 
 

Add this socket to the starter's list of observed sockets.

bool MNRTSPClient::isConnected  )  const [protected]
 

bool MNRTSPClient::isInitialized  )  const [protected]
 

bool MNRTSPClient::isPlaying  )  const [protected]
 

MNSelector& MNRTSPClient::mainSelector  )  [inline]
 

bool MNRTSPClient::protected_connect const char *  url  )  [protected]
 

void MNRTSPClient::protected_disconnect  )  [protected]
 

void MNRTSPClient::remove MNSocketBase sock  ) 
 

void MNRTSPClient::send_describe_request const MNString url  ) 
 

void MNRTSPClient::send_options_request const char *  url  ) 
 

void MNRTSPClient::send_pause_request const MNString url  ) 
 

void MNRTSPClient::send_play_request int  startpos,
int  endpos,
const MNString Url
 

Sends aggregate PLAY for the whole session. range parameter are given as type int. Change position params to float, since one second resolution may not be enough.

void MNRTSPClient::send_setup_request int  rtpPort,
const MNString Url
 

Sends SETUP for a certain track. The track id is figured out from the information how many subsessions have been setup already. This should be revised in future.

Parameters:
rtpPort Open RTP port for a certain subsession
Url URL string of media

void MNRTSPClient::send_teardown_request int  idx,
const MNString url
 

Sends TEARDOWN for a certain track. Note: Some servers, however, expect only one TEARDOWN and close the whole session.

void MNRTSPClient::set_local_sockaddr const struct sockaddr_in &  addr  ) 
 

When the connection to the RTSP server or proxy is made, the best local host address has been chosen by the network stack. We use that address as the destination to send to the server for RTP.

bool MNRTSPClient::setNotifyEnd  )  [protected]
 

The GUI wants to be informed when the current stream ends. For RTSP, this requires a timer and the length of the stream from the SDP description. The notification object is attached to the TimerCall that handles this request. This can be repeated an arbitrary number of times


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