I'm a developer for a game company and I'm almost done adding support for Vorbis to our game engine. As such, I wanted to simply plug in the read function, let it decode, and then send the PCM data on to DirectSound just like I always have. There were several occasions where I spent 4 or 5 hours trying to fix a bug, digging through newsgroups and sound-format specs, when that info could easily have been in the Vorbis documentation. In the interest of helping other lazy developers, and improving Ogg's ease-of-use and rapid deployment, maybe you could add these tidbits to the libvorbisfile docs somewhere? -> ov_read() wants to know if your data is signed or unsigned. It would be nice if the comments told you outright that 8-bit PCM data is unsigned, 16-bit is signed (at least, as far as I could find in various specs). -> I spent a long time on linker issues and then crashing before I found one post that mentioned problems with the fseek wrapper in the default callbacks. I set up a callbacks struct to use the standard fopen, fseek, etc, and the problems went away. -> If your music license specifies that the music on your CD must be inaccessible to the average user somehow, you can simply stick your custom header on a .ogg file, read that header in first, and then pass the slightly used FILE* to ov_open. Vorbisfile doesn't have a problem with that at all (whether it's secure enough is up to you. It is for me). -> If you're only playing one file at a time, and you encoded the file yourself from a single .wav, don't worry about the whole current_section-switching-formats thing. If any of these are not true for the general case, then feel free to correct me, but this is my experience trying to use vorbisfile to improve our game's audio system. -Marc Templin Engine and Tools Developer Her Interactive <p>--- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> I'm a developer for a game company and I'm almost done adding support for > Vorbis to our game engine.Does this mean we'll get to play Nancy Drew with Oggs playing? :)> -> ov_read() wants to know if your data is signed or unsigned. It would be > nice if the comments told you outright that 8-bit PCM data is unsigned, > 16-bit is signed (at least, as far as I could find in various specs).Good suggestion.> -> I spent a long time on linker issues and then crashing before I found one > post that mentioned problems with the fseek wrapper in the default > callbacks. I set up a callbacks struct to use the standard fopen, fseek, > etc, and the problems went away.I wasn't aware of this. Can you point me to the other email?> -> If your music license specifies that the music on your CD must be > inaccessible to the average user somehow, you can simply stick your custom > header on a .ogg file, read that header in first, and then pass the slightly > used FILE* to ov_open. Vorbisfile doesn't have a problem with that at all > (whether it's secure enough is up to you. It is for me).What a horrible license. :( We've always told people they are free to do what they want in this regard, although we don't really approve of 'helping' people lock music up.> -> If you're only playing one file at a time, and you encoded the file > yourself from a single .wav, don't worry about the whole > current_section-switching-formats thing. > > If any of these are not true for the general case, then feel free to correct > me, but this is my experience trying to use vorbisfile to improve our game's > audio system.Thanks for this note. It's most helpful. jack. --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
-> I spent a long time on linker issues and then crashing before I found one post that mentioned problems with the fseek wrapper in the default callbacks. I set up a callbacks struct to use the standard fopen, fseek, etc, and the problems went away. I also set up the callbacks struct but it doesn't stop it from crashing when trying ov_open(). I use vorbisfile_d.lib as an import lib (and the corresponding dll) in visual C++ 6. Is there some extra dependeny on msvcrtd.dll (I use the dependency walker on the vorbisfile_d.exe in the bin directory? It's pity that this cool stuff is so buggy. Erik Stabij <p>--- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.