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