kwave
18.07.70
|
#include <OggDecoder.h>
Public Member Functions | |
OggDecoder () | |
virtual | ~OggDecoder () Q_DECL_OVERRIDE |
virtual Kwave::Decoder * | instance () Q_DECL_OVERRIDE |
virtual bool | open (QWidget *widget, QIODevice &source) Q_DECL_OVERRIDE |
virtual bool | decode (QWidget *widget, Kwave::MultiWriter &dst) Q_DECL_OVERRIDE |
virtual void | close () Q_DECL_OVERRIDE |
![]() | |
Decoder () | |
virtual | ~Decoder () |
virtual Kwave::MetaDataList & | metaData () |
![]() | |
CodecBase () | |
virtual | ~CodecBase () |
virtual bool | supports (const QMimeType &mimetype) |
virtual bool | supports (const QString &mimetype_name) |
virtual QStringList | extensions (const QString &mimetype_name) const |
virtual const QList< CodecBase::MimeType > | mimeTypes () |
virtual const QList< Kwave::Compression::Type > | compressionTypes () |
virtual void | addMimeType (const char *name, const QString &description, const char *patterns) |
virtual void | addCompression (Kwave::Compression::Type compression) |
virtual QString | mimeTypeOf (const QUrl &url) |
Protected Member Functions | |
int | parseHeader (QWidget *widget) |
Private Attributes | |
Kwave::OggSubDecoder * | m_sub_decoder |
QIODevice * | m_source |
ogg_sync_state | m_oy |
ogg_stream_state | m_os |
ogg_page | m_og |
ogg_packet | m_op |
Additional Inherited Members | |
![]() | |
void | sourceProcessed (quint64 pos) |
![]() | |
Kwave::MetaDataList | m_meta_data |
Definition at line 32 of file OggDecoder.h.
Kwave::OggDecoder::OggDecoder | ( | ) |
Constructor
Definition at line 44 of file OggDecoder.cpp.
References Kwave::CodecBase::addMimeType(), REGISTER_COMPRESSION_TYPE_OGG_OPUS, REGISTER_COMPRESSION_TYPE_OGG_VORBIS, REGISTER_OGG_OPUS_MIME_TYPES, and REGISTER_OGG_VORBIS_MIME_TYPES.
|
virtual |
Destructor
Definition at line 64 of file OggDecoder.cpp.
References close(), and m_source.
|
virtual |
Closes the source.
Implements Kwave::Decoder.
Definition at line 275 of file OggDecoder.cpp.
References m_source, and m_sub_decoder.
Referenced by ~OggDecoder().
|
virtual |
Decodes a stream of bytes into a MultiWriter
widget | a widget that can be used for displaying message boxes or dialogs |
dst | MultiWriter that receives the audio data |
Implements Kwave::Decoder.
Definition at line 200 of file OggDecoder.cpp.
References Kwave::OggSubDecoder::close(), Kwave::OggSubDecoder::decode(), Kwave::MessageBox::error(), Kwave::MultiWriter::isCanceled(), m_og, m_op, m_os, m_oy, m_source, m_sub_decoder, Kwave::Decoder::metaData(), parseHeader(), Kwave::MetaDataList::replace(), Kwave::OggSubDecoder::reset(), Kwave::Decoder::sourceProcessed(), and Kwave::toInt().
|
virtual |
Returns a new instance of the decoder
Implements Kwave::Decoder.
Definition at line 70 of file OggDecoder.cpp.
|
virtual |
Opens the source and decodes the header information.
widget | a widget that can be used for displaying message boxes or dialogs |
source | file or other source with a stream of bytes |
Implements Kwave::Decoder.
Definition at line 173 of file OggDecoder.cpp.
References m_oy, m_source, Kwave::Decoder::metaData(), and parseHeader().
|
protected |
Try to parse header frames.
widget | a QWidget for displaying error messages |
Definition at line 76 of file OggDecoder.cpp.
References _, Kwave::MessageBox::error(), Kwave::INF_MIMETYPE, m_og, m_op, m_os, m_oy, m_source, m_sub_decoder, Kwave::Decoder::metaData(), Kwave::OggSubDecoder::open(), Kwave::MetaDataList::replace(), SAMPLE_BITS, Kwave::FileInfo::set(), Kwave::FileInfo::setBits(), and Kwave::FileInfo::setLength().
Referenced by decode(), and open().
|
private |
one Ogg bitstream page. Vorbis packets are inside
Definition at line 93 of file OggDecoder.h.
Referenced by decode(), and parseHeader().
|
private |
one raw packet of data for decode
Definition at line 96 of file OggDecoder.h.
Referenced by decode(), and parseHeader().
|
private |
take physical pages, weld into a logical stream of packets
Definition at line 90 of file OggDecoder.h.
Referenced by decode(), and parseHeader().
|
private |
sync and verify incoming physical bitstream
Definition at line 87 of file OggDecoder.h.
Referenced by decode(), open(), and parseHeader().
|
private |
source of the audio data
Definition at line 84 of file OggDecoder.h.
Referenced by close(), decode(), open(), parseHeader(), and ~OggDecoder().
|
private |
sub decoder, can be Vorbis, Opus, Speex or whatever...
Definition at line 81 of file OggDecoder.h.
Referenced by close(), decode(), and parseHeader().