f87ca9819b41e4c91cd3f8597d76cf0f065bb9f0
Stefan Schuermans implemented scaler module

Stefan Schuermans authored 12 years ago

1) /* Blinker
2)    Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
6) #ifndef SCALER_H
7) #define SCALER_H
8) 
9) #include <string>
10) 
11) #include <BlinkenLib/BlinkenFrame.h>
12) 
13) #include "CallMgr.h"
14) #include "Directory.h"
15) #include "File.h"
16) #include "Module.h"
17) #include "SettingFile.h"
18) #include "Size.h"
19) #include "StreamMgr.h"
20) #include "StreamRecv.h"
21) 
22) namespace Blinker {
23) 
24) /// a stream scaler
25) class Scaler: public Module, public StreamRecv
26) {
27) public:
28)   /**
29)    * @brief constructor
30)    * @param[in] callMgr callback manager
31)    * @param[in] streamMgr stream manager
32)    * @param[in] dirBase base directory
33)    */
34)   Scaler(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase);
35) 
36)   /// virtual destructor
37)   virtual ~Scaler();
38) 
39) private:
40)   /// copy constructor disabled
41)   Scaler(const Scaler &that);
42) 
43)   /// assignment operator disabled
44)   const Scaler & operator=(const Scaler &that);
45) 
46) public:
47)   /// check for update of configuration
48)   virtual void updateConfig();
49) 
50)   /**
51)    * @brief set current frame
52)    * @param[in] stream stream name
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

53)    * @param[in] pFrame current frame (NULL for none)
Stefan Schuermans implemented scaler module

Stefan Schuermans authored 12 years ago

54)    */
55)   virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame);
56) 
57) protected:
58)   /// get input stream and attach to it
59)   void getInStream();
60) 
61)   /// detach from input stream and release it
62)   void releaseInStream();
63) 
64)   /// (re-)get size to scale to
65)   void getSize();
66) 
67)   /// get output stream
68)   void getOutStream();
69) 
70)   /// release output stream
71)   void releaseOutStream();
72) 
73)   /// send current frame to output stream
74)   void sendFrame();
75) 
76)   /**
77)    * @brief process frame
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

78)    * @param[in] pFrame frame to process (NULL for none)