Valkka  1.6.1
OpenSource Video Management
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ValkkaRTSPClient Class Reference

Handles a live555 RTSP connection. More...

#include <live.h>

Inheritance diagram for ValkkaRTSPClient:
Inheritance graph
[legend]
Collaboration diagram for ValkkaRTSPClient:
Collaboration graph
[legend]

Public Member Functions

void requestMulticast ()
 
void requestTCP ()
 
void setRecvBufferSize (unsigned i)
 
void setReorderingTime (unsigned i)
 

Static Public Member Functions

static ValkkaRTSPClientcreateNew (UsageEnvironment &env, const std::string rtspURL, FrameFilter &framefilter, LiveStatus *livestatus, bool &termplease, int verbosityLevel=0, char const *applicationName=NULL, portNumBits tunnelOverHTTPPortNum=0)
 Default constructor. More...
 
static void continueAfterDESCRIBE (RTSPClient *rtspClient, int resultCode, char *resultString)
 Called after rtsp DESCRIBE command gets a reply.
 
static void continueAfterGET_PARAMETER (RTSPClient *rtspClient, int resultCode, char *resultString)
 Used by pingGET_PARAMETER: a dummy callback to GET_PARAMETER.
 
static void continueAfterSETUP (RTSPClient *rtspClient, int resultCode, char *resultString)
 Called after rtsp SETUP command gets a reply.
 
static void continueAfterPLAY (RTSPClient *rtspClient, int resultCode, char *resultString)
 Called after rtsp PLAY command gets a reply.
 
static void subsessionAfterPlaying (void *clientData)
 Called when a stream's subsession (e.g., audio or video substream) ends.
 
static void subsessionByeHandler (void *clientData)
 Called when a RTCP "BYE" is received for a subsession.
 
static void streamTimerHandler (void *clientData)
 Called at the end of a stream's expected duration (if the stream has not already signaled its end using a RTCP "BYE")
 
static void setupNextSubsession (RTSPClient *rtspClient)
 Used to iterate through each stream's 'subsessions', setting up each one.
 
static void shutdownStream (RTSPClient *rtspClient, int exitCode=1)
 Used to shut down and close a stream (including its "RTSPClient" object):
 
static void pingGetParameter (void *clientData)
 Send a periodic GET_PARAMETER "ping" to the camera.
 

Public Attributes

bool passthrough
 control media sink passthrough to framefilter
 
StreamClientState scs
 
FrameFilterframefilter
 Target frame filter where frames are being fed.
 
LiveStatuslivestatus
 This points to a variable that is being used by LiveThread to inform about the stream state.
 
bool & termplease
 Points to a variable that is being used by LiveThread to inform this client to exit asap if in LiveStatus::pending.
 
bool request_multicast
 Request multicast during rtsp negotiation.
 
bool request_tcp
 Request interleaved streaming over tcp.
 
unsigned recv_buffer_size
 Operating system ringbuffer size for incoming socket.
 
unsigned reordering_time
 Live555 packet reordering treshold time (microsecs)
 

Protected Member Functions

 ValkkaRTSPClient (UsageEnvironment &env, const std::string rtspURL, FrameFilter &framefilter, LiveStatus *livestatus, bool &termplease, int verbosityLevel, char const *applicationName, portNumBits tunnelOverHTTPPortNum)
 
virtual ~ValkkaRTSPClient ()
 Default virtual destructor.
 

Detailed Description

Handles a live555 RTSP connection.

To get an idea how this works, see Live555 primer

Member Function Documentation

◆ createNew()

ValkkaRTSPClient * ValkkaRTSPClient::createNew ( UsageEnvironment &  env,
const std::string  rtspURL,
FrameFilter framefilter,
LiveStatus livestatus,
bool &  termplease,
int  verbosityLevel = 0,
char const *  applicationName = NULL,
portNumBits  tunnelOverHTTPPortNum = 0 
)
static

Default constructor.

Parameters
envThe usage environment, i.e. event loop in question
rtspURLThe URL of the live stream
framefilterStart of the frame filter chain. New frames are being fed here.
livestatusThis used to inform LiveThread about the state of the stream
termpleaseLiveThread informs that this ValkkaRTSPClient should exit while still in continueAfterDESCRIBE --> continueAfterSETUP
verbosityLevel(optional) Verbosity level
applicationName(optional)
tunnelOverHTTPPortNum(optional)

The documentation for this class was generated from the following files: