live
ProxyServerMediaSession Class Reference

#include <ProxyServerMediaSession.hh>

Inheritance diagram for ProxyServerMediaSession:
Collaboration diagram for ProxyServerMediaSession:

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 ()
Boolean & deleteWhenUnreferenced ()
void deleteAllSubsessions ()
UsageEnvironment & envir () 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 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 ServerMediaSession * createNew (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
Boolean streamingUsesSRTP
Boolean streamingIsEncrypted

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 Groupsock * createGroupsock (struct sockaddr_storage const &addr, Port port)
virtual RTCPInstance * createRTCP (Groupsock *RTCPgs, unsigned totSessionBW, unsigned char const *cname, RTPSink *sink)
virtual Boolean allowProxyingForSubsession (MediaSubsession const &mss)
TaskToken & nextTask ()

Protected Attributes

GenericMediaServer * fOurMediaServer
ProxyRTSPClient * fProxyRTSPClient
MediaSession * fClientMediaSession

Private Member Functions

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

Private Attributes

int fVerbosityLevel
class PresentationTimeSessionNormalizer * fPresentationTimeSessionNormalizer
createNewProxyRTSPClientFunc * fCreateNewProxyRTSPClientFunc
MediaTranscodingTable * fTranscodingTable
portNumBits fInitialPortNum
Boolean fMultiplexRTCPWithRTP
Boolean fIsSSM
ServerMediaSubsession * fSubsessionsHead
ServerMediaSubsession * fSubsessionsTail
unsigned fSubsessionCounter
char * fStreamName
char * fInfoSDPString
char * fDescriptionSDPString
char * fMiscSDPLines
struct timeval fCreationTime
unsigned fReferenceCount
Boolean fDeleteWhenUnreferenced
UsageEnvironment & fEnviron
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]

void Medium::close ( Medium * medium)
staticinherited

References Medium().

◆ close() [2/2]

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]

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

◆ createNew() [2/2]

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

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

References fReferenceCount.

◆ deleteAllSubsessions()

void ServerMediaSession::deleteAllSubsessions ( )
inherited

◆ deleteWhenUnreferenced()

Boolean & ServerMediaSession::deleteWhenUnreferenced ( )
inlineinherited

Definition at line 68 of file ServerMediaSession.hh.

References 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

Definition at line 59 of file Media.hh.

59{return fEnviron;}
UsageEnvironment & fEnviron
Definition Media.hh:82

References fEnviron.

Referenced by MediaSubsession::env(), GenericMediaServer::ClientConnection::envir(), GenericMediaServer::ClientSession::envir(), and RTPInterface::envir().

◆ generateSDPDescription()

char * ServerMediaSession::generateSDPDescription ( int addressFamily)
inherited

◆ incrementReferenceCount()

void ServerMediaSession::incrementReferenceCount ( )
inlineinherited

Definition at line 66 of file ServerMediaSession.hh.

66{ ++fReferenceCount; }

References 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]

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

References Medium().

◆ lookupByName() [2/2]

Boolean ServerMediaSession::lookupByName ( UsageEnvironment & env,
char const * mediumName,
ServerMediaSession *& resultSession )
staticinherited

References ServerMediaSession().

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

Referenced by QuickTimeFileSink::_atom(), RTSPServer::lookupByName(), RTCPInstance::sendAppPacket(), and OnDemandServerMediaSubsession::sendRTCPAppPacket().

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

◆ referenceCount()

unsigned ServerMediaSession::referenceCount ( ) const
inlineinherited

Definition at line 65 of file ServerMediaSession.hh.

65{ return fReferenceCount; }

References fReferenceCount.

◆ resetDESCRIBEState()

void ProxyServerMediaSession::resetDESCRIBEState ( )
private

◆ streamName()

char const * ServerMediaSession::streamName ( ) const
inlineinherited

◆ testScaleFactor()

void ServerMediaSession::testScaleFactor ( float & scale)
inherited

◆ url()

char const * ProxyServerMediaSession::url ( ) const

◆ ProxyRTSPClient

friend class ProxyRTSPClient
friend

Definition at line 164 of file ProxyServerMediaSession.hh.

References ProxyRTSPClient.

Referenced by ProxyRTSPClient.

◆ ProxyServerMediaSubsession

friend class ProxyServerMediaSubsession
friend

Definition at line 165 of file ProxyServerMediaSession.hh.

References ProxyServerMediaSubsession.

Referenced by ProxyServerMediaSubsession.

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 103 of file ServerMediaSession.hh.

◆ fDeleteWhenUnreferenced

Boolean ServerMediaSession::fDeleteWhenUnreferenced
privateinherited

Definition at line 105 of file ServerMediaSession.hh.

Referenced by deleteWhenUnreferenced().

◆ fDescriptionSDPString

char* ServerMediaSession::fDescriptionSDPString
privateinherited

Definition at line 101 of file ServerMediaSession.hh.

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by envir().

◆ fInfoSDPString

char* ServerMediaSession::fInfoSDPString
privateinherited

Definition at line 100 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 91 of file ServerMediaSession.hh.

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by name().

◆ fMiscSDPLines

char* ServerMediaSession::fMiscSDPLines
privateinherited

Definition at line 102 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 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 99 of file ServerMediaSession.hh.

Referenced by streamName().

◆ fSubsessionCounter

unsigned ServerMediaSession::fSubsessionCounter
privateinherited

Definition at line 97 of file ServerMediaSession.hh.

Referenced by numSubsessions().

◆ fSubsessionsHead

ServerMediaSubsession* ServerMediaSession::fSubsessionsHead
privateinherited

Definition at line 95 of file ServerMediaSession.hh.

◆ fSubsessionsTail

ServerMediaSubsession* ServerMediaSession::fSubsessionsTail
privateinherited

Definition at line 96 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.

◆ streamingIsEncrypted

Boolean ServerMediaSession::streamingIsEncrypted
inherited

Definition at line 77 of file ServerMediaSession.hh.

◆ streamingUsesSRTP

Boolean ServerMediaSession::streamingUsesSRTP
inherited

Definition at line 76 of file ServerMediaSession.hh.


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