-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
importing some sounds cause finalisation error on primClose: #6
Comments
Hmm. Odd. The file referred to is not an mp3 file - in fact there aren't any I can find in the default media - but the failure is in finalising an mpegfile of some sort. |
Difficult to reproduce, and I do not see a pattern. When I open the file (its the same with loops/cave), doubleclick the file in file dialog. Sound starts, then, before end of tune, click ok. In one out of three, four attempts I get the error. When I got the error, I restart scratch to have clean conditions. Error: Error: primFileClose: failed VM: unix - Smalltalk SecurityManager state: MPEGFile(Object)>>error: [] in WeakArray class>>finalizationProcess
Semaphore>>critical:ifError: WeakArray class>>finalizationProcess
[] in WeakArray class>>restartFinalizationProcess
[] in BlockClosure>>newProcess
--- The full stack --- |
OK, the good news is that the debug log reveals the name of the file and confirms that it is an mp3 file - so we're not dealing with code gone mad and trying to import a .wav as mp3 eetc. Whew. |
Ooh, it's good we had this problem; there's actually some missing code relating to importing stereo mp3 files. We need to merge stereo into mono for the project file format; space saving or some such idea. That part being fixed, back to .... whatever we were doing. |
Clicking on a sound file makes the system start playing it - as long as it is an understood file format. In the case of mp3 files, it opens the file and starts playing it as a StreamingMP3Sound and does NOT close the file after reading it all in as with any .wav or other files. This means the file is left for the finalisation process to close, which is why we see this error as part of the finaliser loop. I'm having a lot of trouble seeing how we can get the error but since it doesn't matter if we try to close an already finalised file a simple solution is to avoid the primitive raising the error in the first place. So far, so good. |
Fix in place for the next beat release; keep an eye - or ear! - open for this in future |
bhp reports -
'import sounds, Music Loops, Eggs gives a MPEG-Error.
http://www.raspberrypi.org/forums/download/file.php?id=6985
Sound is 'playable' then, when I choose proceed.
The text was updated successfully, but these errors were encountered: