live
|
#include <RTSPClient.hh>
Data Structures | |
class | RequestQueue |
class | RequestRecord |
Public Types | |
typedef void() | responseHandler(RTSPClient *rtspClient, int resultCode, char *resultString) |
Public Member Functions | |
unsigned | sendDescribeCommand (responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendOptionsCommand (responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendAnnounceCommand (char const *sdpDescription, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendSetupCommand (MediaSubsession &subsession, responseHandler *responseHandler, Boolean streamOutgoing=False, Boolean streamUsingTCP=False, Boolean forceMulticastOnUnspecified=False, Authenticator *authenticator=NULL) |
unsigned | sendPlayCommand (MediaSession &session, responseHandler *responseHandler, double start=0.0f, double end=-1.0f, float scale=1.0f, Authenticator *authenticator=NULL) |
unsigned | sendPlayCommand (MediaSubsession &subsession, responseHandler *responseHandler, double start=0.0f, double end=-1.0f, float scale=1.0f, Authenticator *authenticator=NULL) |
unsigned | sendPlayCommand (MediaSession &session, responseHandler *responseHandler, char const *absStartTime, char const *absEndTime=NULL, float scale=1.0f, Authenticator *authenticator=NULL) |
unsigned | sendPlayCommand (MediaSubsession &subsession, responseHandler *responseHandler, char const *absStartTime, char const *absEndTime=NULL, float scale=1.0f, Authenticator *authenticator=NULL) |
unsigned | sendPauseCommand (MediaSession &session, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendPauseCommand (MediaSubsession &subsession, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendRecordCommand (MediaSession &session, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendRecordCommand (MediaSubsession &subsession, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendTeardownCommand (MediaSession &session, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendTeardownCommand (MediaSubsession &subsession, responseHandler *responseHandler, Authenticator *authenticator=NULL) |
unsigned | sendSetParameterCommand (MediaSession &session, responseHandler *responseHandler, char const *parameterName, char const *parameterValue, Authenticator *authenticator=NULL) |
unsigned | sendGetParameterCommand (MediaSession &session, responseHandler *responseHandler, char const *parameterName, Authenticator *authenticator=NULL) |
void | setRequireValue (char const *requireValue=NULL) |
void | sendDummyUDPPackets (MediaSession &session, unsigned numDummyPackets=2) |
void | sendDummyUDPPackets (MediaSubsession &subsession, unsigned numDummyPackets=2) |
void | setSpeed (MediaSession &session, float speed=1.0f) |
Boolean | changeResponseHandler (unsigned cseq, responseHandler *newResponseHandler) |
int | socketNum () const |
Boolean | parseRTSPURL (char const *url, char *&username, char *&password, NetAddress &address, portNumBits &portNum, char const **urlSuffix=NULL) |
void | setUserAgentString (char const *userAgentName) |
void | disallowBasicAuthentication () |
unsigned | sessionTimeoutParameter () const |
char const * | url () const |
UsageEnvironment & | envir () const |
char const * | name () const |
virtual Boolean | isSource () const |
virtual Boolean | isSink () const |
virtual Boolean | isRTCPInstance () const |
virtual Boolean | isRTSPServer () const |
virtual Boolean | isMediaSession () const |
virtual Boolean | isServerMediaSession () const |
Static Public Member Functions | |
static RTSPClient * | createNew (UsageEnvironment &env, char const *rtspURL, int verbosityLevel=0, char const *applicationName=NULL, portNumBits tunnelOverHTTPPortNum=0, int socketNumToServer=-1) |
static Boolean | lookupByName (UsageEnvironment &env, char const *sourceName, RTSPClient *&resultClient) |
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 | |
u_int16_t | desiredMaxIncomingPacketSize |
Static Public Attributes | |
static unsigned | responseBufferSize |
Protected Member Functions | |
RTSPClient (UsageEnvironment &env, char const *rtspURL, int verbosityLevel, char const *applicationName, portNumBits tunnelOverHTTPPortNum, int socketNumToServer) | |
virtual | ~RTSPClient () |
void | reset () |
void | setBaseURL (char const *url) |
int | grabSocket () |
virtual unsigned | sendRequest (RequestRecord *request) |
virtual Boolean | setRequestFields (RequestRecord *request, char *&cmdURL, Boolean &cmdURLWasAllocated, char const *&protocolStr, char *&extraHeaders, Boolean &extraHeadersWereAllocated) |
virtual int | connectToServer (int socketNum, portNumBits remotePortNum) |
TaskToken & | nextTask () |
Protected Attributes | |
int | fVerbosityLevel |
unsigned | fCSeq |
Authenticator | fCurrentAuthenticator |
Boolean | fAllowBasicAuthentication |
struct sockaddr_storage | fServerAddress |
Private Member Functions | |
virtual Boolean | isRTSPClient () const |
void | resetTCPSockets () |
void | resetResponseBuffer () |
int | openConnection () |
char * | createAuthenticatorString (char const *cmd, char const *url) |
char * | createBlocksizeString (Boolean streamUsingTCP) |
char * | createKeyMgmtString (char const *url, MediaSubsession const &subsession) |
void | handleRequestError (RequestRecord *request) |
Boolean | parseResponseCode (char const *line, unsigned &responseCode, char const *&responseString) |
void | handleIncomingRequest () |
Boolean | parseTransportParams (char const *paramsStr, char *&serverAddressStr, portNumBits &serverPortNum, unsigned char &rtpChannelId, unsigned char &rtcpChannelId) |
Boolean | parseScaleParam (char const *paramStr, float &scale) |
Boolean | parseSpeedParam (char const *paramStr, float &speed) |
Boolean | parseRTPInfoParams (char const *¶mStr, u_int16_t &seqNum, u_int32_t ×tamp) |
Boolean | handleSETUPResponse (MediaSubsession &subsession, char const *sessionParamsStr, char const *transportParamsStr, Boolean streamUsingTCP) |
Boolean | handlePLAYResponse (MediaSession *session, MediaSubsession *subsession, char const *scaleParamsStr, const char *speedParamsStr, char const *rangeParamsStr, char const *rtpInfoParamsStr) |
Boolean | handleTEARDOWNResponse (MediaSession &session, MediaSubsession &subsession) |
Boolean | handleGET_PARAMETERResponse (char const *parameterName, char *&resultValueString, char *resultValueStringEnd) |
Boolean | handleAuthenticationFailure (char const *wwwAuthenticateParamsStr) |
Boolean | resendCommand (RequestRecord *request) |
char const * | sessionURL (MediaSession const &session) const |
void | handleAlternativeRequestByte1 (u_int8_t requestByte) |
void | constructSubsessionURL (MediaSubsession const &subsession, char const *&prefix, char const *&separator, char const *&suffix) |
Boolean | setupHTTPTunneling1 () |
void | responseHandlerForHTTP_GET1 (int responseCode, char *responseString) |
Boolean | setupHTTPTunneling2 () |
void | connectionHandler1 () |
void | incomingDataHandler1 () |
void | handleResponseBytes (int newBytesRead) |
int | write (const char *data, unsigned count) |
int | read (u_int8_t *buffer, unsigned bufferSize) |
Static Private Member Functions | |
static Boolean | checkForHeader (char const *line, char const *headerName, unsigned headerNameLength, char const *&headerParams) |
static void | handleAlternativeRequestByte (void *, u_int8_t requestByte) |
static void | responseHandlerForHTTP_GET (RTSPClient *rtspClient, int responseCode, char *responseString) |
static void | connectionHandler (void *, int) |
static void | incomingDataHandler (void *, int) |
Private Attributes | |
portNumBits | fTunnelOverHTTPPortNum |
char * | fUserAgentHeaderStr |
unsigned | fUserAgentHeaderStrLen |
int | fInputSocketNum |
int | fOutputSocketNum |
char * | fBaseURL |
unsigned char | fTCPStreamIdCount |
char * | fLastSessionId |
unsigned | fSessionTimeoutParameter |
char * | fResponseBuffer |
unsigned | fResponseBytesAlreadySeen |
unsigned | fResponseBufferBytesLeft |
RequestQueue | fRequestsAwaitingConnection |
RequestQueue | fRequestsAwaitingHTTPTunneling |
RequestQueue | fRequestsAwaitingResponse |
char * | fRequireStr |
char | fSessionCookie [33] |
unsigned | fSessionCookieCounter |
Boolean | fHTTPTunnelingConnectionIsPending |
ClientTLSState | fTLS |
ClientTLSState | fPOSTSocketTLS |
ClientTLSState * | fInputTLS |
ClientTLSState * | fOutputTLS |
UsageEnvironment & | fEnviron |
char | fMediumName [mediumNameMaxLen] |
TaskToken | fNextTask |
Friends | |
class | ClientTLSState |
Definition at line 42 of file RTSPClient.hh.
typedef void() RTSPClient::responseHandler(RTSPClient *rtspClient, int resultCode, char *resultString) |
Definition at line 55 of file RTSPClient.hh.
|
protected |
|
protectedvirtual |
Boolean RTSPClient::changeResponseHandler | ( | unsigned | cseq, |
responseHandler * | newResponseHandler | ||
) |
|
staticprivate |
|
staticinherited |
|
staticinherited |
|
staticprivate |
|
private |
|
protectedvirtual |
Reimplemented in ProxyRTSPClient.
|
private |
|
private |
|
private |
|
private |
|
static |
|
inline |
|
inlineinherited |
Definition at line 59 of file Media.hh.
References Medium::fEnviron.
Referenced by MediaSubsession::env(), GenericMediaServer::ClientConnection::envir(), GenericMediaServer::ClientSession::envir(), and RTPInterface::envir().
|
protected |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
virtualinherited |
Reimplemented in MediaSession.
|
virtualinherited |
Reimplemented in RTCPInstance.
|
virtualinherited |
Reimplemented in RTSPServer.
|
virtualinherited |
Reimplemented in ServerMediaSession.
|
virtualinherited |
Reimplemented in MediaSource.
|
staticinherited |
|
static |
|
inlineinherited |
|
inlineprotectedinherited |
Definition at line 77 of file Media.hh.
References Medium::fNextTask.
|
private |
|
private |
|
private |
Boolean RTSPClient::parseRTSPURL | ( | char const * | url, |
char *& | username, | ||
char *& | password, | ||
NetAddress & | address, | ||
portNumBits & | portNum, | ||
char const ** | urlSuffix = NULL |
||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |
|
staticprivate |
|
private |
unsigned RTSPClient::sendAnnounceCommand | ( | char const * | sdpDescription, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendDescribeCommand | ( | responseHandler * | responseHandler, |
Authenticator * | authenticator = NULL |
||
) |
void RTSPClient::sendDummyUDPPackets | ( | MediaSession & | session, |
unsigned | numDummyPackets = 2 |
||
) |
void RTSPClient::sendDummyUDPPackets | ( | MediaSubsession & | subsession, |
unsigned | numDummyPackets = 2 |
||
) |
unsigned RTSPClient::sendGetParameterCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
char const * | parameterName, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendOptionsCommand | ( | responseHandler * | responseHandler, |
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPauseCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPauseCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPlayCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
char const * | absStartTime, | ||
char const * | absEndTime = NULL , |
||
float | scale = 1.0f , |
||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPlayCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
double | start = 0.0f , |
||
double | end = -1.0f , |
||
float | scale = 1.0f , |
||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPlayCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
char const * | absStartTime, | ||
char const * | absEndTime = NULL , |
||
float | scale = 1.0f , |
||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendPlayCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
double | start = 0.0f , |
||
double | end = -1.0f , |
||
float | scale = 1.0f , |
||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendRecordCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendRecordCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
|
protectedvirtual |
unsigned RTSPClient::sendSetParameterCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
char const * | parameterName, | ||
char const * | parameterValue, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendSetupCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
Boolean | streamOutgoing = False , |
||
Boolean | streamUsingTCP = False , |
||
Boolean | forceMulticastOnUnspecified = False , |
||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendTeardownCommand | ( | MediaSession & | session, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
unsigned RTSPClient::sendTeardownCommand | ( | MediaSubsession & | subsession, |
responseHandler * | responseHandler, | ||
Authenticator * | authenticator = NULL |
||
) |
|
inline |
|
private |
|
protected |
|
protectedvirtual |
Reimplemented in RTSPRegisterSender, and RTSPDeregisterSender.
void RTSPClient::setRequireValue | ( | char const * | requireValue = NULL | ) |
void RTSPClient::setSpeed | ( | MediaSession & | session, |
float | speed = 1.0f |
||
) |
|
private |
|
private |
void RTSPClient::setUserAgentString | ( | char const * | userAgentName | ) |
|
inline |
|
inline |
|
private |
|
friend |
Definition at line 368 of file RTSPClient.hh.
u_int16_t RTSPClient::desiredMaxIncomingPacketSize |
Definition at line 333 of file RTSPClient.hh.
|
protected |
Definition at line 341 of file RTSPClient.hh.
Referenced by disallowBasicAuthentication().
|
private |
Definition at line 349 of file RTSPClient.hh.
Referenced by url().
|
protected |
Definition at line 339 of file RTSPClient.hh.
|
protected |
Definition at line 340 of file RTSPClient.hh.
|
privateinherited |
Definition at line 82 of file Media.hh.
Referenced by Medium::envir().
|
private |
Definition at line 361 of file RTSPClient.hh.
|
private |
Definition at line 348 of file RTSPClient.hh.
Referenced by socketNum().
|
private |
Definition at line 366 of file RTSPClient.hh.
|
private |
Definition at line 351 of file RTSPClient.hh.
|
privateinherited |
Definition at line 83 of file Media.hh.
Referenced by Medium::name().
|
privateinherited |
Definition at line 84 of file Media.hh.
Referenced by Medium::nextTask().
|
private |
Definition at line 348 of file RTSPClient.hh.
|
private |
Definition at line 367 of file RTSPClient.hh.
|
private |
Definition at line 365 of file RTSPClient.hh.
|
private |
Definition at line 355 of file RTSPClient.hh.
|
private |
Definition at line 355 of file RTSPClient.hh.
|
private |
Definition at line 355 of file RTSPClient.hh.
|
private |
Definition at line 356 of file RTSPClient.hh.
|
private |
Definition at line 353 of file RTSPClient.hh.
|
private |
Definition at line 354 of file RTSPClient.hh.
|
private |
Definition at line 354 of file RTSPClient.hh.
|
protected |
Definition at line 342 of file RTSPClient.hh.
|
private |
Definition at line 359 of file RTSPClient.hh.
|
private |
Definition at line 360 of file RTSPClient.hh.
|
private |
Definition at line 352 of file RTSPClient.hh.
Referenced by sessionTimeoutParameter().
|
private |
Definition at line 350 of file RTSPClient.hh.
|
private |
Definition at line 364 of file RTSPClient.hh.
|
private |
Definition at line 345 of file RTSPClient.hh.
|
private |
Definition at line 346 of file RTSPClient.hh.
|
private |
Definition at line 347 of file RTSPClient.hh.
|
protected |
Definition at line 338 of file RTSPClient.hh.
|
static |
Definition at line 198 of file RTSPClient.hh.