AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AudioEncoder.hpp
Go to the documentation of this file.
1 #ifndef _AV_TRANSCODER_ENCODER_AUDIO_ENCODER_HPP_
2 #define _AV_TRANSCODER_ENCODER_AUDIO_ENCODER_HPP_
3 
4 #include "IEncoder.hpp"
7 
8 namespace avtranscoder
9 {
10 
11 class AvExport AudioEncoder : public IEncoder
12 {
13 public:
14  AudioEncoder(const std::string& audioCodecName);
15  ~AudioEncoder();
16 
17  void setupAudioEncoder(const AudioFrameDesc& frameDesc,
19  void setupEncoder(const ProfileLoader::Profile& profile = ProfileLoader::Profile());
20 
21  bool encodeFrame(const Frame& sourceFrame, CodedData& codedFrame);
22  bool encodeFrame(CodedData& codedFrame);
23 
24  ICodec& getCodec() { return _codec; }
25  AudioCodec& getAudioCodec() { return _codec; }
26 
27 private:
28  bool encode(const AVFrame* decodedData, AVPacket& encodedData);
29 
30 private:
32 };
33 }
34 
35 #endif
AudioCodec & getAudioCodec()
std::map< std::string, std::string > Profile
ICodec & getCodec()
Get codec used for encoding.
Description to create an audio frame. This corresponds to the number of samples, which corresponds to...
Definition: AudioFrame.hpp:14
This class describes decoded (raw) audio or video data.
Definition: Frame.hpp:16
This class describes coded data.
Definition: CodedData.hpp:18