Another strange happening.
Problem: I try to create streams (not play as of yet, just preloading) of more than one AT3 file, but get returned error 24 "Unsupported file or audio format." after the second one has loaded, sometimes after the third one has loaded.
This works fine in the example ‘playstream’ where I am loading 2 streams into memory and swapping between which one plays – which is the functionallity I am striving for.
I know that there is nothing wrong with the AT3 files themselves, as I can load them in one at a time and they will work – I can even load 2 of them into the examples with no problems.
So my question is this: Is there any other way that could cause me to get this error? (bad memory alloc etc..?)
It only seems to happen in our project – so I’m pretty sure that it’s something we have done, but the error message isn’t helping as I know there is nothing wrong with the samples.
- NovaCaine asked 11 years ago
I’ve just finished trying to mess around with allocating FMOD more memory, but failed.
I did notice a strange thing in the debug output though
[code:cgikwlnp]FMOD: CodecAT3::openInternal : attempting to open as AT3..
FMOD: CodecAT3::openInternal : Error. sceAtracSetDataAndGetID returned 80630003[/code:cgikwlnp]
I will email you the whole log as I’m guessing there is some other info you will want from it (it’s pretty big 😀 )
Also I print out the memory stats just before it resets the PSP
[code:cgikwlnp]Memory usage: 514780 532348[/code:cgikwlnp]
The numbers are currently allocated and max allocated. Like I said I tried to increase the memory available to FMOD, also tried running with
[code:cgikwlnp]FMOD::Memory_Initialize(NULL, 0, NULL, NULL, NULL);[/code:cgikwlnp] but was always getting the same numbers returned.
ok well that error code is ‘There was no available ATRAC ID’ so i’m not sure why it returns that, but the documentation does say ‘Internally, memory required by libatrac3plus is initialized, the buffer that was configured
as pucBufferAddr is set, the header of the ATRAC3/ATRAC3plus data that was read into
pucBufferAddr is analyzed, and an ATRAC ID for the corresponding data type is obtained.’
This could be out of memory, if it works in the examples but not in your game. I can’t tell from here.
But anyway, this sort of talk is best left to email@example.com so send through any infor you have.
I don’t do PSP development, so this doesn’t affect me, but I would nevertheless recommend either stickying this thread, putting the pertinent info in the PSP part of the .chm (which is, presumably, not available to non-PSP developers), or both, to make this solution easier for other people with this problem to find.
- Adiss answered 11 years ago
I think what we’ll be doing though is changing the error message in the debug output (even telling the user what to do to fix it in the debug output), and even making a new error code. That way it is easy to look up when someone encounters the error so I dont think we need to sticky this. Should be done in the next version.
I was just about to add some more info on this topic. I’m getting the same thing in the playstream example if I try to create more than two streams, but the memory usage idea sounds right for this behaviour. I will update after trying that out.
Please login first to submit.