pyglet: Continuous errors from directaudio while running pyglet's noisy.py
Repro:
- start noisy.py
- press once the space key
The pyglet’s window shows a bouncing ball, the ping sound is listened but console displays a continuous stream of errors:
(py38-cocos2020) D:\dev\pyglet-2019\examples\noisy>python noisy.py
Unexpected error loading library avutil-56: Could not find module 'avutil-56'. T
ry using the full path with constructor syntax.
Exception in thread Thread-11:
Traceback (most recent call last):
File "D:\prog\Python38\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "D:\prog\Python38\lib\threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 225, in _run_func
tion
self._func()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
182, in _check_refill
self.refill(write_size)
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
187, in refill
audio_data = self._get_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
208, in _get_audiodata
self._get_new_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
216, in _get_new_audiodata
compensation_time = self.get_audio_time_diff()
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 141, in get_audio
_time_diff
p_time = self.player.time
ReferenceError: weakly-referenced object no longer exists
Exception in thread Thread-22:
Traceback (most recent call last):
File "D:\prog\Python38\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "D:\prog\Python38\lib\threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 225, in _run_func
tion
self._func()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
182, in _check_refill
self.refill(write_size)
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
187, in refill
audio_data = self._get_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
208, in _get_audiodata
self._get_new_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
216, in _get_new_audiodata
compensation_time = self.get_audio_time_diff()
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 141, in get_audio
_time_diff
p_time = self.player.time
ReferenceError: weakly-referenced object no longer exists
Exception in thread Thread-30:
Traceback (most recent call last):
File "D:\prog\Python38\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "D:\prog\Python38\lib\threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 225, in _run_func
tion
self._func()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
182, in _check_refill
self.refill(write_size)
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
187, in refill
audio_data = self._get_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
208, in _get_audiodata
self._get_new_audiodata()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
216, in _get_new_audiodata
compensation_time = self.get_audio_time_diff()
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 141, in get_audio
_time_diff
p_time = self.player.time
ReferenceError: weakly-referenced object no longer exists
Exception in thread Thread-32:
Traceback (most recent call last):
File "D:\prog\Python38\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "D:\prog\Python38\lib\threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "d:\dev\pyglet-2019\pyglet\media\drivers\base.py", line 225, in _run_func
tion
self._func()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
182, in _check_refill
self.refill(write_size)
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
192, in refill
self.write(audio_data, length)
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\adaptation.py", line
313, in write
audio_data.consume(write_ptr.audio_length_1.value, self.source.audio_format)
ReferenceError: weakly-referenced object no longer exists
Exception ignored in: <function DirectSoundBuffer.__del__ at 0x0000000008144280>
Traceback (most recent call last):
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\interface.py", line
172, in __del__
self.delete()
File "d:\dev\pyglet-2019\pyglet\media\drivers\directsound\interface.py", line
177, in delete
self._native_buffer.Stop()
File "d:\dev\pyglet-2019\pyglet\com.py", line 131, in _call
ret = self.method.get_field()(self.i, self.name)(obj, *args)
OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF
(py38-cocos2020) D:\dev\pyglet-2019\examples\noisy>
win7, no ffmpeg installed, py 3.8, pyglet-1.4-maintenance at commit commit 6e9c4485cb62789c3c3b5bb27bc75e6dd82653ae Author: Benjamin Moran Date: Sun Jan 12 17:42:02 2020 +0900
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 18 (18 by maintainers)
Commits related to this issue
- Remove global debug function DirectSound from __del__ methods. #113 #123 — committed to pyglet/pyglet by benmoran56 4 years ago
- Remove global debug function DirectSound from __del__ methods. #113 #123 # Conflicts: # RELEASE_NOTES — committed to pyglet/pyglet by benmoran56 4 years ago
Thanks Claudio,
That
sys.excepthooklooks like an unrelated issue. I’ll have a look at that next.