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差し替え)