If it is a avbin media, as a workaround, I've found I can manually do:

self._source.__del__()

I am then able to delete it. That should work for me. But it wouldn't work 
if it is a non avbin media. I wonder why __del__ doesn't get called when I 
do gc.collect()


On Monday, 30 March 2015 19:36:27 UTC-5, Russell Valentine wrote:
>
> Been liking pyglet so far. Nice job! I did run into a problem I have not 
> figure out.
>
> I fetch a file on the internet and store it as a temporary file. When I'm 
> doing playing it I want to delete it. I do something like the following, 
> where self._player is a pyglet.media.Player. self._source is a streaming 
> store created from the temporary file. self._tmp_fn is the temporary 
> filename.
>
>     def close(self, args=None):
>         if self._player:
>             self._player.delete()
>             self._player = None
>             self._source = None
>             gc.collect()
>         if self._tmp_fn:
>             os.unlink(self._tmp_fn)
>             self._tmp_fn = None
>
>
> Seems okay but on windows when I try to delete self._tmp_fn I get:
>
> WindowsError: [Error 32] The process cannot access the file because it is 
> being used by another process: 'c:\\path_to_tempfile\\tempfile'
>
> How do I make sure pyglet isn't using the file any more so I can delete it?
>  
> Thank you.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to