|
Valkka
1.6.1
OpenSource Video Management
|
Writes frames to ValkkaFS. More...
#include <valkkafs.h>


Public Member Functions | |
| ValkkaFSWriterThread (const char *name, ValkkaFS &valkkafs, FrameFifoContext fifo_ctx=FrameFifoContext(), bool o_direct=false) | |
| void | run () |
| Main execution loop is defined here. | |
| void | preRun () |
| Called before entering the main execution loop, but after creating the thread. | |
| void | postRun () |
| Called after the main execution loop exits, but before joining the thread. | |
| void | preJoin () |
| Called before the thread is joined. | |
| void | postJoin () |
| Called after the thread has been joined. | |
| void | sendSignal (ValkkaFSWriterSignalContext signal_ctx) |
| Insert a signal into the signal_fifo. | |
| FifoFrameFilter & | getFrameFilter () |
| FifoFrameFilter & | getBlockingFrameFilter () |
| void | setSlotIdCall (SlotNumber slot, IdNumber id) |
| Set a slot => id number mapping. | |
| void | unSetSlotIdCall (SlotNumber slot) |
| Clear a slot => id number mapping. | |
| void | clearSlotIdCall () |
| Clear all slot => id number mappings. | |
| void | reportSlotIdCall () |
| Print slot, id number mappings. | |
| void | seekCall (std::size_t n_block) |
| Seek to a certain block. | |
| void | requestStopCall () |
| API method: stops the thread. More... | |
Public Member Functions inherited from Thread | |
| Thread (const char *name) | |
| Default constructor. More... | |
| ~Thread () | |
| Destructor:not virtual. More... | |
| virtual void | sendSignal (SignalContext signal_ctx) |
| Send a signal to the thread. | |
| virtual void | sendSignalAndWait (SignalContext signal_ctx) |
| Send a signal to the thread and wait for all signals to be executed. | |
| void | setAffinity (int i) |
| API method for setting the thread affinity. More... | |
| void | startCall () |
| API method: starts the thread. | |
| virtual void | stopCall () |
| API method: stops the thread. More... | |
| virtual void | waitStopCall () |
| API method: waits until the thread is joined. More... | |
| virtual void | waitReady () |
| Wait until thread has processed all its signals. | |
Protected Member Functions | |
| void | handleSignal (ValkkaFSWriterSignalContext &signal_ctx) |
| Handle an individual signal. Signal can originate from the frame fifo or from the signal_fifo deque. | |
| void | handleSignals () |
| Call ValkkaFSWriterThread::handleSignal for every signal in the signal_fifo. | |
| void | saveCurrentBlock (bool pycall=true, bool use_gil=true) |
| Save the current block GIL must be obtained for calls that originate purely from the cpp side For calls originating from the python-side, GIL should not be obtained. | |
| void | setSlotId (SlotNumber slot, IdNumber id) |
| void | unSetSlotId (SlotNumber slot) |
| void | clearSlotId () |
| void | reportSlotId () |
| void | seek (std::size_t n_block) |
Protected Member Functions inherited from Thread | |
| void | mainRun () |
| Does the preRun, run, postRun sequence. | |
| void | closeThread () |
| Sends exit signal to the thread, calls join. This method blocks until thread has exited. Set Thread::has_thread to false. | |
Protected Attributes | |
| ValkkaFS & | valkkafs |
| RaWriter | raw_writer |
| std::map< SlotNumber, IdNumber > | slot_to_id |
| Map from slot numbers to ids. | |
| std::size_t | bytecount |
| FrameFifo | infifo |
| Incoming frames are read from here. | |
| FifoFrameFilter | infilter |
| Write incoming frames here // TODO: add a chain of correcting FrameFilter(s) | |
| BlockingFifoFrameFilter | infilter_block |
| Incoming frames can also be written here. If stack runs out of frames, writing will block. | |
| std::deque< ValkkaFSWriterSignalContext > | signal_fifo |
| Redefinition of signal fifo. | |
Protected Attributes inherited from Thread | |
| std::string | name |
| Name of the thread. | |
| bool | has_thread |
| true if thread has been started | |
| bool | stop_requested |
| bool | thread_joined |
| std::mutex | start_mutex |
| Mutex protecting start_condition. | |
| std::condition_variable | start_condition |
| Notified when the thread has been started. | |
| std::mutex | mutex |
| Mutex protecting the condition variable and signal queue. | |
| std::condition_variable | condition |
| Condition variable for the signal queue (triggered when all signals processed). Not necessarily used by all subclasses. | |
| std::mutex | loop_mutex |
| Protects thread's main execution loop (if necessary) | |
| std::deque< SignalContext > | signal_fifo |
| Signal queue (fifo). Redefine in child classes. | |
| bool | loop |
| Use this boolean to control if the main loop in Thread:run should exit. | |
| int | core_id |
| pthread_attr_t | thread_attr |
| Thread attributes, pthread_* way. | |
| cpu_set_t | cpuset |
| pthread_t | internal_thread |
Additional Inherited Members | |
Static Protected Member Functions inherited from Thread | |
| static void * | mainRun_ (void *p) |
Writes frames to ValkkaFS.
|
virtual |
API method: stops the thread.
Like Thread::stopCall() but does not block. Waiting for the thread to join is done in Thread::waitStoppedCall()
Reimplemented from Thread.