I'm not sure that there is a bug in rwobject - I just think that your new
music from a file-like object code is using rwobject in a way that it has
not been designed to support.

SDL's music playing stuff is streaming, while sounds all load at once.
Likewise fonts all load at once. So in existing uses of rwobject, SDL is
totally done with the file-like object by the time things get back to
python-land. To be sure, I tried the code below, no crash.

-------------
import pygame

pygame.init()
pygame.display.set_mode((320,200))
sound = pygame.mixer.Sound(file("fiddling.ogg", "rb"))
print "loaded!"
channel = sound.play()
print "playing!"
while channel.get_sound() != None:
    pass
print "done playing!"

On Tue, Jul 8, 2008 at 8:09 AM, Forrest Voight <[EMAIL PROTECTED]> wrote:

> Also, I found a bug in rwobject. It makes a standard SDL_RWops from
> python file objects but doesn't hold a reference to them.
> This is shown by doing something like:
>
> pygame.mixer.music.load(open('x.mp3'))
>
> Then playing it, and pygame crashes.
> This is not my patch's fault, it just exposes it.
>
>

Reply via email to