| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- #ifndef NULLSOFT_AUDIOLAYERH
 
- #define NULLSOFT_AUDIOLAYERH
 
- #include "WMHandler.h"
 
- #include <mmreg.h>
 
- #include "AudioThread.h"
 
- #include "AudioFormat.h"
 
- class AudioLayer : public WMHandler, public AudioFormat
 
- {
 
- public:
 
- 	AudioLayer(IWMReader *_reader);
 
- 	~AudioLayer();
 
- bool IsOpen()
 
- {
 
- 	return opened;
 
- }
 
- 	void Kill();
 
- 	bool OpenAudio();
 
- 	void StartAudioThread();
 
- private:
 
- 	// WMHandler events
 
- 	void Opened();
 
- 	void SampleReceived(QWORD &timeStamp, QWORD &duration, unsigned long &outputNum, unsigned long &flags, INSSBuffer *&sample);
 
- 	void VideoCatchup(QWORD time);
 
- 	void Closed();
 
- 	void EndOfFile();	
 
- 	void Started();
 
- 	void Stopped();
 
- 	
 
- 	// other people's data
 
- 	IWMReader *reader;
 
- 	
 
- 	// our data
 
- 	QWORD startPosition;
 
- 	
 
- 	int audioOutputNum;
 
- 	IWMReaderAdvanced2 *reader2;
 
- 	QWORD offset;
 
- 	DWORD new_offset;
 
- 	QWORD videoCatchup;
 
- 	bool opened;
 
- 	HANDLE killSwitch;
 
- 	int latency;
 
- 	AudioThread audioThread;
 
- };
 
- #endif
 
 
  |