00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "playCommon.hh"
00025
00026 RTSPClient* ourRTSPClient = NULL;
00027 Medium* createClient(UsageEnvironment& env, char const* url, int verbosityLevel, char const* applicationName) {
00028 extern portNumBits tunnelOverHTTPPortNum;
00029 return ourRTSPClient = RTSPClient::createNew(env, url, verbosityLevel, applicationName, tunnelOverHTTPPortNum);
00030 }
00031
00032 void getOptions(RTSPClient::responseHandler* afterFunc) {
00033 ourRTSPClient->sendOptionsCommand(afterFunc, ourAuthenticator);
00034 }
00035
00036 void getSDPDescription(RTSPClient::responseHandler* afterFunc) {
00037 ourRTSPClient->sendDescribeCommand(afterFunc, ourAuthenticator);
00038 }
00039
00040 void setupSubsession(MediaSubsession* subsession, Boolean streamUsingTCP, RTSPClient::responseHandler* afterFunc) {
00041 Boolean forceMulticastOnUnspecified = False;
00042 ourRTSPClient->sendSetupCommand(*subsession, afterFunc, False, streamUsingTCP, forceMulticastOnUnspecified, ourAuthenticator);
00043 }
00044
00045 void startPlayingSession(MediaSession* session, double start, double end, float scale, RTSPClient::responseHandler* afterFunc) {
00046 ourRTSPClient->sendPlayCommand(*session, afterFunc, start, end, scale, ourAuthenticator);
00047 }
00048
00049 void startPlayingSession(MediaSession* session, char const* absStartTime, char const* absEndTime, float scale, RTSPClient::responseHandler* afterFunc) {
00050 ourRTSPClient->sendPlayCommand(*session, afterFunc, absStartTime, absEndTime, scale, ourAuthenticator);
00051 }
00052
00053 void tearDownSession(MediaSession* session, RTSPClient::responseHandler* afterFunc) {
00054 ourRTSPClient->sendTeardownCommand(*session, afterFunc, ourAuthenticator);
00055 }
00056
00057 Boolean allowProxyServers = False;
00058 Boolean controlConnectionUsesTCP = True;
00059 Boolean supportCodecSelection = False;
00060 char const* clientProtocolName = "RTSP";