1 #ifndef framefilter_HEADER_GUARD
2 #define framefilter_HEADER_GUARD
307 long int mstime_delta;
323 long int mstime_delta;
325 long int savedtimestamp;
393 void passConfigFrames();
394 void noConfigFrames();
492 void setSlot(SlotNumber n = 0);
512 long int mstimedelta;
513 long int prevmstimestamp;
Decoded YUV frame in a non-planar format (thus "NP")
Definition: frame.h:437
Custom payload Frame.
Definition: frame.h:166
Passes frames to a multiprocessing fifo.
Definition: framefilter.h:554
BlockingFifoFrameFilter(const char *name, FrameFifo *framefifo)
Default constructor // <pyapi>
Definition: framefilter.cpp:709
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:711
Dump the beginning of Frame's payload into stdout in a one-liner.
Definition: framefilter.h:104
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:92
Caches SetupFrame s.
Definition: framefilter.h:449
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:606
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:602
Counts frames passed through this filter.
Definition: framefilter.h:286
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:305
A "hello world" demo class: prints its own name if verbose is set to true.
Definition: framefilter.h:76
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:63
Substitute timestamps with the time they arrive to the client.
Definition: framefilter.h:334
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:397
Dumps each received packet to a file: use with care! For debugging purposes only.
Definition: framefilter.h:270
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:274
Passes frames to a FrameFifo.
Definition: framefilter.h:530
FifoFrameFilter(const char *name, FrameFifo *framefifo)
Default constructor.
Definition: framefilter.cpp:702
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:704
Replicates frame flow to three filters Use this frame filter to create frame filter tree structures.
Definition: framefilter.h:165
ForkFrameFilter3(const char *name, FrameFilter *next=NULL, FrameFilter *next2=NULL, FrameFilter *next3=NULL)
Default constructor.
Definition: framefilter.cpp:146
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:177
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:150
Replicates frame flow to arbitrary number of outputs.
Definition: framefilter.h:193
bool connect(const char *tag, FrameFilter *filter)
Connect a new terminal FrameFilter.
Definition: framefilter.cpp:200
virtual ~ForkFrameFilterN()
Default virtual dtor.
Definition: framefilter.cpp:186
bool disconnect(const char *tag)
Disconnect a connection tagged with a name.
Definition: framefilter.cpp:220
void run(Frame *frame)
called by other FrameFilter(s)
Definition: framefilter.cpp:190
ForkFrameFilterN(const char *name)
Default ctor.
Definition: framefilter.cpp:182
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:237
std::map< std::string, FrameFilter * > framefilters
nametag to connecting FrameFilter mapping
Definition: framefilter.h:208
Replicates frame flow to two filters Use this frame filter to create frame filter tree structures.
Definition: framefilter.h:141
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:121
ForkFrameFilter(const char *name, FrameFilter *next=NULL, FrameFilter *next2=NULL)
Default constructor.
Definition: framefilter.cpp:117
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:141
A thread-safe combination of a fifo (first-in-first-out) queue and an associated stack.
Definition: framefifo.h:83
The mother class of all frame filters! FrameFilters are used to create "filter chains".
Definition: framefilter.h:44
FrameFilter(const char *name, FrameFilter *next=NULL)
Default constructor.
Definition: framefilter.cpp:39
void setVoid()
nullifies the next framefilter in the chain -> cuts the framefilter chain
Definition: framefilter.cpp:53
virtual void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:43
FrameFilter * next
The next frame filter in the chain to be applied.
Definition: framefilter.h:60
virtual void go(Frame *frame)=0
Does the actual filtering/modification to the Frame. Define in subclass.
virtual ~FrameFilter()
Virtual destructor // <pyapi>
Definition: framefilter.cpp:41
Frame: An abstract queueable class.
Definition: frame.h:112
When turned on, passes frames.
Definition: framefilter.h:374
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:506
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:502
Dump the beginning of Frame's payload into stdout.
Definition: framefilter.h:92
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:76
Passes through frames with a certain slot number only.
Definition: framefilter.h:252
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:254
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:258
For H264, some cameras don't send sps and pps packets again before every keyframe.
Definition: framefilter.h:349
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:412
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:406
Changes the slot number of the Frame.
Definition: framefilter.h:479
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:648
Setup frame.
Definition: frame.h:277
Sets the frame slot value.
Definition: framefilter.h:235
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:245
Interpolate from YUV bitmap to RGB.
Definition: framefilter.h:575
SwsContext * sws_ctx
FFmpeg scaling context structure.
Definition: framefilter.h:587
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:791
int target_width
target frame width
Definition: framefilter.h:582
int target_height
target frame height
Definition: framefilter.h:583
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:782
SwScaleFrameFilter(const char *name, int target_width, int target_height, FrameFilter *next=NULL)
Default constructor // <pyapi>
Definition: framefilter.cpp:750
~SwScaleFrameFilter()
Default destructor // <pyapi>
Definition: framefilter.cpp:770
Passes frame to one of the two terminals.
Definition: framefilter.h:401
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:552
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:556
FrameFilter s that are fed from various different threads, should be protected with this.
Definition: framefilter.h:122
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:113
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:101
Pass frames, but not all of them - only on regular intervals.
Definition: framefilter.h:506
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:668
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:674
Corrects erroneous timestamps (while preserving timestamp distances).
Definition: framefilter.h:317
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:347
Corrects erroneous timestamps (while preserving timestamp distances).
Definition: framefilter.h:301
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:315
Passes through frames of certain type only.
Definition: framefilter.h:431
void run(Frame *frame)
Calls this->go(Frame* frame) and then calls the this->next->run(Frame* frame) (if this->next !...
Definition: framefilter.cpp:590
void go(Frame *frame)
Does the actual filtering/modification to the Frame. Define in subclass.
Definition: framefilter.cpp:586
Thread safe system of fifo and a stack.
FrameClass
Enumeration of Frame classes used by Valkka.
Definition: frame.h:53