MythTV  master
vorbisencoder.h
Go to the documentation of this file.
1 #ifndef VORBISENCODER_H_
2 #define VORBISENCODER_H_
3 
4 class MusicMetadata;
5 class Encoder;
6 class QString;
7 
8 #include <vorbis/vorbisenc.h>
9 
10 class VorbisEncoder : public Encoder
11 {
12  public:
13  VorbisEncoder(const QString &outfile, int qualitylevel, MusicMetadata *metadata);
14  ~VorbisEncoder() override;
15  int addSamples(int16_t *bytes, unsigned int len) override; // Encoder
16 
17  private:
18  ogg_page m_og {};
19  ogg_packet m_op {};
20  long m_packetsDone {0};
21  long m_bytesWritten {0L};
22  vorbis_comment m_vc {};
23  ogg_stream_state m_os {};
24 
25  vorbis_dsp_state m_vd {};
26  vorbis_block m_vb {};
27  vorbis_info m_vi {};
28 };
29 
30 #endif
VorbisEncoder::VorbisEncoder
VorbisEncoder(const QString &outfile, int qualitylevel, MusicMetadata *metadata)
Definition: vorbisencoder.cpp:32
VorbisEncoder::m_vb
vorbis_block m_vb
Definition: vorbisencoder.h:26
VorbisEncoder::m_vd
vorbis_dsp_state m_vd
Definition: vorbisencoder.h:25
VorbisEncoder::m_op
ogg_packet m_op
Definition: vorbisencoder.h:19
VorbisEncoder::m_vi
vorbis_info m_vi
Definition: vorbisencoder.h:27
Encoder
Definition: encoder.h:13
MusicMetadata
Definition: musicmetadata.h:80
VorbisEncoder
Definition: vorbisencoder.h:10
VorbisEncoder::m_os
ogg_stream_state m_os
Definition: vorbisencoder.h:23
VorbisEncoder::m_bytesWritten
long m_bytesWritten
Definition: vorbisencoder.h:21
VorbisEncoder::m_packetsDone
long m_packetsDone
Definition: vorbisencoder.h:20
VorbisEncoder::m_og
ogg_page m_og
Definition: vorbisencoder.h:18
musicbrainzngs.compat.bytes
bytes
Definition: compat.py:49
VorbisEncoder::addSamples
int addSamples(int16_t *bytes, unsigned int len) override
Definition: vorbisencoder.cpp:103
VorbisEncoder::m_vc
vorbis_comment m_vc
Definition: vorbisencoder.h:22
VorbisEncoder::~VorbisEncoder
~VorbisEncoder() override
Definition: vorbisencoder.cpp:89