video_streamer
VideoEncoder.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 #ifndef VIDEO_STREAMER_VIDEOENCODER_TASK_HPP
4 #define VIDEO_STREAMER_VIDEOENCODER_TASK_HPP
5 
6 #include "video_streamer/VideoEncoderBase.hpp"
8 extern "C"
9 {
10 #include "libavcodec/avcodec.h"
11 #include "libswscale/swscale.h"
12 }
13 namespace video_streamer {
14 
29  class VideoEncoder : public VideoEncoderBase
30  {
31  friend class VideoEncoderBase;
32  protected:
33  AVCodec *codec;
34  AVFrame *rgb_picture;
35  AVFrame *yuv_picture;
36  AVCodecContext *c;
37  SwsContext *sws_context;
43 
44  void encodeAndSendFrame(AVFrame* frame);
45  public:
50  VideoEncoder(std::string const& name = "video_streamer::VideoEncoder", TaskCore::TaskState initial_state = Stopped);
51 
57  VideoEncoder(std::string const& name, RTT::ExecutionEngine* engine, TaskCore::TaskState initial_state = Stopped);
58 
61  ~VideoEncoder();
62 
77  bool configureHook();
78 
84  // bool startHook();
85 
100  void updateHook();
101 
108  // void errorHook();
109 
113  void stopHook();
114 
119  void cleanupHook();
120  };
121 }
122 
123 #endif
124 
uint16_t last_width
Definition: VideoEncoder.hpp:40
int frameCounter
Definition: VideoEncoder.hpp:42
AVFrame * rgb_picture
Definition: VideoEncoder.hpp:34
Definition: VideoDecoder.hpp:12
Definition: video_streamer_types.hpp:9
void encodeAndSendFrame(AVFrame *frame)
Definition: VideoEncoder.cpp:163
~VideoEncoder()
Definition: VideoEncoder.cpp:27
uint16_t last_height
Definition: VideoEncoder.hpp:40
int outbuffer_size
Definition: VideoEncoder.hpp:39
friend class VideoEncoderBase
Definition: VideoEncoder.hpp:31
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: VideoEncoder.cpp:35
SwsContext * sws_context
Definition: VideoEncoder.hpp:37
VideoEncoder(std::string const &name="video_streamer::VideoEncoder", TaskCore::TaskState initial_state=Stopped)
Definition: VideoEncoder.cpp:17
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: VideoEncoder.hpp:29
bool initialized
Definition: VideoEncoder.hpp:41
AVCodecContext * c
Definition: VideoEncoder.hpp:36
void updateHook()
Definition: VideoEncoder.cpp:95
AVFrame * yuv_picture
Definition: VideoEncoder.hpp:35
void stopHook()
Definition: VideoEncoder.cpp:204
void cleanupHook()
Definition: VideoEncoder.cpp:214
StreamData outbuffer
Definition: VideoEncoder.hpp:38
AVCodec * codec
Definition: VideoEncoder.hpp:33