15 #ifndef VORBISAUDIOCURSOR_H 16 #define VORBISAUDIOCURSOR_H 18 #include "pandabase.h" 19 #include "movieAudioCursor.h" 23 #include <vorbis/codec.h> 24 #include <vorbis/vorbisfile.h> 35 VorbisAudioCursor(VorbisAudio *src, istream *stream);
36 virtual ~VorbisAudioCursor();
37 virtual void seek(
double offset);
46 static size_t cb_read_func(
void *ptr,
size_t size,
size_t nmemb,
void *datasource);
47 static int cb_seek_func(
void *datasource, ogg_int64_t offset,
int whence);
48 static int cb_close_func(
void *datasource);
49 static long cb_tell_func(
void *datasource);
59 int _bytes_per_sample;
62 streampos _data_start;
70 static void init_type() {
71 MovieAudioCursor::init_type();
72 register_type(_type_handle,
"VorbisAudioCursor",
73 MovieAudioCursor::get_class_type());
76 return get_class_type();
78 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
84 #include "vorbisAudioCursor.I" 88 #endif // VORBISAUDIOCURSOR_H void read_samples(int n, Datagram *dg)
Read audio samples from the stream into a Datagram.
A MovieAudio is actually any source that provides a sequence of audio samples.
TypeHandle is the identifier used to differentiate C++ class types.
virtual void seek(double offset)
Skips to the specified offset within the file.