6 #include "BasicUsageEnvironment.hh" 7 #include "liveMedia.hh" 17 #include <condition_variable> 22 #define RTSP_CLIENT_COMMANDS_TIMEOUT_SEC 10 24 #define SDP_EXTRINSICS_ARGS 13 29 static IRsRtsp*
createNew(
char const* t_rtspURL,
char const* t_applicationName, portNumBits t_tunnelOverHTTPPortNum,
int idx);
39 virtual std::vector<rs2_video_stream>
getStreams();
51 virtual std::vector<IpDeviceControlData>
getControls();
54 static void continueAfterSETUP(RTSPClient* rtspClient,
int resultCode,
char* resultString);
55 static void continueAfterPLAY(RTSPClient* rtspClient,
int resultCode,
char* resultString);
57 static void continueAfterPAUSE(RTSPClient* rtspClient,
int resultCode,
char* resultString);
72 unsigned sendSetParameterCommand(responseHandler* responseHandler,
char const* parameterName,
char const* parameterValue, Authenticator* authenticator =
NULL);
74 Boolean
setRequestFields(RequestRecord* request,
char*& cmdURL, Boolean& cmdURLWasAllocated,
char const*& protocolStr,
char*& extraHeaders, Boolean& extraHeadersWereAllocated);
77 RsRTSPClient(TaskScheduler* t_scheduler, UsageEnvironment* t_env,
char const* t_rtspURL,
int t_verbosityLevel,
char const* t_applicationName, portNumBits t_tunnelOverHTTPPortNum,
int idx);
89 std::condition_variable
m_cv;
static int getPhysicalSensorUniqueKey(rs2_stream stream_type, int sensors_index)
std::vector< rs2_video_stream > m_supportedProfiles
virtual std::vector< IpDeviceControlData > getControls()
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
std::mutex m_taskSchedulerMutex
TaskScheduler * m_scheduler
static long long int getStreamProfileUniqueKey(rs2_video_stream t_profile)
unsigned sendSetParameterCommand(responseHandler *responseHandler, char const *parameterName, char const *parameterValue, Authenticator *authenticator=NULL)
All the parameters required to define a video stream.
std::condition_variable m_cv
static void subsessionByeHandler(void *clientData, char const *reason)
char & getEventLoopWatchVariable()
GLsizei const GLchar *const * string
static void continueAfterSETUP(RTSPClient *rtspClient, int resultCode, char *resultString)
RsRtspReturnValue m_lastReturnValue
RsRTSPClient(TaskScheduler *t_scheduler, UsageEnvironment *t_env, char const *t_rtspURL, int t_verbosityLevel, char const *t_applicationName, portNumBits t_tunnelOverHTTPPortNum, int idx)
void setDeviceData(DeviceData t_data)
void setGetParamResponse(float t_res)
virtual int setOption(const std::string &t_sensorName, rs2_option t_option, float t_value)
Boolean setRequestFields(RequestRecord *request, char *&cmdURL, Boolean &cmdURLWasAllocated, char const *&protocolStr, char *&extraHeaders, Boolean &extraHeadersWereAllocated)
static void continueAfterTEARDOWN(RTSPClient *rtspClient, int resultCode, char *resultString)
static int m_streamCounter
unsigned sendGetParameterCommand(responseHandler *responseHandler, char const *parameterName, Authenticator *authenticator=NULL)
char m_eventLoopWatchVariable
virtual int getOption(const std::string &t_sensorName, rs2_option t_option, float &t_value)
static void continueAfterOPTIONS(RTSPClient *rtspClient, int resultCode, char *resultString)
static void continueAfterGETCOMMAND(RTSPClient *rtspClient, int resultCode, char *resultString)
rs2_stream
Streams are different types of data provided by RealSense devices.
virtual int addStream(rs2_video_stream t_stream, rtp_callback *t_frameCallBack)
virtual DeviceData getDeviceData()
static void continueAfterDESCRIBE(RTSPClient *rtspClient, int resultCode, char *resultString)
static void continueAfterPLAY(RTSPClient *rtspClient, int resultCode, char *resultString)
std::mutex & getTaskSchedulerMutex()
static IRsRtsp * createNew(char const *t_rtspURL, char const *t_applicationName, portNumBits t_tunnelOverHTTPPortNum, int idx)
static void continueAfterSETCOMMAND(RTSPClient *rtspClient, int resultCode, char *resultString)
static void continueAfterPAUSE(RTSPClient *rtspClient, int resultCode, char *resultString)
virtual std::vector< rs2_video_stream > getStreams()
static void subsessionAfterPlaying(void *clientData)
void setup(rs2_video_stream t_stream)
std::map< long long int, RsMediaSubsession * > m_subsessionMap
void initFunc(MemoryPool *t_pool)