torchaudio/csrc/ffmpeg/sink.h (23 lines of code) (raw):

#pragma once #include <torchaudio/csrc/ffmpeg/buffer.h> #include <torchaudio/csrc/ffmpeg/ffmpeg.h> #include <torchaudio/csrc/ffmpeg/filter_graph.h> namespace torchaudio { namespace ffmpeg { class Sink { AVFramePtr frame; public: FilterGraph filter; std::unique_ptr<Buffer> buffer; Sink( AVRational input_time_base, AVCodecParameters* codecpar, int frames_per_chunk, int num_chunks, std::string filter_description); int process_frame(AVFrame* frame); bool is_buffer_ready() const; void flush(); }; } // namespace ffmpeg } // namespace torchaudio