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 |
![]() | |
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 | |
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 | |
![]() | |
void | sourceProcessed (quint64 pos) |
![]() | |
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().