AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VideoGenerator.hpp
Go to the documentation of this file.
1 #ifndef _AV_TRANSCODER_DECODER_VIDEO_GENERATOR_HPP_
2 #define _AV_TRANSCODER_DECODER_VIDEO_GENERATOR_HPP_
3 
4 #include "IDecoder.hpp"
6 
7 namespace avtranscoder
8 {
9 
10 class AvExport VideoGenerator : public IDecoder
11 {
12 private:
13  VideoGenerator(const VideoGenerator& videoGenerator);
14  VideoGenerator& operator=(const VideoGenerator& videoGenerator);
15 
16 public:
17  VideoGenerator(const VideoFrameDesc& frameDesc);
18 
19  ~VideoGenerator();
20 
21  bool decodeNextFrame(Frame& frameBuffer);
22  bool decodeNextFrame(Frame& frameBuffer, const size_t channelIndex);
23 
24  void setNextFrame(Frame& inputFrame) { _inputFrame = &inputFrame; }
25 
26 private:
27  Frame* _inputFrame; ///< A frame given from outside (has link, no ownership)
28  VideoFrame* _blackImage; ///< The generated black image (has ownership)
29  const VideoFrameDesc _frameDesc; ///< The description of the black image (width, height...)
30 };
31 }
32 
33 #endif
const VideoFrameDesc _frameDesc
The description of the black image (width, height...)
Description to create a video frame.
Definition: VideoFrame.hpp:21
This class describes decoded video data.
Definition: VideoFrame.hpp:43
Frame * _inputFrame
A frame given from outside (has link, no ownership)
void setNextFrame(Frame &inputFrame)
Set the next frame of the input stream (which bypass the work of decoding)
This class describes decoded (raw) audio or video data.
Definition: Frame.hpp:16
VideoFrame * _blackImage
The generated black image (has ownership)