X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=audio_encoder.h;h=7bdb02a3657d61675e3ea66354f58ea17e35015a;hb=a564f192f808841ad8dfa9a4aa6c8db3335bd6fd;hp=682cc47414698973e26646e260c8e3e2f1001c63;hpb=2804eb55c7d4f9f6d70203d106d0f1e69b19c2ee;p=nageru diff --git a/audio_encoder.h b/audio_encoder.h index 682cc47..7bdb02a 100644 --- a/audio_encoder.h +++ b/audio_encoder.h @@ -3,6 +3,7 @@ #ifndef _AUDIO_ENCODER_H #define _AUDIO_ENCODER_H 1 +#include #include #include @@ -12,11 +13,12 @@ extern "C" { #include } +#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 &audio, int64_t audio_pts); void encode_last_audio(); - const AVCodec *get_codec() { return ctx->codec; } + AVCodecParametersWithDeleter get_codec_parameters(); private: void encode_audio_one_frame(const float *audio, size_t num_samples, int64_t audio_pts);