Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OggData.h
Go to the documentation of this file.
1 //
2 // C++ implementation: Audio::__impl::OggData
3 //
4 
5 #ifdef HAVE_OGG
6 
7 #include "../Format.h"
8 #include <vorbis/vorbisfile.h>
9 
10 #include "vsfilesystem.h"
11 
12 namespace Audio {
13 
14  namespace __impl {
15  struct OggData {
16  OggVorbis_File vorbisFile;
17  ov_callbacks callbacks;
18  int streamIndex;
19 
20  static size_t read_func(void *ptr, size_t size, size_t nmemb, void *datasource);
21  static int seek_func(void *datasource, ogg_int64_t offset, int whence);
22  static int close_func(void *datasource);
23  static long tell_func(void *datasource);
24  static int nativeIsLsb();
25 
26  OggData(VSFileSystem::VSFile &file, Format &fmt, int streamIdx, bool test = false);
27  ~OggData();
28  };
29  }
30 
31 };
32 
33 #endif // HAVE_OGG
34