static int (*qov_clear) (OggVorbis_File *vf);
static vorbis_info* (*qov_info) (OggVorbis_File *vf,int link);
static vorbis_comment* (*qov_comment) (OggVorbis_File *vf,int link);
-static char * (*qvorbis_comment_query) (vorbis_comment *vc, char *tag, int count);
+static char * (*qvorbis_comment_query) (vorbis_comment *vc, const char *tag, int count);
static int (*qov_open_callbacks) (void *datasource, OggVorbis_File *vf,
char *initial, long ibytes,
ov_callbacks callbacks);
const char* dllnames_vo [] =
{
#if defined(WIN32)
+ "libvorbis-0.dll",
"libvorbis.dll",
"vorbis.dll",
#elif defined(MACOSX)
const char* dllnames_vf [] =
{
#if defined(WIN32)
+ "libvorbisfile-3.dll",
"libvorbisfile.dll",
"vorbisfile.dll",
#elif defined(MACOSX)
// 1- to ensure we won't lose many samples during the resampling process
// 2- to reduce calls to OGG_FetchSound to regulate workload
newlength = (int)(per_sfx->format.speed*STREAM_BUFFER_FILL);
- if (newlength + sb->nbframes > sb->maxframes)
+ // this is how much we FETCH...
+ if ((size_t) ((double) newlength * (double)sb->format.speed / (double)per_sfx->format.speed) + sb->nbframes > sb->maxframes)
{
- Con_Printf ("OGG_FetchSound: stream buffer overflow (%u sample frames / %u)\n",
- sb->format.speed + sb->nbframes, sb->maxframes);
+ Con_Printf ("OGG_FetchSound: stream buffer overflow (%u + %u = %u sample frames / %u)\n",
+ (unsigned int) ((double) newlength * (double)sb->format.speed / (double)per_sfx->format.speed), sb->nbframes, (unsigned int) ((double) newlength * (double)sb->format.speed / (double)per_sfx->format.speed) + sb->nbframes, sb->maxframes);
return NULL;
}
newlength *= factor; // convert from sample frames to bytes