From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Date: Wed, 28 Jan 2009 18:53:16 +0100 Message-ID: <16ff6b980901280953s17a7e041s1b605290b365b0e9@mail.gmail.com> From: Mathieu Lonjaret To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: [9fans] Ogg/Vorbis ported Topicbox-Message-UUID: 8c1bbf70-ead4-11e9-9d60-3106f5b1d025 Hello all, Subject says it all; as my first port I did libogg and libvorbis. I did it mainly as a learning exercise, so it's far from perfect, but both the libs compile as well as the simple encoder and decoder from the 'examples' dir. I have not tried the encoder, but the decoder seems to be running fine like that: cat somefile.ogg | ./decoder_example > /dev/audio I did no try to rework things, like the types for example (as it was done for libmad/mp3dec in rsc's contrib), I limited myself to fix things the best I could until it built fine. So constructive criticism, remarks, comments, are of course welcome please. In particular, I'm not sure about these various things I did: 1) changed all the alloca calls to some malloc/free 2) added a rint function 3) commented out most of the #if defined ... (seemed safe since most were gnuisms, gcc, or win32 specific). 4) the 'max' and 'min' vars seemed to pose a problem (although I wasn't able to find them already defined on plan9), so renamed them to things like local_max. 5) created some new headers and moved some code in there to make it cleaner. 6) the various locations I set in the mkfile to install things. Also, the weirdest I think was these 3 extern funcs: floor1_fit, floor1_interpolate_fit, floor1_encode which were declared with a void * as one of the args, but which were used with a struct * instead. Seems like fixing the declarations and moving them to a header made things build fine but I'm not sure of what was the initial intent here. They're hosted as indicated below at the moment, but if they're not deemed worthless, could I have a contrib dir so they can be installed with fgb's replica please? http://www.ipgp.jussieu.fr/~lonjaret/libogg.tar.gz http://www.ipgp.jussieu.fr/~lonjaret/libvorbis.tar.gz Next should be a decent player, and other of the vorbis-tools, if I can get around the ncurses dependency. Thanks to rsc for 9vx (haven't tested on native plan9 btw), and to sqweek and quintile for their advices. Cheers, Mathieu -- GPG key on subkeys.pgp.net: KeyID: | Fingerprint: 683DE5F3 | 4324 5818 39AA 9545 95C6 09AF B0A4 DFEA 683D E5F3