Valkka  1.6.1
OpenSource Video Management
framefilterset.h
Go to the documentation of this file.
1 #ifndef framefilterset_HEADER_GUARD
2 #define framefilterset_HEADER_GUARD
3 /*
4  * framefilterset.h : Classes using several framefilters
5  *
6  * (c) Copyright 2017-2024 Sampsa Riikonen
7  *
8  * Authors: Sampsa Riikonen <sampsa.riikonen@iki.fi>
9  *
10  * This file is part of the Valkka library.
11  *
12  * Valkka is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU Lesser General Public License as
14  * published by the Free Software Foundation, either version 3 of the
15  * License, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public License
23  * along with this program. If not, see <https://www.gnu.org/licenses/>
24  *
25  */
26 
37 #include "framefilter.h"
38 
57 class Switch { // <pyapi>
58 
59 public: // <pyapi>
66  Switch(const char* name, FrameFilter* next=NULL); // <pyapi>
67  virtual ~Switch(); // <pyapi>
68 
69 protected:
70  std::string name;
73  int n_channel;
74 
75 public: // <pyapi>
76  void setChannel(int i); // <pyapi>
77  int getCurrentChannel(); // <pyapi>
78  FrameFilter* getInputChannel(int i); // <pyapi>
79 }; // <pyapi>
80 
81 
82 
102 class DoubleGate { // <pyapi>
103 
104 public: // <pyapi>
105  DoubleGate(const char* name, FrameFilter* next=NULL, FrameFilter* next2=NULL); // <pyapi>
106  virtual ~DoubleGate(); // <pyapi>
107 
108 protected:
109  std::string name;
110  CachingGateFrameFilter channel0;
111  CachingGateFrameFilter channel1;
112  int n_channel;
113 
114 public: // <pyapi>
115  void setChannel(int i); // <pyapi>
116  int getCurrentChannel(); // <pyapi>
117  FrameFilter* getInputChannel(int i); // <pyapi>
118 }; // <pyapi>
119 
120 
121 #endif
122 
123 
Caches SetupFrame s.
Definition: framefilter.h:449
Gates between two input streams.
Definition: framefilterset.h:102
The mother class of all frame filters! FrameFilters are used to create "filter chains".
Definition: framefilter.h:44
Switch between two input streams.
Definition: framefilterset.h:57
int n_channel
Current active channel.
Definition: framefilterset.h:73
Switch(const char *name, FrameFilter *next=NULL)
Default ctor.
Definition: framefilterset.cpp:36
CachingGateFrameFilter channel0
Input framefilter for channel 0.
Definition: framefilterset.h:71
CachingGateFrameFilter channel1
Input framefilter for channel 1.
Definition: framefilterset.h:72
Definition of FrameFilter and derived classes for various purposes.