|
kwave
18.07.70
|
#include <WavDecoder.h>


Public Member Functions | |
| WavDecoder () | |
| virtual | ~WavDecoder () 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 |
Public Member Functions inherited from Kwave::Decoder | |
| Decoder () | |
| virtual | ~Decoder () |
| virtual Kwave::MetaDataList & | metaData () |
Public Member Functions inherited from Kwave::CodecBase | |
| 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 | |
| bool | repair (QList< Kwave::RecoverySource *> *repair_list, Kwave::RIFFChunk *riff_chunk, Kwave::RIFFChunk *fmt_chunk, Kwave::RIFFChunk *data_chunk) |
| bool | repairChunk (QList< Kwave::RecoverySource *> *repair_list, Kwave::RIFFChunk *chunk, quint32 &offset) |
Private Member Functions | |
| void | addPropertyChunk (const Kwave::FileProperty property, const QByteArray &chunk_name) |
Private Attributes | |
| QIODevice * | m_source |
| Kwave::VirtualAudioFile * | m_src_adapter |
| QStringList | m_known_chunks |
| Kwave::WavPropertyMap | m_property_map |
Additional Inherited Members | |
Signals inherited from Kwave::Decoder | |
| void | sourceProcessed (quint64 pos) |
Protected Attributes inherited from Kwave::Decoder | |
| Kwave::MetaDataList | m_meta_data |
Definition at line 43 of file WavDecoder.h.
| Kwave::WavDecoder::WavDecoder | ( | ) |
Constructor
Definition at line 61 of file WavDecoder.cpp.
References _, Kwave::WavPropertyMap::chunks(), m_known_chunks, m_property_map, name, REGISTER_COMPRESSION_TYPES, and REGISTER_MIME_TYPES.

|
virtual |
Destructor
Definition at line 100 of file WavDecoder.cpp.
References close(), m_source, and m_src_adapter.

|
private |
adds an entry to m_known_chunks and to m_property_map
|
virtual |
Closes the source.
Implements Kwave::Decoder.
Definition at line 808 of file WavDecoder.cpp.
References m_source, and m_src_adapter.
Referenced by ~WavDecoder().

|
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 596 of file WavDecoder.cpp.
References Kwave::VirtualAudioFile::handle(), Kwave::MultiWriter::isCanceled(), Kwave::FileInfo::length(), m_source, m_src_adapter, Kwave::Decoder::metaData(), SAMPLE_BITS, SAMPLE_STORAGE_BITS, Kwave::toInt(), Kwave::toUint(), and Kwave::MultiTrackSink< SINK, INITIALIZE >::tracks().

|
virtual |
Returns a new instance of the decoder
Implements Kwave::Decoder.
Definition at line 107 of file WavDecoder.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 113 of file WavDecoder.cpp.
References _, Kwave::min_wav_header_t::bitwidth, Kwave::min_wav_header_t::blockalign, Kwave::min_wav_header_t::bytespersec, Kwave::min_wav_header_t::channels, CHECK, Kwave::RIFFParser::chunkCount(), Kwave::connect(), Kwave::WavPropertyMap::containsChunk(), Kwave::RIFFChunk::dataLength(), Kwave::RIFFChunk::dataStart(), Kwave::SampleFormat::Double, Kwave::RIFFParser::dumpStructure(), Kwave::MessageBox::error(), Kwave::RIFFParser::findChunk(), Kwave::RIFFParser::findMissingChunk(), Kwave::WavFormatMap::findName(), Kwave::SampleFormat::Float, Kwave::min_wav_header_t::format, Kwave::Compression::fromAudiofile(), Kwave::VirtualAudioFile::handle(), Kwave::INF_COMPRESSION, Kwave::INF_SAMPLE_FORMAT, Kwave::RIFFParser::isSane(), Kwave::VirtualAudioFile::lastError(), Kwave::VirtualAudioFile::lastErrorText(), Kwave::RIFFChunk::length(), m_known_chunks, m_property_map, m_source, m_src_adapter, Kwave::Decoder::metaData(), Kwave::wav_fmt_header_t::min, Kwave::RIFFChunk::name(), name, Kwave::VirtualAudioFile::open(), Kwave::RIFFParser::parse(), Kwave::RIFFChunk::physLength(), Kwave::WavPropertyMap::property(), repair(), Kwave::RIFFParser::repair(), Kwave::MetaDataList::replace(), SAMPLE_STORAGE_BITS, Kwave::min_wav_header_t::samplerate, Kwave::FileInfo::set(), Kwave::FileInfo::setBits(), Kwave::FileInfo::setLength(), Kwave::FileInfo::setRate(), Kwave::FileInfo::setTracks(), Kwave::SampleFormat::Signed, Kwave::MessageBox::sorry(), Kwave::LabelList::sort(), Kwave::RIFFChunk::subChunks(), Kwave::Compression::toInt(), Kwave::toInt(), Kwave::LabelList::toMetaDataList(), Kwave::SampleFormat::Unknown, Kwave::SampleFormat::Unsigned, and Kwave::MessageBox::warningContinueCancel().

|
protected |
Fix all inconsistencies and create a repar list.
Definition at line 737 of file WavDecoder.cpp.
References Kwave::RIFFChunk::Empty, Kwave::RIFFChunk::fixSize(), Kwave::RIFFChunk::Garbage, Kwave::RIFFChunk::Main, Kwave::RIFFChunk::name(), Kwave::RIFFChunk::physLength(), Kwave::RIFFChunk::physStart(), repairChunk(), Kwave::RIFFChunk::setType(), Kwave::RIFFChunk::subChunks(), and Kwave::RIFFChunk::type().
Referenced by open(), and repairChunk().


|
protected |
Adds a chunk to a repair list
Definition at line 669 of file WavDecoder.cpp.
References Kwave::RIFFChunk::dataLength(), Kwave::RIFFChunk::dataStart(), Kwave::RIFFChunk::format(), m_source, Kwave::RIFFChunk::Main, Kwave::RIFFChunk::name(), Kwave::RIFFChunk::physLength(), repair(), Kwave::RIFFChunk::Root, Kwave::RIFFChunk::subChunks(), and Kwave::RIFFChunk::type().
Referenced by repair().


|
private |
list of all known chunk names
Definition at line 111 of file WavDecoder.h.
Referenced by open(), and WavDecoder().
|
private |
map for translating chunk names to FileInfo properties
Definition at line 114 of file WavDecoder.h.
Referenced by open(), and WavDecoder().
|
private |
source of the audio data
Definition at line 105 of file WavDecoder.h.
Referenced by close(), decode(), open(), repairChunk(), and ~WavDecoder().
|
private |
adapter for libaudiofile
Definition at line 108 of file WavDecoder.h.
Referenced by close(), decode(), open(), and ~WavDecoder().