Valkka  1.6.1
OpenSource Video Management
Public Member Functions | Private Attributes | List of all members
FDFrameFifo Class Reference

FrameFifo using file descriptors. More...

#include <framefifo.h>

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

Public Member Functions

 FDFrameFifo (const char *name, FrameFifoContext ctx=FrameFifoContext())
 Default ctor

 
virtual ~FDFrameFifo ()
 Default virtual dtor

 
virtual bool writeCopy (Frame *f, bool wait=false)
 Take a frame "ftmp" from the stack, copy contents of "f" into "ftmp" and insert "ftmp" into the beginning of the fifo (i.e. perform "copy-on-insert"). The size of "ftmp" is also checked and set to target_size, if necessary. If wait is set to true, will wait until there are frames available in the stack. More...
 
virtual Frameread (unsigned short int mstimeout=0)
 Pop a frame from the end of the fifo when available. More...
 
const int getFD ()
 
- Public Member Functions inherited from FrameFifo
 FrameFifo (const char *name, FrameFifoContext ctx=FrameFifoContext())
 Default ctor

 
virtual ~FrameFifo ()
 Default virtual dtor

 
 ban_copy_ctor (FrameFifo)
 
 ban_copy_asm (FrameFifo)
 
Reservoir & getReservoir (FrameClass cl)
 Get the reservoir .. in the case you want to manipulate the frames.
 
virtual void recycle (Frame *f)
 Like FrameFifo::recycle_ but with mutex protection.
 
virtual void recycleAll ()
 Recycle all frames from fifo back to stack (make a "flush")
 
virtual void dumpStacks ()
 Dump frames in the stacks.
 
virtual void dumpFifo ()
 Dump frames in the fifo.
 
virtual void diagnosis ()
 Print a resumen of fifo and stack usage.
 
bool isEmpty ()
 Tell if fifo is empty.
 

Private Attributes

int fd
 

Additional Inherited Members

- Protected Member Functions inherited from FrameFifo
virtual void recycle_ (Frame *f)
 Return Frame f back into the stack. Update target_size if necessary.
 
virtual void recycleAll_ ()
 Recycle all frames back to the stack.
 
- Protected Attributes inherited from FrameFifo
std::string name
 
FrameFifoContext ctx
 Parameters defining the stack and overflow behaviour.
 
std::map< FrameClass, Reservoir > reservoirs
 The actual frames.
 
std::map< FrameClass, Stack > stacks
 Pointers to the actual frames, sorted by FrameClass.
 
Fifo fifo
 The fifo queue.
 
std::mutex mutex
 The Lock.
 
std::condition_variable condition
 The Event/Flag.
 
std::condition_variable ready_condition
 The Event/Flag for FrameFifo::ready_mutex.
 

Detailed Description

FrameFifo using file descriptors.

Member Function Documentation

◆ read()

Frame * FDFrameFifo::read ( unsigned short int  mstimeout = 0)
virtual

Pop a frame from the end of the fifo when available.

Should be called only after using read on the file descriptor. May return NULL pointer.

Reimplemented from FrameFifo.

◆ writeCopy()

bool FDFrameFifo::writeCopy ( Frame f,
bool  wait = false 
)
virtual

Take a frame "ftmp" from the stack, copy contents of "f" into "ftmp" and insert "ftmp" into the beginning of the fifo (i.e. perform "copy-on-insert"). The size of "ftmp" is also checked and set to target_size, if necessary. If wait is set to true, will wait until there are frames available in the stack.

Reimplemented from FrameFifo.


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