• rtsp 学习之路一


    http://baijiahao.baidu.com/s?id=1587715130853990653&wfr=spider&for=pc

    https://www.cnblogs.com/cslunatic/p/3756417.html

    https://www.cnblogs.com/jqctop1/p/4385557.html

    https://www.wolfcstech.com/2017/09/07/live555_src_analysis_servermediasession/

    ->RTSPServer::incomingConnectionHandlerHTTP
    RTSPServer* server = (RTSPServer*)instance;
    server->incomingConnectionHandlerHTTP();
    ->RTSPServer::incomingConnectionHandlerHTTP()
    incomingConnectionHandlerOnSocket(fHTTPServerSocket);
    ->GenericMediaServer::incomingConnectionHandlerOnSocket(int serverSocket)
    ->(void)createNewClientConnection(clientSocket, clientAddr);
    ->1GenericMediaServer::ClientConnection*
    RTSPServer::createNewClientConnection(int clientSocket, struct sockaddr_in clientAddr) {
    return new RTSPClientConnection(*this, clientSocket, clientAddr);
    }
    ->2GenericMediaServer::ClientConnection*
    RTSPServerSupportingHTTPStreaming::createNewClientConnection(int clientSocket, struct sockaddr_in clientAddr) {
    return new RTSPClientConnectionSupportingHTTPStreaming(*this, clientSocket, clientAddr);
    }
    ->RTSPServer::RTSPClientConnection
    ::RTSPClientConnection(RTSPServer& ourServer, int clientSocket, struct sockaddr_in clientAddr)
    : GenericMediaServer::ClientConnection(ourServer, clientSocket, clientAddr),
    fOurRTSPServer(ourServer), fClientInputSocket(fOurSocket), fClientOutputSocket(fOurSocket),
    fIsActive(True), fRecursionCount(0), fOurSessionCookie(NULL) {
    resetRequestBuffer();
    }


    //GenericMediaServer.cpp
    ->GenericMediaServer::ClientConnection
    ::ClientConnection(GenericMediaServer& ourServer, int clientSocket, struct sockaddr_in clientAddr)
    : fOurServer(ourServer), fOurSocket(clientSocket), fClientAddr(clientAddr)

    //GenericMediaServer.cpp
    ->void GenericMediaServer::ClientConnection::incomingRequestHandler(void* instance, int /*mask*/)
    //GenericMediaServer.cpp
    ->void GenericMediaServer::ClientConnection::incomingRequestHandler()
    //RTSPServer.cpp 分析读取的数据,提取出命令名
    ->void RTSPServer::RTSPClientConnection::handleRequestBytes(int newBytesRead)

    //RTSPServer.cpp
    ->void RTSPServer::RTSPClientConnection::handleRequestBytes(int newBytesRead)
    ->handleCmd_DESCRIBE(urlPreSuffix, urlSuffix, (char const*)fRequestBuffer);
    ->void RTSPServer::RTSPClientConnection
    ::handleCmd_DESCRIBE(char const* urlPreSuffix, char const* urlSuffix, char const* fullRequestStr)
    //ServerMediaSession.cpp
    ->char* ServerMediaSession::generateSDPDescription()
    //OnDemandServerMediaSubsession.cpp
    ->char const* OnDemandServerMediaSubsession::sdpLines()
    ->void OnDemandServerMediaSubsession
    ::setSDPLinesFromRTPSink(RTPSink* rtpSink, FramedSource* inputSource, unsigned estBitrate)
    //H264VideoFileServerMediaSubsession.cpp
    ->char const* H265VideoFileServerMediaSubsession::getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource)
    //H264VideoFileServerMediaSubsession.cpp
    ->static void checkForAuxSDPLine(void* clientData)
    //H264VideoFileServerMediaSubsession.cpp
    ->void H264VideoFileServerMediaSubsession::checkForAuxSDPLine1()
    //H264VideoRTPSink.cpp
    ->char const* H264VideoRTPSink::auxSDPLine()

  • 相关阅读:
    linux将home目录扩容到根目录
    Daily Build
    H公司数据同步的总结
    VB2010新特性之——标识语言版本的新命令行选项/langversion (Visual Basic)
    Linux安装Jemalloc
    Lnmp切换PHP版本
    Server2008通过bat命令自动定时备份MySQL数据库
    IIS 安装AspNetCoreModule托管模块
    JavaScript 学习笔记——Math属性及其方法
    js完美多物体运动框架(缓冲运动)
  • 原文地址:https://www.cnblogs.com/Malphite/p/10044361.html
Copyright © 2020-2023  润新知