openrtsp.cpp

来自「linux下的rtsp/rtp/rtcp协议栈源代码; c++写的」· C++ 代码 · 共 79 行

CPP
79
字号
/**********This library is free software; you can redistribute it and/or modify it underthe terms of the GNU Lesser General Public License as published by theFree Software Foundation; either version 2.1 of the License, or (at youroption) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.)This library is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESSFOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License formore details.You should have received a copy of the GNU Lesser General Public Licensealong with this library; if not, write to the Free Software Foundation, Inc.,59 Temple Place, Suite 330, Boston, MA  02111-1307  USA**********/// Copyright (c) 1996-2006, Live Networks, Inc.  All rights reserved// A RTSP client test program that opens a RTSP URL argument,// and extracts the data from each incoming RTP stream.#include "playCommon.hh"Medium* createClient(UsageEnvironment& env,                     int verbosityLevel, char const* applicationName) {  extern portNumBits tunnelOverHTTPPortNum;  return RTSPClient::createNew(env, verbosityLevel, applicationName,			       tunnelOverHTTPPortNum);}char* getOptionsResponse(Medium* client, char const* url,			 char* username, char* password) {  RTSPClient* rtspClient = (RTSPClient*)client;  return rtspClient->sendOptionsCmd(url, username, password);}char* getSDPDescriptionFromURL(Medium* client, char const* url,			       char const* username, char const* password,			       char const* /*proxyServerName*/,			       unsigned short /*proxyServerPortNum*/,			       unsigned short /*clientStartPort*/) {  RTSPClient* rtspClient = (RTSPClient*)client;  char* result;  if (username != NULL && password != NULL) {    result = rtspClient->describeWithPassword(url, username, password);  } else {    result = rtspClient->describeURL(url);  }  extern unsigned statusCode;  statusCode = rtspClient->describeStatus();  return result;}Boolean clientSetupSubsession(Medium* client, MediaSubsession* subsession,			      Boolean streamUsingTCP) {  if (client == NULL || subsession == NULL) return False;  RTSPClient* rtspClient = (RTSPClient*)client;  return rtspClient->setupMediaSubsession(*subsession,					  False, streamUsingTCP);}Boolean clientStartPlayingSession(Medium* client,				  MediaSession* session) {  if (client == NULL || session == NULL) return False;  RTSPClient* rtspClient = (RTSPClient*)client;  return rtspClient->playMediaSession(*session);}Boolean clientTearDownSession(Medium* client,			      MediaSession* session) {  if (client == NULL || session == NULL) return False;  RTSPClient* rtspClient = (RTSPClient*)client;  return rtspClient->teardownMediaSession(*session);}Boolean allowProxyServers = False;Boolean controlConnectionUsesTCP = True;Boolean supportCodecSelection = False;char const* clientProtocolName = "RTSP";

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?