[vorbis-dev] Ports
Brian Havard
brianh at kheldar.apana.org.au
Thu Dec 28 00:49:59 PST 2000
On Thu, 28 Dec 2000 17:44:33 +1100, Michael Smith wrote:
>>I've tracked down the problem now. For some reason the 'seekable' test in
>>ov_open_callbacks() (the seek_func(f,0,SEEK_CUR)) screws up the stream. If
>>I take this out and force it to non-seekable it works just fine.
>
>Very strange. Bug in the libraries, then. Another reason to rewrite that
>code to not use stdio FILE operations for sockets. Not much can be done
>other than that, if we have to deal with standard library bugs.
Yup, I won't worry about this any further if the fdopen method is going to be
ditched sometime soon. For now I'm using the filthy hack of:
diff -u -r1.34 vorbisfile.c
--- vorbisfile.c 2000/12/21 21:04:41 1.34
+++ vorbisfile.c 2000/12/28 07:26:25
@@ -611,7 +611,9 @@
int ov_open_callbacks(void *f,OggVorbis_File *vf,char *initial,long ibytes,
ov_callbacks callbacks)
{
- long offset=callbacks.seek_func(f,0,SEEK_CUR);
+ long offset = callbacks.seek_func == (int (*)(void *, ogg_int64_t, int))_fseek64_wrap ?
+ lseek(fileno((FILE *)f), 0, SEEK_CUR) :
+ callbacks.seek_func(f,0,SEEK_CUR);
int ret;
memset(vf,0,sizeof(OggVorbis_File));
>>Another small item, I had to add "fflush(opt.instream);" in ogg123.c at
>>line 319 or the request didn't get sent and the 'Dump headers' code ended
>>up in an infinite loop as it doesn't check for EOF.
>
>Probably just a (reasonable) difference in implementation - I'm guessing on
>unix, it sets it to non-buffered, the OS/2 'emulation' of this doesn't. I
>can add that.
Cool. BTW, only 2 \r\n's are needed to finish an HTTP request (1 blank line),
not 3 . Harmless though.
--
______________________________________________________________________________
| Brian Havard | "He is not the messiah! |
| brianh at kheldar.apana.org.au | He's a very naughty boy!" - Life of Brian |
------------------------------------------------------------------------------
--- >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