EXT_vorbis on OSX

KiroNeem
Unregistered
 
Post: #1
I have been reading around that some people have been able to recompile another version of OpenAL and get the EXT_vorbis extention to work although I have been un able to reproduce this. Right now I already have an vorbisfile working although I think I might achive faster decoding speeds if used with OpenAL directly, since I have been reading that it decodes as it plays. Has anyone been able to get this to work?
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #2
The whole shebang
It's compiled against 10.4. Should work on 10.3.9.
You have to bundle all of them with your program to make it work.
Quote this message in a reply
KiroNeem
Unregistered
 
Post: #3
I know you handed these files to me before although I did not believe they would be able to use the ext_vorbis extention, thanks again. I will throw them in my application first thing.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #4
Didn't catch that you were the same guy.

It's been working great for me, if you have any trouble give me a yell.
Quote this message in a reply
Member
Posts: 257
Joined: 2004.06
Post: #5
RISE FROM YOUR GRAVE!!!

Uh, yeah, bringing this thread back to ask a question. Hey Skorche, how were you able to compile the ogg and vorbis frameworks? The latest releases off the website have the Project Builder files in them and I can build them but when I try integrating them into my own project, I just get tons of build errors.

Anyway, I'm going to use the pre-built stuff you provided but I'd like to know how to build the frameworks myself for my own education.

The brains and fingers behind Malarkey Software (plus caretaker of the world's two brattiest felines).
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #6
Yeah, but I remember there were multiple project files floating around or something confusing. (Maybe that was for OpenAL though) I could take a look later on this week if you want.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #7
WARNING!

I was building this from the mac/al_osx branch. It said it was "no longer the preferred OS X codebase", but it didn't say that it was horribly buggy. It is.

I've found cases where it should have been catching errors where it wasn't, and other very weird crashes and problems that have been fixed by removing this openal framework. Sorry for the red flag.

(And having the vorbis extension was so handy too. Annoyed)
Quote this message in a reply
Member
Posts: 70
Joined: 2002.07
Post: #8
Somebody was asking for ogg support in dim3; I use the apple OpenAL (which is a 100 times better than Ryan's, which was created not to be an OpenAL implementation but just for UT. Ryan's was the first to use CoreAudio, but the apple OpenAL caught up a long time ago, and better yet, we'll soon have 1.1 and non-insane distance models Smile )

I just d/l ogg and the other library/framework needed for the ov_xxx functions. OK, I love open source, but I don't think these guys checked to make sure it was working. I only had a minute, but there's a bunch of problems compiling. It might be a project builder -> xcode problem.

ogg works fine, you need to re-included the framework you made into the tools, and then it throws up a number of errors because it thinks it missing some headers (which actually aren't missing, for some reason xcode doesn't seem to find them, even though they are included.) This is where I stopped. I might get back to this tonight, if I puzzle out the problem I'll probably try to contact the maintaners and tell them what to fix. It's probably as simple as adding to the header search paths.

[>] Brian
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #9
Are you sure you are talking about the one in openal/macosx? The openal/mac/al_osx/ version is the one with Vorbis support. I haven't seen anything about Vorbis there. Am I mistaken?

Also, I'm pretty sure that the openal/mac/al_osx version is not Ryan's. The source looks completely different. I think it's simply an older one.
Quote this message in a reply
Member
Posts: 70
Joined: 2002.07
Post: #10
Skorche Wrote:Are you sure you are talking about the one in openal/macosx? The openal/mac/al_osx/ version is the one with Vorbis support. I haven't seen anything about Vorbis there. Am I mistaken?

Also, I'm pretty sure that the openal/mac/al_osx version is not Ryan's. The source looks completely different. I think it's simply an older one.

No, compling the libraries separately and using them to stream to OpenAL. This is basically what Ryan did, but just integrated into the code. The project builder projects that come with them don't compile right, I need to spend a minute looking at it.

Source here: http://xiph.org/downloads/

There's a bunch of articles on using it with OpenAL, for instance:

http://www.gamedev.net/reference/article...le2031.asp

[>] Brian
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #11
Oh, well I was talking about the actual vorbis extension. While that works too, it means that you need to have extra an extra thread hanging around to re-queue the buffers. In my world that's just one more thing for me to do wrong. Using the extension is a bit more elegant as you don't have to do anything.

After looking at the code for it, it looks like it's set up to only work with CBR formats in the back-end. So it couldn't be added without a fair amount of work. Sad
Quote this message in a reply
Member
Posts: 70
Joined: 2002.07
Post: #12
Skorche Wrote:Oh, well I was talking about the actual vorbis extension. While that works too, it means that you need to have extra an extra thread hanging around to re-queue the buffers. In my world that's just one more thing for me to do wrong. Using the extension is a bit more elegant as you don't have to do anything.

Don't you want training to work on the PS3 Smile More threads, the better. I highly doubt we'll see a ogg vorbis thing in the "real" OpenAL, it's too far outside the concept and probably doesn't really belong there (IMHO.)

The only way you are going to do this is like everybody else, using the vorbis extensions to stream. Remember that you are filling buffers, so you don't have to necessarly have this on a thread, just call it once during your game loop, only fill when you have an empty buffer.

But .. threads are your friends Smile

[>] Brian
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #13
After a bit of fiddling, I came up with a quick solution using SDL timers to implement the devmaster code. All you need to do is call ogg_stream_play() and ogg_stream_stop(), the updating is handled automatically. I set the buffer size to 100ms and the timer to update every 30ms.

download link
Quote this message in a reply
Member
Posts: 70
Joined: 2002.07
Post: #14
Skorche Wrote:After a bit of fiddling, I came up with a quick solution using SDL timers to implement the devmaster code. All you need to do is call ogg_stream_play() and ogg_stream_stop(), the updating is handled automatically. I set the buffer size to 100ms and the timer to update every 30ms.

download link

So you got the libraries to compile? What changes did you make?

[>] Brian
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #15
Yeah, but the Vorbis framework is a pain in the neck. I couldn't get it to compile without putting the Ogg framework in /Library/Frameworks. Also, there were some stray files in the project, like .cvsignore that seem to cause grief.
Quote this message in a reply
Post Reply