/usr/include/avifile-0.7/audiodecoder.h is in libavifile-0.7-dev 1:0.7.48~20090503.ds-18.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #ifndef AVIFILE_AUDIODECODER_H
#define AVIFILE_AUDIODECODER_H
#include "infotypes.h"
AVM_BEGIN_NAMESPACE;
/**
*
* Audio decoder abstract class.
*
* Performs decompression of data from
* various audio formats into raw 2 channels PCM
*
* Some common methods are already implemented
* to avoid useless source copying
*
* Different output format might be requested by
* SetOutputFormat method
*/
class AVMEXPORT IAudioDecoder
{
public:
IAudioDecoder(const CodecInfo& info, const WAVEFORMATEX* in);
virtual ~IAudioDecoder();
/**
* Decodes data. It is guaranteed that either size_read or size_written
* will receive nonzero value if out_size>=GetMinSize().
*/
virtual int Convert(const void* in_data, size_t in_size,
void* out_data, size_t out_size,
size_t* size_read, size_t* size_written) = 0;
/**
* Flush call after seek
*/
virtual void Flush();
virtual const CodecInfo& GetCodecInfo() const;
/**
* Minimal required output buffer size. Calls to Convert() will
* fail if you pass smaller output buffer to it.
*/
virtual size_t GetMinSize() const;
/**
* Returns output format for this audio decoder.
*/
virtual int GetOutputFormat(WAVEFORMATEX* destfmt) const;
virtual IRtConfig* GetRtConfig(); // can't be const
/**
* Estimates the amount (in bytes) of input data that's
* required to produce specified amount of decompressed PCM data.
*/
virtual size_t GetSrcSize(size_t dest_size) const;
/**
* Set output format
* Returns -1 if unsupported
*/
virtual int SetOutputFormat(const WAVEFORMATEX* destfmt);
protected:
const CodecInfo& m_Info;
WAVEFORMATEX* m_pFormat;
size_t m_uiBytesPerSec;
};
AVM_END_NAMESPACE;
#endif // AVIFILE_AUDIODECODER_H
|