Valkka  1.6.1
OpenSource Video Management
Classes
shmem

Posix shared memory and semaphores. More...

Collaboration diagram for shmem:

Classes

class  AVRGBFrame
 Decoded YUV frame in a non-planar format (thus "NP") More...
 
class  SharedMemSegment
 Handles a shared memory segment with metadata (the segment size) More...
 
class  SharedMemRingBufferBase
 Interprocess shared memory ring buffer synchronized with posix semaphores. More...
 
class  SharedMemRingBufferRGB
 SharedMemRingBuffer for AVRGBFrame. More...
 
class  ShmemFrameFilter
 This FrameFilter writes frames into a SharedMemRingBuffer. More...
 
class  RGBShmemFrameFilter
 Like ShmemFrameFilter. More...
 

Detailed Description

Posix shared memory and semaphores.

Using shared memory, multiprocesses, especially python processes, can interchange frames. Used typically for sending frames from AVThread to a python multiprocess at the python API side.

According to my experience, this is good for passing, say, one full-hd frame per second (good enough to do ok image analysis). However, don't expect this to work for high-throughput 30 fps per second for several cameras..!

In the SharedMemRingBuffer the name is important. It identifies the POSIX shared memory segments both in the server and client side.