live
Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
ProxyServerMediaSession Class Reference

#include <ProxyServerMediaSession.hh>

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

Public Member Functions

virtual ~ProxyServerMediaSession ()
 
char const * url () const
 
Boolean describeCompletedSuccessfully () const
 
char * generateSDPDescription (int addressFamily)
 
char const * streamName () const
 
Boolean addSubsession (ServerMediaSubsession *subsession)
 
unsigned numSubsessions () const
 
void testScaleFactor (float &scale)
 
float duration () const
 
virtual void noteLiveness ()
 
unsigned referenceCount () const
 
void incrementReferenceCount ()
 
void decrementReferenceCount ()
 
BooleandeleteWhenUnreferenced ()
 
void deleteAllSubsessions ()
 
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 isMediaSession () const
 

Static Public Member Functions

static ProxyServerMediaSessioncreateNew (UsageEnvironment &env, GenericMediaServer *ourMediaServer, char const *inputStreamURL, char const *streamName=NULL, char const *username=NULL, char const *password=NULL, portNumBits tunnelOverHTTPPortNum=0, int verbosityLevel=0, int socketNumToServer=-1, MediaTranscodingTable *transcodingTable=NULL)
 
static ServerMediaSessioncreateNew (UsageEnvironment &env, char const *streamName=NULL, char const *info=NULL, char const *description=NULL, Boolean isSSM=False, char const *miscSDPLines=NULL)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, ServerMediaSession *&resultSession)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
 
static void close (UsageEnvironment &env, char const *mediumName)
 
static void close (Medium *medium)
 

Data Fields

char describeCompletedFlag
 

Protected Member Functions

 ProxyServerMediaSession (UsageEnvironment &env, GenericMediaServer *ourMediaServer, char const *inputStreamURL, char const *streamName, char const *username, char const *password, portNumBits tunnelOverHTTPPortNum, int verbosityLevel, int socketNumToServer, MediaTranscodingTable *transcodingTable, createNewProxyRTSPClientFunc *ourCreateNewProxyRTSPClientFunc=defaultCreateNewProxyRTSPClientFunc, portNumBits initialPortNum=6970, Boolean multiplexRTCPWithRTP=False)
 
virtual GroupsockcreateGroupsock (struct sockaddr_storage const &addr, Port port)
 
virtual RTCPInstancecreateRTCP (Groupsock *RTCPgs, unsigned totSessionBW, unsigned char const *cname, RTPSink *sink)
 
virtual Boolean allowProxyingForSubsession (MediaSubsession const &mss)
 
TaskTokennextTask ()
 

Protected Attributes

GenericMediaServerfOurMediaServer
 
ProxyRTSPClientfProxyRTSPClient
 
MediaSessionfClientMediaSession
 

Private Member Functions

void continueAfterDESCRIBE (char const *sdpDescription)
 
void resetDESCRIBEState ()
 
virtual Boolean isServerMediaSession () const
 

Private Attributes

int fVerbosityLevel
 
class PresentationTimeSessionNormalizerfPresentationTimeSessionNormalizer
 
createNewProxyRTSPClientFuncfCreateNewProxyRTSPClientFunc
 
MediaTranscodingTablefTranscodingTable
 
portNumBits fInitialPortNum
 
Boolean fMultiplexRTCPWithRTP
 
Boolean fIsSSM
 
ServerMediaSubsessionfSubsessionsHead
 
ServerMediaSubsessionfSubsessionsTail
 
unsigned fSubsessionCounter
 
char * fStreamName
 
char * fInfoSDPString
 
char * fDescriptionSDPString
 
char * fMiscSDPLines
 
struct timeval fCreationTime
 
unsigned fReferenceCount
 
Boolean fDeleteWhenUnreferenced
 
UsageEnvironmentfEnviron
 
char fMediumName [mediumNameMaxLen]
 
TaskToken fNextTask
 

Friends

class ProxyRTSPClient
 
class ProxyServerMediaSubsession
 

Detailed Description

Definition at line 101 of file ProxyServerMediaSession.hh.

Constructor & Destructor Documentation

◆ ~ProxyServerMediaSession()

virtual ProxyServerMediaSession::~ProxyServerMediaSession ( )
virtual

◆ ProxyServerMediaSession()

ProxyServerMediaSession::ProxyServerMediaSession ( UsageEnvironment env,
GenericMediaServer ourMediaServer,
char const *  inputStreamURL,
char const *  streamName,
char const *  username,
char const *  password,
portNumBits  tunnelOverHTTPPortNum,
int  verbosityLevel,
int  socketNumToServer,
MediaTranscodingTable transcodingTable,
createNewProxyRTSPClientFunc ourCreateNewProxyRTSPClientFunc = defaultCreateNewProxyRTSPClientFunc,
portNumBits  initialPortNum = 6970,
Boolean  multiplexRTCPWithRTP = False 
)
protected

Member Function Documentation

◆ addSubsession()

Boolean ServerMediaSession::addSubsession ( ServerMediaSubsession subsession)
inherited

◆ allowProxyingForSubsession()

virtual Boolean ProxyServerMediaSession::allowProxyingForSubsession ( MediaSubsession const &  mss)
protectedvirtual

◆ close() [1/2]

static void Medium::close ( Medium medium)
staticinherited

◆ close() [2/2]

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

◆ continueAfterDESCRIBE()

void ProxyServerMediaSession::continueAfterDESCRIBE ( char const *  sdpDescription)
private

◆ createGroupsock()

virtual Groupsock* ProxyServerMediaSession::createGroupsock ( struct sockaddr_storage const &  addr,
Port  port 
)
protectedvirtual

◆ createNew() [1/2]

static ServerMediaSession* ServerMediaSession::createNew ( UsageEnvironment env,
char const *  streamName = NULL,
char const *  info = NULL,
char const *  description = NULL,
Boolean  isSSM = False,
char const *  miscSDPLines = NULL 
)
staticinherited

◆ createNew() [2/2]

static ProxyServerMediaSession* ProxyServerMediaSession::createNew ( UsageEnvironment env,
GenericMediaServer ourMediaServer,
char const *  inputStreamURL,
char const *  streamName = NULL,
char const *  username = NULL,
char const *  password = NULL,
portNumBits  tunnelOverHTTPPortNum = 0,
int  verbosityLevel = 0,
int  socketNumToServer = -1,
MediaTranscodingTable transcodingTable = NULL 
)
static

◆ createRTCP()

virtual RTCPInstance* ProxyServerMediaSession::createRTCP ( Groupsock RTCPgs,
unsigned  totSessionBW,
unsigned char const *  cname,
RTPSink sink 
)
protectedvirtual

◆ decrementReferenceCount()

void ServerMediaSession::decrementReferenceCount ( )
inlineinherited

Definition at line 67 of file ServerMediaSession.hh.

67 { if (fReferenceCount > 0) --fReferenceCount; }

References ServerMediaSession::fReferenceCount.

◆ deleteAllSubsessions()

void ServerMediaSession::deleteAllSubsessions ( )
inherited

◆ deleteWhenUnreferenced()

Boolean& ServerMediaSession::deleteWhenUnreferenced ( )
inlineinherited

Definition at line 68 of file ServerMediaSession.hh.

68 { return fDeleteWhenUnreferenced; }

References ServerMediaSession::fDeleteWhenUnreferenced.

◆ describeCompletedSuccessfully()

Boolean ProxyServerMediaSession::describeCompletedSuccessfully ( ) const
inline

Definition at line 125 of file ProxyServerMediaSession.hh.

125 { return fClientMediaSession != NULL; }
#define NULL

References fClientMediaSession, and NULL.

◆ duration()

float ServerMediaSession::duration ( ) const
inherited

◆ envir()

UsageEnvironment& Medium::envir ( ) const
inlineinherited

◆ generateSDPDescription()

char* ServerMediaSession::generateSDPDescription ( int  addressFamily)
inherited

◆ incrementReferenceCount()

void ServerMediaSession::incrementReferenceCount ( )
inlineinherited

Definition at line 66 of file ServerMediaSession.hh.

66 { ++fReferenceCount; }

References ServerMediaSession::fReferenceCount.

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ 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 ServerMediaSession::isServerMediaSession ( ) const
privatevirtualinherited

Reimplemented from Medium.

◆ 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 ServerMediaSession::lookupByName ( UsageEnvironment env,
char const *  mediumName,
ServerMediaSession *&  resultSession 
)
staticinherited

◆ 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.

◆ noteLiveness()

virtual void ServerMediaSession::noteLiveness ( )
virtualinherited

◆ numSubsessions()

unsigned ServerMediaSession::numSubsessions ( ) const
inlineinherited

Definition at line 52 of file ServerMediaSession.hh.

52 { return fSubsessionCounter; }

References ServerMediaSession::fSubsessionCounter.

◆ referenceCount()

unsigned ServerMediaSession::referenceCount ( ) const
inlineinherited

Definition at line 65 of file ServerMediaSession.hh.

65 { return fReferenceCount; }

References ServerMediaSession::fReferenceCount.

◆ resetDESCRIBEState()

void ProxyServerMediaSession::resetDESCRIBEState ( )
private

◆ streamName()

char const* ServerMediaSession::streamName ( ) const
inlineinherited

Definition at line 49 of file ServerMediaSession.hh.

49 { return fStreamName; }

References ServerMediaSession::fStreamName.

◆ testScaleFactor()

void ServerMediaSession::testScaleFactor ( float &  scale)
inherited

◆ url()

char const* ProxyServerMediaSession::url ( ) const

Friends And Related Function Documentation

◆ ProxyRTSPClient

friend class ProxyRTSPClient
friend

Definition at line 164 of file ProxyServerMediaSession.hh.

◆ ProxyServerMediaSubsession

friend class ProxyServerMediaSubsession
friend

Definition at line 165 of file ProxyServerMediaSession.hh.

Field Documentation

◆ describeCompletedFlag

char ProxyServerMediaSession::describeCompletedFlag

Definition at line 122 of file ProxyServerMediaSession.hh.

◆ fClientMediaSession

MediaSession* ProxyServerMediaSession::fClientMediaSession
protected

Definition at line 161 of file ProxyServerMediaSession.hh.

Referenced by describeCompletedSuccessfully().

◆ fCreateNewProxyRTSPClientFunc

createNewProxyRTSPClientFunc* ProxyServerMediaSession::fCreateNewProxyRTSPClientFunc
private

Definition at line 172 of file ProxyServerMediaSession.hh.

◆ fCreationTime

struct timeval ServerMediaSession::fCreationTime
privateinherited

Definition at line 99 of file ServerMediaSession.hh.

◆ fDeleteWhenUnreferenced

Boolean ServerMediaSession::fDeleteWhenUnreferenced
privateinherited

Definition at line 102 of file ServerMediaSession.hh.

Referenced by ServerMediaSession::deleteWhenUnreferenced().

◆ fDescriptionSDPString

char* ServerMediaSession::fDescriptionSDPString
privateinherited

Definition at line 98 of file ServerMediaSession.hh.

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by Medium::envir().

◆ fInfoSDPString

char* ServerMediaSession::fInfoSDPString
privateinherited

Definition at line 97 of file ServerMediaSession.hh.

◆ fInitialPortNum

portNumBits ProxyServerMediaSession::fInitialPortNum
private

Definition at line 174 of file ProxyServerMediaSession.hh.

◆ fIsSSM

Boolean ServerMediaSession::fIsSSM
privateinherited

Definition at line 88 of file ServerMediaSession.hh.

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by Medium::name().

◆ fMiscSDPLines

char* ServerMediaSession::fMiscSDPLines
privateinherited

Definition at line 99 of file ServerMediaSession.hh.

◆ fMultiplexRTCPWithRTP

Boolean ProxyServerMediaSession::fMultiplexRTCPWithRTP
private

Definition at line 175 of file ProxyServerMediaSession.hh.

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by Medium::nextTask().

◆ fOurMediaServer

GenericMediaServer* ProxyServerMediaSession::fOurMediaServer
protected

Definition at line 159 of file ProxyServerMediaSession.hh.

◆ fPresentationTimeSessionNormalizer

class PresentationTimeSessionNormalizer* ProxyServerMediaSession::fPresentationTimeSessionNormalizer
private

Definition at line 171 of file ProxyServerMediaSession.hh.

◆ fProxyRTSPClient

ProxyRTSPClient* ProxyServerMediaSession::fProxyRTSPClient
protected

Definition at line 160 of file ProxyServerMediaSession.hh.

◆ fReferenceCount

unsigned ServerMediaSession::fReferenceCount
privateinherited

◆ fStreamName

char* ServerMediaSession::fStreamName
privateinherited

Definition at line 96 of file ServerMediaSession.hh.

Referenced by ServerMediaSession::streamName().

◆ fSubsessionCounter

unsigned ServerMediaSession::fSubsessionCounter
privateinherited

Definition at line 94 of file ServerMediaSession.hh.

Referenced by ServerMediaSession::numSubsessions().

◆ fSubsessionsHead

ServerMediaSubsession* ServerMediaSession::fSubsessionsHead
privateinherited

Definition at line 92 of file ServerMediaSession.hh.

◆ fSubsessionsTail

ServerMediaSubsession* ServerMediaSession::fSubsessionsTail
privateinherited

Definition at line 93 of file ServerMediaSession.hh.

◆ fTranscodingTable

MediaTranscodingTable* ProxyServerMediaSession::fTranscodingTable
private

Definition at line 173 of file ProxyServerMediaSession.hh.

◆ fVerbosityLevel

int ProxyServerMediaSession::fVerbosityLevel
private

Definition at line 170 of file ProxyServerMediaSession.hh.


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