[vorbis-dev] More information on exception

Chris Craig chris3 at cs.mun.ca
Thu Aug 31 18:18:32 PDT 2000



The following block of code produces an exception.  The testnew.ogg
file is 10 seconds, containing pure silence encoded using mode E:
    http://www.cs.mun.ca/~chris3/testnew.ogg

Other files and modes can cause the exception, but many files work
fine.

#include <stdio.h>
#include "vorbis/vorbisfile.h"

int main()
{
        OggVorbis_File	ov, ov2;
        FILE		*f, *f2;

        f = fopen("testnew.ogg", "rb");
        if (ov_open(f, &ov, NULL, 0) < 0)
                return 0;

        f2 = fopen("testnew.ogg", "rb");
        if (ov_open(f2, &ov2, NULL, 0) < 0)
        {
                ov_clear(&ov);
                return 0;
        }

        ov_clear(&ov2);
        ov_clear(&ov);

        return 0;
}

Compiled under Windows with Borland C++Builder 5.  When run, exceptions
occur in block.c at one of these lines:
158:    if(vb->localstore)free(vb->localstore);
646:	v->pcm[i]=realloc(v->pcm[i],v->pcm_storage*sizeof(double));

Additional minor corrections:
mode_D.h
100:	{{0}},

mode_E.h
60:	{{0}},
84:	{{0}},

The sqrt domain error still appears occasionally, when encoding a
10 second pure sine wave at .4 amplitude using mode D or E,
for example.

Chris
http://www.goldwave.com

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list