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

Most upvoted comments

Thanks Claudio,

That sys.excepthook looks like an unrelated issue. I’ll have a look at that next.