22#ifndef _PROXY_SERVER_MEDIA_SESSION_HH
23#define _PROXY_SERVER_MEDIA_SESSION_HH
25#ifndef _SERVER_MEDIA_SESSION_HH
28#ifndef _MEDIA_SESSION_HH
31#ifndef _RTSP_CLIENT_HH
34#ifndef _MEDIA_TRANSCODING_TABLE_HH
45 char const* username,
char const* password,
46 portNumBits tunnelOverHTTPPortNum,
int verbosityLevel,
int socketNumToServer);
91 char const* username,
char const* password,
92 portNumBits tunnelOverHTTPPortNum,
int verbosityLevel,
93 int socketNumToServer);
97 char const* username,
char const* password,
98 portNumBits tunnelOverHTTPPortNum,
int verbosityLevel,
99 int socketNumToServer);
105 char const* inputStreamURL,
107 char const* username =
NULL,
char const* password =
NULL,
110 int verbosityLevel = 0,
111 int socketNumToServer = -1,
130 char const* inputStreamURL,
char const*
streamName,
131 char const* username,
char const* password,
132 portNumBits tunnelOverHTTPPortNum,
int verbosityLevel,
133 int socketNumToServer,
151 unsigned char const* cname,
RTPSink* sink);
198 unsigned numTruncatedBytes,
199 struct timeval presentationTime,
200 unsigned durationInMicroseconds);
202 unsigned numTruncatedBytes,
203 struct timeval presentationTime,
204 unsigned durationInMicroseconds);
228 struct timeval& toPT,
struct timeval
const& fromPT);
FramedSource * inputSource() const
void normalizePresentationTime(PresentationTimeSubsessionNormalizer *ssNormalizer, struct timeval &toPT, struct timeval const &fromPT)
PresentationTimeSubsessionNormalizer * fMasterSSNormalizer
PresentationTimeSessionNormalizer(UsageEnvironment &env)
PresentationTimeSubsessionNormalizer * createNewPresentationTimeSubsessionNormalizer(FramedSource *inputSource, RTPSource *rtpSource, char const *codecName)
virtual ~PresentationTimeSessionNormalizer()
void removePresentationTimeSubsessionNormalizer(PresentationTimeSubsessionNormalizer *ssNormalizer)
struct timeval fPTAdjustment
PresentationTimeSubsessionNormalizer * fSubsessionNormalizers
void afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
virtual ~PresentationTimeSubsessionNormalizer()
void setRTPSink(RTPSink *rtpSink)
PresentationTimeSubsessionNormalizer * fNext
PresentationTimeSubsessionNormalizer(PresentationTimeSessionNormalizer &parent, FramedSource *inputSource, RTPSource *rtpSource, char const *codecName, PresentationTimeSubsessionNormalizer *next)
PresentationTimeSessionNormalizer & fParent
static void afterGettingFrame(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
virtual void doGetNextFrame()
void continueAfterPLAY(int resultCode)
Authenticator * fOurAuthenticator
void scheduleDESCRIBECommand()
TaskToken fLivenessCommandTask
static void subsessionTimeout(void *clientData)
ProxyRTSPClient(class ProxyServerMediaSession &ourServerMediaSession, char const *rtspURL, char const *username, char const *password, portNumBits tunnelOverHTTPPortNum, int verbosityLevel, int socketNumToServer)
TaskToken fDESCRIBECommandTask
static void sendDESCRIBE(void *clientData)
ProxyServerMediaSession & fOurServerMediaSession
static void doReset(void *clientData)
Boolean fLastCommandWasPLAY
static void sendLivenessCommand(void *clientData)
void continueAfterDESCRIBE(char const *sdpDescription)
virtual ~ProxyRTSPClient()
int connectToServer(int socketNum, portNumBits remotePortNum)
friend class ProxyServerMediaSubsession
unsigned fNextDESCRIBEDelay
void continueAfterLivenessCommand(int resultCode, Boolean serverSupportsGetParameter)
Boolean fStreamRTPOverTCP
Boolean fServerSupportsGetParameter
void continueAfterSETUP(int resultCode)
class ProxyServerMediaSubsession * fSetupQueueTail
void handleSubsessionTimeout()
class ProxyServerMediaSubsession * fSetupQueueHead
void scheduleLivenessCommand()
TaskToken fSubsessionTimerTask