mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-10 11:59:58 -05:00
Initial community commit
This commit is contained in:
24
Src/aacdec-mft/MFTDecoder.h
Normal file
24
Src/aacdec-mft/MFTDecoder.h
Normal file
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
#include <mftransform.h>
|
||||
#include <bfc/platform/types.h>
|
||||
|
||||
// generic API for use by all decoder flavors (MP4, MKV, etc)
|
||||
|
||||
class MFTDecoder
|
||||
{
|
||||
public:
|
||||
MFTDecoder();
|
||||
~MFTDecoder();
|
||||
HRESULT Open(const void *asc, size_t asc_bytes);
|
||||
HRESULT Open();
|
||||
void Flush();
|
||||
HRESULT GetOutputProperties(uint32_t *sampleRate, uint32_t *channels);
|
||||
HRESULT Feed(const void *buffer, size_t bufferBytes);
|
||||
HRESULT Decode(void *outputBuffer, size_t *outputBufferBytes, unsigned int bitsPerSample, bool useFloat, double gain);
|
||||
HRESULT OutputBlockSizeSamples(size_t *frameSize);
|
||||
bool AcceptingInput();
|
||||
private:
|
||||
IMFTransform *decoder;
|
||||
IMFMediaBuffer *output_buffer;
|
||||
IMFSample *output_sample;
|
||||
};
|
Reference in New Issue
Block a user