Game Development Community

MojoAudio .ogg files problem- crashes Torque

by Alex Rice · in Torque Game Builder · 06/08/2006 (2:57 am) · 7 replies

I bought the MojoAudio Arcade pack a few days ago, and am dissapointed to find not all the files can be played in TGB. Certain files, such as Movement4b, Movement5.ogg cause TGB RC1 to hang at startup - before alxPlay() is ever called. There is nothing written to the console, it just pegs my CPU. The same ogg files play fine in a media player (fubar2000). If I set preload=false in my Audioprofile, then indeed the engine hangs when I call alxPlay() instead of hanging at startup.

I have not tested all the files and don't really want to spend the time to test each one. What is suspect here- the alx layer in Torque core, or the sound files themselves? I suspect the former, because fubar2000 can play all the sound files no problem.

#1
06/08/2006 (3:07 am)
The product page says "tested with Torque 1.4". Torque 1.4 core is supposed to be merged with TGB already.
#2
06/08/2006 (1:42 pm)
You know that is exactly what is happening with me, ALSO some wav files
don play at all (monoaural files) and some ogg files just crash torque.
I think the alx layer is a bit outdated...
#3
06/08/2006 (8:11 pm)
@Adam, that's a bummer. I emailed MojoAudio and Ken responded he said he is talking with one of the torque developers so we'll see what happens.
#4
06/08/2006 (8:48 pm)
Take a look here. May solve your problem.
#5
06/09/2006 (4:53 am)
Thanks Kevin!
#6
06/09/2006 (8:19 am)
@Kevin: Could you please put the essence of that post here for those of us who don't own TGE/TSE? :)
#7
06/09/2006 (8:39 am)
Here is my post from the other thread:

Quote:
I now have all my OGG files working without a problem. I made a slight change to _get_next_page(...) in vorbisStream.cc

In the section where (more < 0) the code used to be:

vf->offset -= more;


Now is:

vf->offset -= more;
if (vf->offset >= vf->end)
   return(OV_EOF);


With some OGG files, the while loop in this function would loop forever without detecting that the offset was past the end of the file. I am not very familiar with this section of code, but my fix hasn't seemed to break anything else.