The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CRTSPResourceManager Class Reference

Inheritance diagram for CRTSPResourceManager:
Collaboration diagram for CRTSPResourceManager:

List of all members.

Public Types

enum  ResponseCode {
  ResponseOK = 200, ResponseNotFound = 404, ResponseNotAcceptable = 406, ResponseInvalidParameter = 451,
  ResponseSessionNotFound = 454, ResponseUnsupportedTransport = 461
}
enum  SupportedTransports { SupportsUDPTransport = 0x01, SupportsTCPTransport = 0x10, SupportsAllTransports = 0x11 }

Public Member Functions

 CRTSPResourceManager (const JetByteTools::Core::_tstring &cname, const JetByteTools::Core::_tstring &baseUri, DWORD framesToCache, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::Seconds sessionInactivityTimeout, JetByteTools::IO::IAllocateBuffers &bufferAllocator, ICreateUDPConnections &connectionManager, DWORD mtu)
 CRTSPResourceManager (const JetByteTools::Core::_tstring &cname, const JetByteTools::Core::_tstring &baseUri, DWORD framesToCache, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::Seconds sessionInactivityTimeout, JetByteTools::IO::IAllocateBuffers &bufferAllocator, ICreateUDPConnections &connectionManager, DWORD mtu, IAllocateSSRCs &ssrcAllocator, JetByteTools::Core::IProvideSystemTime &systemTimeProvider)
 ~CRTSPResourceManager ()
DWORD GetMTU () const
std::string AddResource (const JetByteTools::Core::_tstring &uriName, IRTSPResource &resource)
void RemoveResource (const std::string &uri)
void BeginShutdown ()
void WaitForShutdownToComplete ()
bool WaitForShutdownToComplete (Milliseconds timeout)
ResponseCode Describe (const std::string &hostAddress, const std::string &rtspPort, const JetByteTools::Socket::IAddress &remoteAddress, const std::string &uri, const std::string &accept, std::string &description, std::string &contentType) override
ResponseCode Setup (SupportedTransports supportedTransports, const std::string &hostAddress, const JetByteTools::Socket::IAddress &remoteAddress, IInterleavedRTPTCPStream &tcpStream, const std::string &uri, std::string &session, const std::string &transport, std::string &selectedTransport, std::string &sessionDescription) override
ResponseCode Play (const std::string &hostAddress, const std::string &rtspPort, const JetByteTools::Socket::IAddress &remoteAddress, const std::string &uri, const std::string &sessionID, const std::string &range, std::string &outputRange, std::string &rtpInfo) override
ResponseCode Pause (const JetByteTools::Socket::IAddress &remoteAddress, const std::string &uri, const std::string &sessionID, const std::string &range) override
ResponseCode GetParameter (const JetByteTools::Socket::IAddress &remoteAddress, const std::string &uri, const std::string &sessionID, size_t entitySize, const BYTE *pEntityData) override
ResponseCode Teardown (const JetByteTools::Socket::IAddress &remoteAddress, const std::string &uri, const std::string &sessionID) override
ResponseCode DestroySession (const std::string &sessionID) override
void OnInboundStreamData (const IInterleavedRTPTCPStream &stream, JetByteTools::IO::CSmartBuffer &data) override
void RemoveStream (const IInterleavedRTPTCPStream &stream) override
void PauseSession (const std::string &sessionID) override
void ResumeSession (const std::string &sessionID) override


Member Enumeration Documentation

enum ResponseCode [inherited]

Enumerator:
ResponseOK 
ResponseNotFound 
ResponseNotAcceptable 
ResponseInvalidParameter 
ResponseSessionNotFound 
ResponseUnsupportedTransport 

enum SupportedTransports [inherited]

Enumerator:
SupportsUDPTransport 
SupportsTCPTransport 
SupportsAllTransports 


Constructor & Destructor Documentation

CRTSPResourceManager ( const JetByteTools::Core::_tstring cname,
const JetByteTools::Core::_tstring baseUri,
DWORD  framesToCache,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::Seconds  sessionInactivityTimeout,
JetByteTools::IO::IAllocateBuffers bufferAllocator,
ICreateUDPConnections connectionManager,
DWORD  mtu 
)

CRTSPResourceManager ( const JetByteTools::Core::_tstring cname,
const JetByteTools::Core::_tstring baseUri,
DWORD  framesToCache,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::Seconds  sessionInactivityTimeout,
JetByteTools::IO::IAllocateBuffers bufferAllocator,
ICreateUDPConnections connectionManager,
DWORD  mtu,
IAllocateSSRCs ssrcAllocator,
JetByteTools::Core::IProvideSystemTime systemTimeProvider 
)


Member Function Documentation

DWORD GetMTU (  )  const

std::string AddResource ( const JetByteTools::Core::_tstring uriName,
IRTSPResource resource 
)

void RemoveResource ( const std::string &  uri  ) 

void BeginShutdown (  ) 

void WaitForShutdownToComplete (  ) 

bool WaitForShutdownToComplete ( Milliseconds  timeout  ) 

CRTSPResourceManager::ResponseCode Describe ( const std::string &  hostAddress,
const std::string &  rtspPort,
const JetByteTools::Socket::IAddress remoteAddress,
const std::string &  uri,
const std::string &  accept,
std::string &  description,
std::string &  contentType 
) [override, virtual]

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode Setup ( SupportedTransports  supportedTransports,
const std::string &  hostAddress,
const JetByteTools::Socket::IAddress remoteAddress,
IInterleavedRTPTCPStream tcpStream,
const std::string &  uri,
std::string &  session,
const std::string &  transport,
std::string &  selectedTransport,
std::string &  sessionDescription 
) [override, virtual]

need to map stream to tcpConnection so that we can pass escaped data on the control channel to the stream

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode Play ( const std::string &  hostAddress,
const std::string &  rtspPort,
const JetByteTools::Socket::IAddress remoteAddress,
const std::string &  uri,
const std::string &  sessionID,
const std::string &  range,
std::string &  outputRange,
std::string &  rtpInfo 
) [override, virtual]

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode Pause ( const JetByteTools::Socket::IAddress remoteAddress,
const std::string &  uri,
const std::string &  sessionID,
const std::string &  range 
) [override, virtual]

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode GetParameter ( const JetByteTools::Socket::IAddress remoteAddress,
const std::string &  uri,
const std::string &  sessionID,
size_t  entitySize,
const BYTE pEntityData 
) [override, virtual]

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode Teardown ( const JetByteTools::Socket::IAddress remoteAddress,
const std::string &  uri,
const std::string &  sessionID 
) [override, virtual]

Implements IManageRTSPResources.

CRTSPResourceManager::ResponseCode DestroySession ( const std::string &  sessionID  )  [override, virtual]

Implements IManageRTSPResources.

void OnInboundStreamData ( const IInterleavedRTPTCPStream stream,
JetByteTools::IO::CSmartBuffer data 
) [override, virtual]

Implements IManageRTSPResources.

void RemoveStream ( const IInterleavedRTPTCPStream stream  )  [override, virtual]

Implements IManageRTSPResources.

void PauseSession ( const std::string &  sessionID  )  [override, virtual]

Implements IManageRTSPResources.

void ResumeSession ( const std::string &  sessionID  )  [override, virtual]

Implements IManageRTSPResources.


Generated on Sun Sep 12 19:11:20 2021 for The Server Framework - v7.4 by doxygen 1.5.3