live
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes | Friends
MediaSubsession Class Reference

#include <MediaSession.hh>

Collaboration diagram for MediaSubsession:
Collaboration graph
[legend]

Public Member Functions

MediaSessionparentSession ()
 
MediaSession const & parentSession () const
 
unsigned short clientPortNum () const
 
unsigned char rtpPayloadFormat () const
 
char const * savedSDPLines () const
 
char const * mediumName () const
 
char const * codecName () const
 
char const * protocolName () const
 
char const * controlPath () const
 
Boolean isSSM () const
 
unsigned short videoWidth () const
 
unsigned short videoHeight () const
 
unsigned videoFPS () const
 
unsigned numChannels () const
 
float & scale ()
 
float & speed ()
 
RTPSourcertpSource ()
 
RTCPInstancertcpInstance ()
 
unsigned rtpTimestampFrequency () const
 
Boolean rtcpIsMuxed () const
 
FramedSourcereadSource ()
 
void addFilter (FramedFilter *filter)
 
double playStartTime () const
 
double playEndTime () const
 
char * absStartTime () const
 
char * absEndTime () const
 
double & _playStartTime ()
 
double & _playEndTime ()
 
char *& _absStartTime ()
 
char *& _absEndTime ()
 
Boolean initiate (int useSpecialRTPoffset=-1)
 
void deInitiate ()
 
Boolean setClientPortNum (unsigned short portNum)
 
void receiveRawMP3ADUs ()
 
void receiveRawJPEGFrames ()
 
char *& connectionEndpointName ()
 
char const * connectionEndpointName () const
 
unsigned bandwidth () const
 
char const * attrVal_str (char const *attrName) const
 
char const * attrVal_strToLower (char const *attrName) const
 
unsigned attrVal_int (char const *attrName) const
 
unsigned attrVal_unsigned (char const *attrName) const
 
Boolean attrVal_bool (char const *attrName) const
 
char const * fmtp_config () const
 
char const * fmtp_configuration () const
 
char const * fmtp_spropparametersets () const
 
char const * fmtp_spropvps () const
 
char const * fmtp_spropsps () const
 
char const * fmtp_sproppps () const
 
netAddressBits connectionEndpointAddress () const
 
void setDestinations (netAddressBits defaultDestAddress)
 
char const * sessionId () const
 
void setSessionId (char const *sessionId)
 
double getNormalPlayTime (struct timeval const &presentationTime)
 

Data Fields

unsigned short serverPortNum
 
unsigned char rtpChannelId
 
unsigned char rtcpChannelId
 
MediaSinksink
 
void * miscPtr
 
struct {
   u_int16_t   seqNum
 
   u_int32_t   timestamp
 
   Boolean   infoIsNew
 
rtpInfo
 

Protected Member Functions

 MediaSubsession (MediaSession &parent)
 
virtual ~MediaSubsession ()
 
UsageEnvironmentenv ()
 
void setNext (MediaSubsession *next)
 
void setAttribute (char const *name, char const *value=NULL, Boolean valueIsHexadecimal=False)
 
Boolean parseSDPLine_c (char const *sdpLine)
 
Boolean parseSDPLine_b (char const *sdpLine)
 
Boolean parseSDPAttribute_rtpmap (char const *sdpLine)
 
Boolean parseSDPAttribute_rtcpmux (char const *sdpLine)
 
Boolean parseSDPAttribute_control (char const *sdpLine)
 
Boolean parseSDPAttribute_range (char const *sdpLine)
 
Boolean parseSDPAttribute_fmtp (char const *sdpLine)
 
Boolean parseSDPAttribute_source_filter (char const *sdpLine)
 
Boolean parseSDPAttribute_x_dimensions (char const *sdpLine)
 
Boolean parseSDPAttribute_framerate (char const *sdpLine)
 
virtual Boolean createSourceObjects (int useSpecialRTPoffset)
 

Protected Attributes

MediaSessionfParent
 
MediaSubsessionfNext
 
char * fConnectionEndpointName
 
unsigned short fClientPortNum
 
unsigned char fRTPPayloadFormat
 
char * fSavedSDPLines
 
char * fMediumName
 
char * fCodecName
 
char * fProtocolName
 
unsigned fRTPTimestampFrequency
 
Boolean fMultiplexRTCPWithRTP
 
char * fControlPath
 
struct in_addr fSourceFilterAddr
 
unsigned fBandwidth
 
double fPlayStartTime
 
double fPlayEndTime
 
char * fAbsStartTime
 
char * fAbsEndTime
 
unsigned short fVideoWidth
 
unsigned short fVideoHeight
 
unsigned fVideoFPS
 
unsigned fNumChannels
 
float fScale
 
float fSpeed
 
double fNPT_PTS_Offset
 
HashTablefAttributeTable
 
GroupsockfRTPSocket
 
GroupsockfRTCPSocket
 
RTPSourcefRTPSource
 
RTCPInstancefRTCPInstance
 
FramedSourcefReadSource
 
Boolean fReceiveRawMP3ADUs
 
Boolean fReceiveRawJPEGFrames
 
char * fSessionId
 

Friends

class MediaSession
 
class MediaSubsessionIterator
 

Detailed Description

Definition at line 158 of file MediaSession.hh.

Constructor & Destructor Documentation

MediaSubsession::MediaSubsession ( MediaSession parent)
protected
virtual MediaSubsession::~MediaSubsession ( )
protectedvirtual

Member Function Documentation

char*& MediaSubsession::_absEndTime ( )
inline

Definition at line 197 of file MediaSession.hh.

References fAbsEndTime.

197 { return fAbsEndTime; }
char*& MediaSubsession::_absStartTime ( )
inline

Definition at line 196 of file MediaSession.hh.

References fAbsStartTime.

196 { return fAbsStartTime; }
double& MediaSubsession::_playEndTime ( )
inline

Definition at line 195 of file MediaSession.hh.

References fPlayEndTime.

195 { return fPlayEndTime; }
double& MediaSubsession::_playStartTime ( )
inline

Definition at line 194 of file MediaSession.hh.

References fPlayStartTime.

194 { return fPlayStartTime; }
char* MediaSubsession::absEndTime ( ) const
char* MediaSubsession::absStartTime ( ) const
void MediaSubsession::addFilter ( FramedFilter filter)
Boolean MediaSubsession::attrVal_bool ( char const *  attrName) const
inline

Definition at line 228 of file MediaSession.hh.

References attrVal_int().

228 { return attrVal_int(attrName) != 0; }
unsigned attrVal_int(char const *attrName) const
unsigned MediaSubsession::attrVal_int ( char const *  attrName) const

Referenced by attrVal_bool(), and attrVal_unsigned().

char const* MediaSubsession::attrVal_str ( char const *  attrName) const
char const* MediaSubsession::attrVal_strToLower ( char const *  attrName) const
unsigned MediaSubsession::attrVal_unsigned ( char const *  attrName) const
inline

Definition at line 227 of file MediaSession.hh.

References attrVal_int().

227 { return (unsigned)attrVal_int(attrName); }
unsigned attrVal_int(char const *attrName) const
unsigned MediaSubsession::bandwidth ( ) const
inline

Definition at line 218 of file MediaSession.hh.

References fBandwidth.

218 { return fBandwidth; }
unsigned fBandwidth
unsigned short MediaSubsession::clientPortNum ( ) const
inline

Definition at line 163 of file MediaSession.hh.

References fClientPortNum.

163 { return fClientPortNum; }
unsigned short fClientPortNum
char const* MediaSubsession::codecName ( ) const
inline

Definition at line 167 of file MediaSession.hh.

References fCodecName.

167 { return fCodecName; }
netAddressBits MediaSubsession::connectionEndpointAddress ( ) const
char*& MediaSubsession::connectionEndpointName ( )
inline

Definition at line 212 of file MediaSession.hh.

References fConnectionEndpointName.

212 { return fConnectionEndpointName; }
char * fConnectionEndpointName
char const* MediaSubsession::connectionEndpointName ( ) const
inline

Definition at line 213 of file MediaSession.hh.

References fConnectionEndpointName.

213  {
215  }
char * fConnectionEndpointName
char const* MediaSubsession::controlPath ( ) const
inline

Definition at line 169 of file MediaSession.hh.

References fControlPath.

169 { return fControlPath; }
virtual Boolean MediaSubsession::createSourceObjects ( int  useSpecialRTPoffset)
protectedvirtual
void MediaSubsession::deInitiate ( )
UsageEnvironment& MediaSubsession::env ( )
inlineprotected

Definition at line 277 of file MediaSession.hh.

References Medium::envir(), and fParent.

277 { return fParent.envir(); }
UsageEnvironment & envir() const
Definition: Media.hh:59
MediaSession & fParent
char const* MediaSubsession::fmtp_config ( ) const

Referenced by fmtp_configuration().

char const* MediaSubsession::fmtp_configuration ( ) const
inline

Definition at line 232 of file MediaSession.hh.

References fmtp_config().

232 { return fmtp_config(); }
char const * fmtp_config() const
char const* MediaSubsession::fmtp_spropparametersets ( ) const
inline

Definition at line 233 of file MediaSession.hh.

References attrVal_str().

233 { return attrVal_str("sprop-parameter-sets"); }
char const * attrVal_str(char const *attrName) const
char const* MediaSubsession::fmtp_sproppps ( ) const
inline

Definition at line 236 of file MediaSession.hh.

References attrVal_str().

236 { return attrVal_str("sprop-pps"); }
char const * attrVal_str(char const *attrName) const
char const* MediaSubsession::fmtp_spropsps ( ) const
inline

Definition at line 235 of file MediaSession.hh.

References attrVal_str().

235 { return attrVal_str("sprop-sps"); }
char const * attrVal_str(char const *attrName) const
char const* MediaSubsession::fmtp_spropvps ( ) const
inline

Definition at line 234 of file MediaSession.hh.

References attrVal_str().

234 { return attrVal_str("sprop-vps"); }
char const * attrVal_str(char const *attrName) const
double MediaSubsession::getNormalPlayTime ( struct timeval const &  presentationTime)
Boolean MediaSubsession::initiate ( int  useSpecialRTPoffset = -1)
Boolean MediaSubsession::isSSM ( ) const
inline

Definition at line 170 of file MediaSession.hh.

References fSourceFilterAddr.

170 { return fSourceFilterAddr.s_addr != 0; }
struct in_addr fSourceFilterAddr
char const* MediaSubsession::mediumName ( ) const
inline

Definition at line 166 of file MediaSession.hh.

References fMediumName.

166 { return fMediumName; }
unsigned MediaSubsession::numChannels ( ) const
inline

Definition at line 175 of file MediaSession.hh.

References fNumChannels.

175 { return fNumChannels; }
unsigned fNumChannels
MediaSession& MediaSubsession::parentSession ( )
inline

Definition at line 160 of file MediaSession.hh.

References fParent.

160 { return fParent; }
MediaSession & fParent
MediaSession const& MediaSubsession::parentSession ( ) const
inline

Definition at line 161 of file MediaSession.hh.

References fParent.

161 { return fParent; }
MediaSession & fParent
Boolean MediaSubsession::parseSDPAttribute_control ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_fmtp ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_framerate ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_range ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_rtcpmux ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_rtpmap ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_source_filter ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPAttribute_x_dimensions ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPLine_b ( char const *  sdpLine)
protected
Boolean MediaSubsession::parseSDPLine_c ( char const *  sdpLine)
protected
double MediaSubsession::playEndTime ( ) const
double MediaSubsession::playStartTime ( ) const
char const* MediaSubsession::protocolName ( ) const
inline

Definition at line 168 of file MediaSession.hh.

References fProtocolName.

168 { return fProtocolName; }
FramedSource* MediaSubsession::readSource ( )
inline

Definition at line 183 of file MediaSession.hh.

References fReadSource.

183 { return fReadSource; }
FramedSource * fReadSource
void MediaSubsession::receiveRawJPEGFrames ( )
inline

Definition at line 211 of file MediaSession.hh.

References fReceiveRawJPEGFrames, and True.

211 { fReceiveRawJPEGFrames = True; } // optional hack for video/JPEG; must not be called after initiate()
Boolean fReceiveRawJPEGFrames
const Boolean True
Definition: Boolean.hh:31
void MediaSubsession::receiveRawMP3ADUs ( )
inline

Definition at line 210 of file MediaSession.hh.

References fReceiveRawMP3ADUs, and True.

210 { fReceiveRawMP3ADUs = True; } // optional hack for audio/MPA-ROBUST; must not be called after initiate()
Boolean fReceiveRawMP3ADUs
const Boolean True
Definition: Boolean.hh:31
RTCPInstance* MediaSubsession::rtcpInstance ( )
inline

Definition at line 180 of file MediaSession.hh.

References fRTCPInstance.

180 { return fRTCPInstance; }
RTCPInstance * fRTCPInstance
Boolean MediaSubsession::rtcpIsMuxed ( ) const
inline

Definition at line 182 of file MediaSession.hh.

References fMultiplexRTCPWithRTP.

182 { return fMultiplexRTCPWithRTP; }
Boolean fMultiplexRTCPWithRTP
unsigned char MediaSubsession::rtpPayloadFormat ( ) const
inline

Definition at line 164 of file MediaSession.hh.

References fRTPPayloadFormat.

164 { return fRTPPayloadFormat; }
unsigned char fRTPPayloadFormat
RTPSource* MediaSubsession::rtpSource ( )
inline

Definition at line 179 of file MediaSession.hh.

References fRTPSource.

179 { return fRTPSource; }
RTPSource * fRTPSource
unsigned MediaSubsession::rtpTimestampFrequency ( ) const
inline

Definition at line 181 of file MediaSession.hh.

References fRTPTimestampFrequency.

181 { return fRTPTimestampFrequency; }
unsigned fRTPTimestampFrequency
char const* MediaSubsession::savedSDPLines ( ) const
inline

Definition at line 165 of file MediaSession.hh.

References fSavedSDPLines.

165 { return fSavedSDPLines; }
float& MediaSubsession::scale ( )
inline

Definition at line 176 of file MediaSession.hh.

References fScale.

176 { return fScale; }
char const* MediaSubsession::sessionId ( ) const
inline

Definition at line 245 of file MediaSession.hh.

References fSessionId.

245 { return fSessionId; }
void MediaSubsession::setAttribute ( char const *  name,
char const *  value = NULL,
Boolean  valueIsHexadecimal = False 
)
protected
Boolean MediaSubsession::setClientPortNum ( unsigned short  portNum)
void MediaSubsession::setDestinations ( netAddressBits  defaultDestAddress)
void MediaSubsession::setNext ( MediaSubsession next)
inlineprotected

Definition at line 278 of file MediaSession.hh.

References fNext, and MediaSubsessionIterator::next().

278 { fNext = next; }
MediaSubsession * fNext
void MediaSubsession::setSessionId ( char const *  sessionId)
float& MediaSubsession::speed ( )
inline

Definition at line 177 of file MediaSession.hh.

References fSpeed.

177 { return fSpeed; }
unsigned MediaSubsession::videoFPS ( ) const
inline

Definition at line 174 of file MediaSession.hh.

References fVideoFPS.

174 { return fVideoFPS; }
unsigned fVideoFPS
unsigned short MediaSubsession::videoHeight ( ) const
inline

Definition at line 173 of file MediaSession.hh.

References fVideoHeight.

173 { return fVideoHeight; }
unsigned short fVideoHeight
unsigned short MediaSubsession::videoWidth ( ) const
inline

Definition at line 172 of file MediaSession.hh.

References fVideoWidth.

172 { return fVideoWidth; }
unsigned short fVideoWidth

Friends And Related Function Documentation

friend class MediaSession
friend

Definition at line 272 of file MediaSession.hh.

friend class MediaSubsessionIterator
friend

Definition at line 273 of file MediaSession.hh.

Field Documentation

char* MediaSubsession::fAbsEndTime
protected

Definition at line 319 of file MediaSession.hh.

Referenced by _absEndTime().

char* MediaSubsession::fAbsStartTime
protected

Definition at line 318 of file MediaSession.hh.

Referenced by _absStartTime().

HashTable* MediaSubsession::fAttributeTable
protected

Definition at line 329 of file MediaSession.hh.

unsigned MediaSubsession::fBandwidth
protected

Definition at line 314 of file MediaSession.hh.

Referenced by bandwidth().

unsigned short MediaSubsession::fClientPortNum
protected

Definition at line 303 of file MediaSession.hh.

Referenced by clientPortNum().

char* MediaSubsession::fCodecName
protected

Definition at line 308 of file MediaSession.hh.

Referenced by codecName().

char* MediaSubsession::fConnectionEndpointName
protected

Definition at line 302 of file MediaSession.hh.

Referenced by connectionEndpointName().

char* MediaSubsession::fControlPath
protected

Definition at line 312 of file MediaSession.hh.

Referenced by controlPath().

char* MediaSubsession::fMediumName
protected

Definition at line 307 of file MediaSession.hh.

Referenced by mediumName().

Boolean MediaSubsession::fMultiplexRTCPWithRTP
protected

Definition at line 311 of file MediaSession.hh.

Referenced by rtcpIsMuxed().

MediaSubsession* MediaSubsession::fNext
protected

Definition at line 299 of file MediaSession.hh.

Referenced by setNext().

double MediaSubsession::fNPT_PTS_Offset
protected

Definition at line 328 of file MediaSession.hh.

unsigned MediaSubsession::fNumChannels
protected

Definition at line 324 of file MediaSession.hh.

Referenced by numChannels().

MediaSession& MediaSubsession::fParent
protected

Definition at line 298 of file MediaSession.hh.

Referenced by env(), and parentSession().

double MediaSubsession::fPlayEndTime
protected

Definition at line 317 of file MediaSession.hh.

Referenced by _playEndTime().

double MediaSubsession::fPlayStartTime
protected

Definition at line 316 of file MediaSession.hh.

Referenced by _playStartTime().

char* MediaSubsession::fProtocolName
protected

Definition at line 309 of file MediaSession.hh.

Referenced by protocolName().

FramedSource* MediaSubsession::fReadSource
protected

Definition at line 334 of file MediaSession.hh.

Referenced by readSource().

Boolean MediaSubsession::fReceiveRawJPEGFrames
protected

Definition at line 335 of file MediaSession.hh.

Referenced by receiveRawJPEGFrames().

Boolean MediaSubsession::fReceiveRawMP3ADUs
protected

Definition at line 335 of file MediaSession.hh.

Referenced by receiveRawMP3ADUs().

RTCPInstance* MediaSubsession::fRTCPInstance
protected

Definition at line 333 of file MediaSession.hh.

Referenced by rtcpInstance().

Groupsock* MediaSubsession::fRTCPSocket
protected

Definition at line 332 of file MediaSession.hh.

unsigned char MediaSubsession::fRTPPayloadFormat
protected

Definition at line 305 of file MediaSession.hh.

Referenced by rtpPayloadFormat().

Groupsock* MediaSubsession::fRTPSocket
protected

Definition at line 332 of file MediaSession.hh.

RTPSource* MediaSubsession::fRTPSource
protected

Definition at line 333 of file MediaSession.hh.

Referenced by rtpSource().

unsigned MediaSubsession::fRTPTimestampFrequency
protected

Definition at line 310 of file MediaSession.hh.

Referenced by rtpTimestampFrequency().

char* MediaSubsession::fSavedSDPLines
protected

Definition at line 306 of file MediaSession.hh.

Referenced by savedSDPLines().

float MediaSubsession::fScale
protected

Definition at line 326 of file MediaSession.hh.

Referenced by scale().

char* MediaSubsession::fSessionId
protected

Definition at line 338 of file MediaSession.hh.

Referenced by sessionId().

struct in_addr MediaSubsession::fSourceFilterAddr
protected

Definition at line 313 of file MediaSession.hh.

Referenced by isSSM().

float MediaSubsession::fSpeed
protected

Definition at line 327 of file MediaSession.hh.

Referenced by speed().

unsigned MediaSubsession::fVideoFPS
protected

Definition at line 322 of file MediaSession.hh.

Referenced by videoFPS().

unsigned short MediaSubsession::fVideoHeight
protected

Definition at line 320 of file MediaSession.hh.

Referenced by videoHeight().

unsigned short MediaSubsession::fVideoWidth
protected

Definition at line 320 of file MediaSession.hh.

Referenced by videoWidth().

Boolean MediaSubsession::infoIsNew

Definition at line 259 of file MediaSession.hh.

void* MediaSubsession::miscPtr

Definition at line 253 of file MediaSession.hh.

unsigned char MediaSubsession::rtcpChannelId

Definition at line 251 of file MediaSession.hh.

unsigned char MediaSubsession::rtpChannelId

Definition at line 251 of file MediaSession.hh.

struct { ... } MediaSubsession::rtpInfo
u_int16_t MediaSubsession::seqNum

Definition at line 257 of file MediaSession.hh.

unsigned short MediaSubsession::serverPortNum

Definition at line 250 of file MediaSession.hh.

MediaSink* MediaSubsession::sink

Definition at line 252 of file MediaSession.hh.

u_int32_t MediaSubsession::timestamp

Definition at line 258 of file MediaSession.hh.


The documentation for this class was generated from the following file: