1 #ifndef SERVER_HEADER_GUARD
2 #define SERVER_HEADER_GUARD
59 BufferSource(UsageEnvironment &env,
FrameFifo &
fifo, Boolean &
canary,
unsigned preferredFrameSize = 0,
unsigned playTimePerFrame =0,
unsigned offset=0);
68 unsigned fPreferredFrameSize;
69 unsigned fPlayTimePerFrame;
104 Stream(UsageEnvironment &
env,
FrameFifo &
fifo,
const std::string adr,
unsigned short int portnum,
const unsigned char ttl=255);
115 Groupsock *rtpGroupsock;
116 Groupsock *rtcpGroupsock;
117 unsigned char cname[101];
124 void handleFrame(
Frame *f);
126 static void afterPlaying(
void* cdata);
158 void checkForAuxSDPLine1();
159 void afterPlayingDummy1();
162 static void afterPlayingDummy(
void* clientData);
163 static void checkForAuxSDPLine(
void* clientData);
171 virtual char const* getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource);
172 virtual FramedSource* createNewStreamSource(
unsigned clientSessionId,
unsigned& estBitrate);
173 virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock,
unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource);
178 RTPSink* fDummyRTPSink;
186 H264Stream(UsageEnvironment &
env,
FrameFifo &
fifo,
const std::string adr,
unsigned short int portnum,
const unsigned char ttl=255);
Implements a FramedSource for sending frames.
Definition: liveserver.h:50
void handleFrame(Frame *f)
Copies a Frame from BufferSource::fifo into BufferSource::internal_fifo. Sets BufferSource::active....
Definition: liveserver.cpp:58
BufferSource(UsageEnvironment &env, FrameFifo &fifo, Boolean &canary, unsigned preferredFrameSize=0, unsigned playTimePerFrame=0, unsigned offset=0)
Default constructor.
Definition: liveserver.cpp:37
std::deque< BasicFrame * > internal_fifo
Internal fifo BasicFrame, i.e. payload frames.
Definition: liveserver.h:75
virtual void doGetNextFrame()
All the fun happens here.
Definition: liveserver.cpp:92
FrameFifo & fifo
Frames are being read from here. This reference leads all the way down to LiveThread::fifo.
Definition: liveserver.h:66
Boolean & canary
If this instance of BufferSource get's annihilated, kill the canary (set it to false)
Definition: liveserver.h:67
bool active
If set, doGetNextFrame is currently re-scheduled.
Definition: liveserver.h:76
A thread-safe combination of a fifo (first-in-first-out) queue and an associated stack.
Definition: framefifo.h:83
Frame: An abstract queueable class.
Definition: frame.h:112
Definition: liveserver.h:183
An outbound Stream.
Definition: liveserver.h:92
UsageEnvironment & env
Identifies the live555 event loop.
Definition: liveserver.h:109
FrameFifo & fifo
Frames are read from here. This reference leads all the way down to LiveThread::fifo.
Definition: liveserver.h:110
virtual ~Stream()
Default destructor.
Definition: liveserver.cpp:295
RTPSink * sink
Live555 class: queries frames from terminal.
Definition: liveserver.h:112
BufferSource * buffer_source
Reserved in the child classes (depends on the payload type)
Definition: liveserver.h:119
FramedSource * terminal
The final sink in the live555 filterchain.
Definition: liveserver.h:120
Boolean source_alive
A canary variable that tells us if live555 event loop has closed the buffer_source.
Definition: liveserver.h:121
Stream(UsageEnvironment &env, FrameFifo &fifo, const std::string adr, unsigned short int portnum, const unsigned char ttl=255)
Default constructor.
Definition: liveserver.cpp:228
Thread safe system of fifo and a stack.
List of common header files.