forked from mikrosimage/avTranscoder
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIDecoder.hpp
More file actions
45 lines (36 loc) · 1.01 KB
/
Copy pathIDecoder.hpp
File metadata and controls
45 lines (36 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _AV_TRANSCODER_ESSENCE_STREAM_IDECODER_HPP_
#define _AV_TRANSCODER_ESSENCE_STREAM_IDECODER_HPP_
#include <AvTranscoder/common.hpp>
#include <AvTranscoder/frame/Frame.hpp>
namespace avtranscoder
{
class AvExport IDecoder
{
public:
virtual ~IDecoder() {};
/**
* @brief Open the decoder
*/
virtual void setup() = 0;
/**
* @brief Decode next frame
* @param frameBuffer: the frame decoded
* @return status of decoding
*/
virtual bool decodeNextFrame( Frame& frameBuffer ) = 0;
/**
* @brief Decode substream of next frame
* @param frameBuffer: the frame decoded
* @param subStreamIndex: index of substream to extract
* @return status of decoding
*/
virtual bool decodeNextFrame( Frame& frameBuffer, const size_t subStreamIndex ) = 0;
/**
* @brief Set the next frame of the input stream (which bypass the work of decoding)
* @note Not yet implemented for VideoDecoder and AudioDecoder
* @param inputFrame: the new next frame
*/
virtual void setNextFrame( Frame& inputFrame ) {}
};
}
#endif