#ifndef AVIPLAY_AVIREADSTREAMA_H
#define AVIPLAY_AVIREADSTREAMA_H

#include "AviReadStream.h"

class IAudioDecoder;

class AviReadStreamA : public AviReadStream
{
    IAudioDecoder* audiodecoder;
public:
    AviReadStreamA(streamid_t id, IMediaReadStream* stream);
    ~AviReadStreamA() { StopStreaming(); }
    HRESULT GetAudioFormatInfo(void* bi, char** ext) const;
    size_t GetFrameSize() const;
    HRESULT GetOutputFormat(void* format, size_t size) const;
    framepos_t GetPos() const;
    double GetTime() const;
    bool IsStreaming() const;
    HRESULT ReadFrames(void* buffer, size_t bufsize, size_t samples,
		       size_t& samples_read, size_t& bytes_read);
    HRESULT StartStreaming();
    HRESULT StopStreaming();
};

#endif // AVIPLAY_AVIREADSTREAMA_H
