00001 #ifndef VORBISENCODER_H_ 00002 #define VORBISENCODER_H_ 00003 00004 class Metadata; 00005 class Encoder; 00006 class QString; 00007 00008 #include <vorbis/vorbisenc.h> 00009 00010 class VorbisEncoder : public Encoder 00011 { 00012 public: 00013 VorbisEncoder(const QString &outfile, int qualitylevel, Metadata *metadata); 00014 ~VorbisEncoder(); 00015 int addSamples(int16_t *bytes, unsigned int len); 00016 00017 private: 00018 ogg_page og; 00019 ogg_packet op; 00020 long packetsdone; 00021 int eos; 00022 long bytes_written; 00023 vorbis_comment vc; 00024 ogg_stream_state os; 00025 00026 vorbis_dsp_state vd; 00027 vorbis_block vb; 00028 vorbis_info vi; 00029 00030 Metadata *m_metadata; 00031 }; 00032 00033 #endif