Valkka
1.6.1
OpenSource Video Management
|
A base class that unifies all kinds of connections (RTSP and SDP). More...
#include <livethread.h>
Public Member Functions | |
Connection (UsageEnvironment &env, LiveConnectionContext &ctx) | |
Default constructor. More... | |
virtual | ~Connection () |
Default destructor. | |
virtual void | playStream ()=0 |
Called from within the live555 event loop. | |
virtual void | stopStream (bool cut=true)=0 |
Stops stream and reclaims it resources. Called from within the live555 event loop. cut: cut the downstream filterchain or no. | |
virtual void | reStartStream () |
Called from within the live555 event loop. | |
virtual void | reStartStreamIf () |
Called from within the live555 event loop. | |
virtual bool | isClosed () |
Have the streams resources been reclaimed after stopping it? | |
virtual void | forceClose () |
Normally, stopStream reclaims the resources. This one forces the delete. | |
SlotNumber | getSlot () |
Return the slot number. | |
Public Attributes | |
UsageEnvironment & | env |
UsageEnvironment identifying the Live555 event loop (see Live555 primer) | |
bool | is_playing |
Protected Attributes | |
LiveConnectionContext & | ctx |
LiveConnectionContext identifying the stream source (address), it's destination (slot and target framefilter), etc. | |
FrameFilter * | timestampfilter |
FrameFilter * | inputfilter |
FrameFilter * | repeat_sps_filter |
Repeat sps & pps packets before i-frame (if they were not there before the i-frame) | |
long int | frametimer |
Measures time when the last frame was received. | |
long int | pendingtimer |
Measures how long stream has been pending. | |
A base class that unifies all kinds of connections (RTSP and SDP).
Methods of this class are used by the LiveThread class and they are called from within the Live555 event loop.
Connect typically has a small, default internal filterchain to correct for the often-so-erroneous timestamps (see the cpp file for more details):
Filterchain: --> {FrameFilter: Connection::inputfilter} --> {TimestampFrameFilter2: Connection::timestampfilter} --> {FrameFilter: Connection::framefilter} -->