live
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes | Friends
MediaSession Class Reference

#include <MediaSession.hh>

Inheritance diagram for MediaSession:
Inheritance graph
[legend]
Collaboration diagram for MediaSession:
Collaboration graph
[legend]

Public Member Functions

Boolean hasSubsessions () const
 
char * connectionEndpointName () const
 
int connectionEndpointNameAddressFamily () const
 
char const * CNAME () const
 
struct sockaddr_storage const & sourceFilterAddr () const
 
float & scale ()
 
float & speed ()
 
char * mediaSessionType () const
 
char * sessionName () const
 
char * sessionDescription () const
 
char const * controlPath () const
 
double & playStartTime ()
 
double & playEndTime ()
 
char * absStartTime () const
 
char * absEndTime () const
 
char *& _absStartTime ()
 
char *& _absEndTime ()
 
Boolean initiateByMediaType (char const *mimeType, MediaSubsession *&resultSubsession, int useSpecialRTPoffset=-1)
 
MIKEYStategetMIKEYState () const
 
SRTPCryptographicContextgetCrypto () const
 
UsageEnvironmentenvir () const
 
char const * name () const
 
virtual Boolean isSource () const
 
virtual Boolean isSink () const
 
virtual Boolean isRTCPInstance () const
 
virtual Boolean isRTSPClient () const
 
virtual Boolean isRTSPServer () const
 
virtual Boolean isServerMediaSession () const
 

Static Public Member Functions

static MediaSessioncreateNew (UsageEnvironment &env, char const *sdpDescription)
 
static Boolean lookupByName (UsageEnvironment &env, char const *sourceName, MediaSession *&resultSession)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
 
static void close (UsageEnvironment &env, char const *mediumName)
 
static void close (Medium *medium)
 

Protected Member Functions

virtual Boolean isMediaSession () const
 
 MediaSession (UsageEnvironment &env)
 
virtual ~MediaSession ()
 
virtual MediaSubsessioncreateNewMediaSubsession ()
 
Boolean initializeWithSDP (char const *sdpDescription)
 
Boolean parseSDPLine (char const *input, char const *&nextLine)
 
Boolean parseSDPLine_s (char const *sdpLine)
 
Boolean parseSDPLine_i (char const *sdpLine)
 
Boolean parseSDPLine_c (char const *sdpLine)
 
Boolean parseSDPAttribute_type (char const *sdpLine)
 
Boolean parseSDPAttribute_control (char const *sdpLine)
 
Boolean parseSDPAttribute_range (char const *sdpLine)
 
Boolean parseSDPAttribute_source_filter (char const *sdpLine)
 
Boolean parseSDPAttribute_key_mgmt (char const *sdpLine)
 
TaskTokennextTask ()
 

Static Protected Member Functions

static char * lookupPayloadFormat (unsigned char rtpPayloadType, unsigned &rtpTimestampFrequency, unsigned &numChannels)
 
static unsigned guessRTPTimestampFrequency (char const *mediumName, char const *codecName)
 

Protected Attributes

char * fCNAME
 
MediaSubsessionfSubsessionsHead
 
MediaSubsessionfSubsessionsTail
 
char * fConnectionEndpointName
 
int fConnectionEndpointNameAddressFamily
 
double fMaxPlayStartTime
 
double fMaxPlayEndTime
 
char * fAbsStartTime
 
char * fAbsEndTime
 
struct sockaddr_storage fSourceFilterAddr
 
float fScale
 
float fSpeed
 
char * fMediaSessionType
 
char * fSessionName
 
char * fSessionDescription
 
char * fControlPath
 
MIKEYStatefMIKEYState
 
SRTPCryptographicContextfCrypto
 

Private Attributes

UsageEnvironmentfEnviron
 
char fMediumName [mediumNameMaxLen]
 
TaskToken fNextTask
 

Friends

class MediaSubsessionIterator
 

Detailed Description

Definition at line 63 of file MediaSession.hh.

Constructor & Destructor Documentation

◆ MediaSession()

MediaSession::MediaSession ( UsageEnvironment env)
protected

◆ ~MediaSession()

virtual MediaSession::~MediaSession ( )
protectedvirtual

Member Function Documentation

◆ _absEndTime()

char *& MediaSession::_absEndTime ( )
inline

Definition at line 90 of file MediaSession.hh.

90{ return fAbsEndTime; }
char * fAbsEndTime

References fAbsEndTime.

◆ _absStartTime()

char *& MediaSession::_absStartTime ( )
inline

Definition at line 89 of file MediaSession.hh.

89{ return fAbsStartTime; }
char * fAbsStartTime

References fAbsStartTime.

◆ absEndTime()

char * MediaSession::absEndTime ( ) const

◆ absStartTime()

char * MediaSession::absStartTime ( ) const

◆ close() [1/2]

static void Medium::close ( Medium medium)
staticinherited

◆ close() [2/2]

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited

◆ CNAME()

char const * MediaSession::CNAME ( ) const
inline

Definition at line 75 of file MediaSession.hh.

75{ return fCNAME; }

References fCNAME.

◆ connectionEndpointName()

char * MediaSession::connectionEndpointName ( ) const
inline

Definition at line 73 of file MediaSession.hh.

char * fConnectionEndpointName

References fConnectionEndpointName.

◆ connectionEndpointNameAddressFamily()

int MediaSession::connectionEndpointNameAddressFamily ( ) const
inline

◆ controlPath()

char const * MediaSession::controlPath ( ) const
inline

Definition at line 82 of file MediaSession.hh.

82{ return fControlPath; }
char * fControlPath

References fControlPath.

◆ createNew()

static MediaSession * MediaSession::createNew ( UsageEnvironment env,
char const *  sdpDescription 
)
static

◆ createNewMediaSubsession()

virtual MediaSubsession * MediaSession::createNewMediaSubsession ( )
protectedvirtual

◆ envir()

UsageEnvironment & Medium::envir ( ) const
inlineinherited

◆ getCrypto()

SRTPCryptographicContext * MediaSession::getCrypto ( ) const
inline

Definition at line 99 of file MediaSession.hh.

99{ return fCrypto; }
SRTPCryptographicContext * fCrypto

References fCrypto.

Referenced by MediaSubsession::getCrypto().

◆ getMIKEYState()

MIKEYState * MediaSession::getMIKEYState ( ) const
inline

Definition at line 98 of file MediaSession.hh.

98{ return fMIKEYState; }
MIKEYState * fMIKEYState

References fMIKEYState.

Referenced by MediaSubsession::getMIKEYState().

◆ guessRTPTimestampFrequency()

static unsigned MediaSession::guessRTPTimestampFrequency ( char const *  mediumName,
char const *  codecName 
)
staticprotected

◆ hasSubsessions()

Boolean MediaSession::hasSubsessions ( ) const
inline

Definition at line 71 of file MediaSession.hh.

71{ return fSubsessionsHead != NULL; }
#define NULL
MediaSubsession * fSubsessionsHead

References fSubsessionsHead, and NULL.

◆ initializeWithSDP()

Boolean MediaSession::initializeWithSDP ( char const *  sdpDescription)
protected

◆ initiateByMediaType()

Boolean MediaSession::initiateByMediaType ( char const *  mimeType,
MediaSubsession *&  resultSubsession,
int  useSpecialRTPoffset = -1 
)

◆ isMediaSession()

virtual Boolean MediaSession::isMediaSession ( ) const
protectedvirtual

Reimplemented from Medium.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTSPClient()

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

◆ isRTSPServer()

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

◆ isServerMediaSession()

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

◆ isSink()

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

◆ isSource()

virtual Boolean Medium::isSource ( ) const
virtualinherited

Reimplemented in MediaSource.

◆ lookupByName() [1/2]

static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited

◆ lookupByName() [2/2]

static Boolean MediaSession::lookupByName ( UsageEnvironment env,
char const *  sourceName,
MediaSession *&  resultSession 
)
static

◆ lookupPayloadFormat()

static char * MediaSession::lookupPayloadFormat ( unsigned char  rtpPayloadType,
unsigned &  rtpTimestampFrequency,
unsigned &  numChannels 
)
staticprotected

◆ mediaSessionType()

char * MediaSession::mediaSessionType ( ) const
inline

Definition at line 79 of file MediaSession.hh.

79{ return fMediaSessionType; }
char * fMediaSessionType

References fMediaSessionType.

◆ name()

char const * Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

61{return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83

References Medium::fMediumName.

◆ nextTask()

TaskToken & Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

77 {
78 return fNextTask;
79 }
TaskToken fNextTask
Definition: Media.hh:84

References Medium::fNextTask.

◆ parseSDPAttribute_control()

Boolean MediaSession::parseSDPAttribute_control ( char const *  sdpLine)
protected

◆ parseSDPAttribute_key_mgmt()

Boolean MediaSession::parseSDPAttribute_key_mgmt ( char const *  sdpLine)
protected

◆ parseSDPAttribute_range()

Boolean MediaSession::parseSDPAttribute_range ( char const *  sdpLine)
protected

◆ parseSDPAttribute_source_filter()

Boolean MediaSession::parseSDPAttribute_source_filter ( char const *  sdpLine)
protected

◆ parseSDPAttribute_type()

Boolean MediaSession::parseSDPAttribute_type ( char const *  sdpLine)
protected

◆ parseSDPLine()

Boolean MediaSession::parseSDPLine ( char const *  input,
char const *&  nextLine 
)
protected

◆ parseSDPLine_c()

Boolean MediaSession::parseSDPLine_c ( char const *  sdpLine)
protected

◆ parseSDPLine_i()

Boolean MediaSession::parseSDPLine_i ( char const *  sdpLine)
protected

◆ parseSDPLine_s()

Boolean MediaSession::parseSDPLine_s ( char const *  sdpLine)
protected

◆ playEndTime()

double & MediaSession::playEndTime ( )
inline

Definition at line 85 of file MediaSession.hh.

85{ return fMaxPlayEndTime; }
double fMaxPlayEndTime

References fMaxPlayEndTime.

◆ playStartTime()

double & MediaSession::playStartTime ( )
inline

Definition at line 84 of file MediaSession.hh.

84{ return fMaxPlayStartTime; }
double fMaxPlayStartTime

References fMaxPlayStartTime.

◆ scale()

float & MediaSession::scale ( )
inline

Definition at line 77 of file MediaSession.hh.

77{ return fScale; }

References fScale.

◆ sessionDescription()

char * MediaSession::sessionDescription ( ) const
inline

Definition at line 81 of file MediaSession.hh.

81{ return fSessionDescription; }
char * fSessionDescription

References fSessionDescription.

◆ sessionName()

char * MediaSession::sessionName ( ) const
inline

Definition at line 80 of file MediaSession.hh.

80{ return fSessionName; }
char * fSessionName

References fSessionName.

◆ sourceFilterAddr()

struct sockaddr_storage const & MediaSession::sourceFilterAddr ( ) const
inline

Definition at line 76 of file MediaSession.hh.

76{ return fSourceFilterAddr; }
struct sockaddr_storage fSourceFilterAddr

References fSourceFilterAddr.

◆ speed()

float & MediaSession::speed ( )
inline

Definition at line 78 of file MediaSession.hh.

78{ return fSpeed; }

References fSpeed.

Friends And Related Function Documentation

◆ MediaSubsessionIterator

friend class MediaSubsessionIterator
friend

Definition at line 129 of file MediaSession.hh.

Field Documentation

◆ fAbsEndTime

char* MediaSession::fAbsEndTime
protected

Definition at line 142 of file MediaSession.hh.

Referenced by _absEndTime().

◆ fAbsStartTime

char* MediaSession::fAbsStartTime
protected

Definition at line 141 of file MediaSession.hh.

Referenced by _absStartTime().

◆ fCNAME

char* MediaSession::fCNAME
protected

Definition at line 130 of file MediaSession.hh.

Referenced by CNAME().

◆ fConnectionEndpointName

char* MediaSession::fConnectionEndpointName
protected

Definition at line 137 of file MediaSession.hh.

Referenced by connectionEndpointName().

◆ fConnectionEndpointNameAddressFamily

int MediaSession::fConnectionEndpointNameAddressFamily
protected

Definition at line 138 of file MediaSession.hh.

Referenced by connectionEndpointNameAddressFamily().

◆ fControlPath

char* MediaSession::fControlPath
protected

Definition at line 149 of file MediaSession.hh.

Referenced by controlPath().

◆ fCrypto

SRTPCryptographicContext* MediaSession::fCrypto
protected

Definition at line 153 of file MediaSession.hh.

Referenced by getCrypto().

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by Medium::envir().

◆ fMaxPlayEndTime

double MediaSession::fMaxPlayEndTime
protected

Definition at line 140 of file MediaSession.hh.

Referenced by playEndTime().

◆ fMaxPlayStartTime

double MediaSession::fMaxPlayStartTime
protected

Definition at line 139 of file MediaSession.hh.

Referenced by playStartTime().

◆ fMediaSessionType

char* MediaSession::fMediaSessionType
protected

Definition at line 146 of file MediaSession.hh.

Referenced by mediaSessionType().

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by Medium::name().

◆ fMIKEYState

MIKEYState* MediaSession::fMIKEYState
protected

Definition at line 152 of file MediaSession.hh.

Referenced by getMIKEYState().

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by Medium::nextTask().

◆ fScale

float MediaSession::fScale
protected

Definition at line 144 of file MediaSession.hh.

Referenced by scale().

◆ fSessionDescription

char* MediaSession::fSessionDescription
protected

Definition at line 148 of file MediaSession.hh.

Referenced by sessionDescription().

◆ fSessionName

char* MediaSession::fSessionName
protected

Definition at line 147 of file MediaSession.hh.

Referenced by sessionName().

◆ fSourceFilterAddr

struct sockaddr_storage MediaSession::fSourceFilterAddr
protected

Definition at line 143 of file MediaSession.hh.

Referenced by sourceFilterAddr().

◆ fSpeed

float MediaSession::fSpeed
protected

Definition at line 145 of file MediaSession.hh.

Referenced by speed().

◆ fSubsessionsHead

MediaSubsession* MediaSession::fSubsessionsHead
protected

Definition at line 133 of file MediaSession.hh.

Referenced by hasSubsessions().

◆ fSubsessionsTail

MediaSubsession* MediaSession::fSubsessionsTail
protected

Definition at line 134 of file MediaSession.hh.


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