]> git.sesse.net Git - nageru/blobdiff - audio_encoder.h
Make it possible to load/save input mappings.
[nageru] / audio_encoder.h
index d627a9c281a6abd10bd42cc5e51f098a46b79412..7bdb02a3657d61675e3ea66354f58ea17e35015a 100644 (file)
@@ -3,6 +3,7 @@
 #ifndef _AUDIO_ENCODER_H
 #define _AUDIO_ENCODER_H 1
 
+#include <memory>
 #include <string>
 #include <vector>
 
@@ -12,11 +13,12 @@ extern "C" {
 #include <libavutil/frame.h>
 }
 
+#include "ffmpeg_raii.h"
 #include "mux.h"
 
 class AudioEncoder {
 public:
-       AudioEncoder(const std::string &codec_name, int bit_rate);
+       AudioEncoder(const std::string &codec_name, int bit_rate, const AVOutputFormat *oformat);
        ~AudioEncoder();
 
        void add_mux(Mux *mux) {  // Does not take ownership.
@@ -25,7 +27,7 @@ public:
        void encode_audio(const std::vector<float> &audio, int64_t audio_pts);
        void encode_last_audio();
 
-       const AVCodecContext *get_ctx() { return ctx; }
+       AVCodecParametersWithDeleter get_codec_parameters();
 
 private:
        void encode_audio_one_frame(const float *audio, size_t num_samples, int64_t audio_pts);