1 
2 /*
3  * REminiscence - Flashback interpreter
4  * Copyright (C) 2005-2019 Gregory Montoir (cyx@users.sourceforge.net)
5  */
6 
7 #ifndef OGG_PLAYER_H__
8 #define OGG_PLAYER_H__
9 
10 #include "intern.h"
11 
12 struct FileSystem;
13 struct Mixer;
14 struct OggDecoder_impl;
15 
16 struct OggPlayer {
17 	OggPlayer(Mixer *mixer, FileSystem *fs);
18 	~OggPlayer();
19 
20 	bool playTrack(int num);
21 	void stopTrack();
22 	void pauseTrack();
23 	void resumeTrack();
isPlayingOggPlayer24 	bool isPlaying() const { return _impl != 0; }
25 	bool mix(int16_t *buf, int len);
26 	static bool mixCallback(void *param, int16_t *buf, int len);
27 
28 	Mixer *_mix;
29 	FileSystem *_fs;
30 	OggDecoder_impl *_impl;
31 };
32 
33 #endif // OGG_PLAYER_H__
34 
35