vorbis_encoder

まだ実装が適当ですが、意外とすんなり出来てしまいました。
OutputFilterにしても大差はないのですが、とりあえずはSinkアダプタでの実装です。

#include <hamigaki/audio/vorbis_encoder.hpp>
#include <hamigaki/audio/wave_file.hpp>
#include <boost/iostreams/copy.hpp>

namespace audio = hamigaki::audio;
namespace io = boost::iostreams;

int main()
{
    audio::wave_source file("in.wav");
    io::copy(
        file,
        audio::vorbis_encoder("out.ogg", file.format())
    );
}

vorbis_encoderでは、名前に違和感がありますね。vorbis_fileをvorbis_file_sourceに変えて、vorbis_encoderをvorbis_file_sinkにしたほうがよさそうです。その辺の調整は実装が完了してからやります。

今日の成果物
まだ、音がおかしいのでどこかバグってます。
しょうもないバグでした。(00:33差し替え)