aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_wmvdrm/ExtendedRead.h
blob: 1e9cd06331520bf2cc6a34b68f8e9f38ea5eb3ae (plain) (blame)
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
#ifndef NULLSOFT_IN_WMVDRM_EXTENDEDREAD_H
#define NULLSOFT_IN_WMVDRM_EXTENDEDREAD_H

#include "AudioFormat.h"
#include "../Agave/DecodeFile/ifc_audiostream.h"
#include "main.h"

struct ExtendedReadStruct : public AudioFormat, public ifc_audiostream
{
public:
	ExtendedReadStruct();
	ExtendedReadStruct(IWMSyncReader *_reader);
	~ExtendedReadStruct();

	bool Open(const wchar_t *filename);
	bool FindOutput(int bits, int channels);
	size_t ReadAudio(void *buffer, size_t sizeBytes);

	IWMSyncReader *reader;
	WORD streamNum;

	INSSBuffer *buffer;
	size_t bufferUsed;
	bool endOfFile;
	QWORD length;
protected:
	RECVS_DISPATCH;
};

#endif