Displaying 2 results from an estimated 2 matches for "povfil".
Did you mean:
povfile
2004 Feb 11
1
Problem using 'ov_open()'...
...struct tagSOUNDDATA
{
char *Buffer;
int Channels, Length, Frequency;
} sSOUNDDATA, *pSOUNDDATA;
class OGGDATA
{
public:
OGGDATA();
~OGGDATA();
bool OpenOGG(char*);
pSOUNDDATA DecodeOGGLow();
void CloseOGG(pSOUNDDATA);
private:
FILE *pFile;
OggVorbis_File *pOVFile;
};
OGGDATA::OGGDATA()
{
pFile = NULL;
pOVFile = NULL;
}
OGGDATA::~OGGDATA()
{
if(pOVFile != NULL)
ov_clear(pOVFile);
if(pFile != NULL)
fclose(pFile);
}
bool OGGDATA::OpenOGG(char *Filename)
{
int Result;
if(pOVFile != NULL)
ov_clear(pOVFile);
if(pFile !...
2002 Sep 25
0
vorbisfile bug?
...ov_time_seek:
ogg_int64_t target=pcm_total+(seconds-time_total)*vf->vi[link].rate;
It is not accounted type convertion between double and ogg_int64_t.
E.g. if I convert 440267'th sample (44100Hz source) to time:
double dSec = 440267 / (double) 44100;
and then try to seek dSec:
ov_time_seek(pOVFile, dSec);
the resulting offset will be 440266'th sample, because of
dSec*44100 gives 440266.999999997...
Probably the line
ogg_int64_t target=pcm_total+(seconds-time_total)*vf->vi[link].rate;
should be replaced with something like:
ogg_int64_t target=pcm_total+( (seconds-time_total)*vf->vi...