MMIOVorbis 0.3.2 is an MMIOProc for OS/2 that allows OS/2’s multimedia system to play Ogg Vorbis files.
This IOProc supports translated read, traslated seek, and translated write operations.
Ogg Vorbis decoding is done by libvorbis.
Included is a example program called bitrate
that prints the bitrate of an
Ogg Vorbis file. Also an encoder called convert
that converts any MMOS/2 readable
file into an Ogg Vorbis file.
MMIOVorbis is part of the MMAudio Pak When installing MMAudio Pak you can select which IOProcs to install.
MMIOVorbis requires the EMX runtime.
MMIOVorbis does not support Ogg Vorbii that change audio parameters, such as sample rate and number of channels, in the middle of the data.
Vorbis encoding is done with libvorbisenc. libvorbisenc requires quite a large amount of stack space to operate, so be sure to give it adequte stack space when compiling a program that uses mmioVorbis. If you are going to run the encoder in a separate thread, then be sure that you use DosCreateThread with adequate stack space:
DosCreateThread(&tidX, (PFNTHREAD)xtest, 0U, CREATE_READY | STACK_COMMITED, 65536); // 1048576
This program is Copyright © 2001-2003 by Xiphophorus and Russell O’Connor.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This would be all public domain if I could have it my way.