1 #ifndef fdwriterthread_HEADER_GUARD 2 #define fdwriterthread_HEADER_GUARD 38 #include <sys/select.h> 56 inline std::ostream& operator<< (std::ostream& os,
const FDWriteContext& ctx) {
58 os <<
"<FDWriteContext : slot = " << ctx.
slot <<
" / fd = " << ctx.
fd <<
" >";
75 std::deque<Frame*> internal_fifo;
95 enum class FDWriteSignal {
143 struct timeval timeout;
158 int safeGetSlot (
const SlotNumber
slot,
FDWrite*& fd_write);
166 void requestStopCall();
int nfds
Max file descriptor number.
Definition: fdwritethread.h:142
Describes the stack structure and fifo behaviour for a FrameFifo.
Definition: framefifo.h:45
signal to AVThread or OpenGLThread. Also custom signals to custom Threads
FDFrameFifo infifo
Incoming frames (also signal frames) are read from here.
Definition: fdwritethread.h:136
FrameFifo & fifo
Outgoing Frames are finally recycled here.
Definition: fdwritethread.h:74
Thread safe system of fifo and a stack.
SlotNumber slot
A unique stream slot that identifies this stream // <pyapi>
Definition: fdwritethread.h:53
A thread-safe combination of a fifo (first-in-first-out) queue and an associated stack.
Definition: framefifo.h:72
Information sent with a signal to FDWriteThread.
Definition: fdwritethread.h:86
Describes an outgoing file descriptor connection.
Definition: fdwritethread.h:49
undefined (initial value)
Definition: usbthread.h:143
int fd
file descriptor // <pyapi>
Definition: fdwritethread.h:52
Base class for multithreading.
Passes frames to a multiprocessing fifo.
Definition: framefilter.h:585
BlockingFifoFrameFilter infilter_block
Incoming frames can also be written here. If stack runs out of frames, writing will block...
Definition: fdwritethread.h:138
Definition: fdwritethread.h:66
FrameFifo using file descriptors.
Definition: framefifo.h:121
File Descriptor Writer Thread.
Definition: fdwritethread.h:124
const FDWriteContext & ctx
Identifies the connection type, stream address, etc.
Definition: fdwritethread.h:73
Definition of FrameFilter and derived classes for various purposes.
fd_set read_fds
File descriptor sets used by select.
Definition: fdwritethread.h:141
A class for multithreading with a signaling system.
Definition: thread.h:90
FifoFrameFilter infilter
Write incoming frames here // TODO: add a chain of correcting FrameFilter(s)
Definition: fdwritethread.h:137
Passes frames to a FrameFifo.
Definition: framefilter.h:560
Encapsulate data sent to FDWriteThread with a SignalFrame.
Definition: fdwritethread.h:107
FDWriteContext fd_write_ctx
< Identifies the stream
Definition: fdwritethread.h:88
std::list< FDWrite * > fd_writes
For iterating over the FDWrite entries.
Definition: fdwritethread.h:140
std::vector< FDWrite * > slots_
For fast, pointer-arithmetic-based indexing of the slots.
Definition: fdwritethread.h:139