Open
Description
Have you tried Pyglet 1.2 alpha1 or the repository code?:
Both, although i'm currently running & testing with 1.2a1.
What steps will reproduce the problem?
1. Initialize a sound in pyglet and play it (either through a player object or
directly with play())
2. Wait between 24-54 seconds.
3. Experience how the audio output suddenly stops.
I've added some minimal code at the bottom that isolates the problem.
Paste in the traceback or error message:
'debug_media_buffers' set to True yields this:
----------------------------------------------
...
refill 4466
Bad buffer: 3414
refill 4088
Bad buffer: 3415
refill 4540
GEN BUFFERS: 40963
Bad buffer: 3416
refill 4536
GEN BUFFERS: 40963
BUFFER DATA ERROR: 40964
Bad buffer: 3417
Bad buffer: 3418
refill 9082
GEN BUFFERS: 40963
BUFFER DATA ERROR: 40964
Bad buffer: 3419
refill 4542
GEN BUFFERS: 40963
BUFFER DATA ERROR: 40964
Bad buffer: 3420
Bad buffer: 3421
refill 9012
GEN BUFFERS: 40963
BUFFER DATA ERROR: 40964
Bad buffer: 3422
refill 4534
GEN BUFFERS: 40963
BUFFER DATA ERROR: 40964
Bad buffer: 3423
Bad buffer: 3424
Bad buffer: 0
Bad buffer: 0
Bad buffer: 0
Bad buffer: 0
Bad buffer: 0
Bad buffer: 0
refill 44800
GEN BUFFERS: 40963
underrun
Source unqueue error: -1
refill 44800
GEN BUFFERS: 40963
underrun
Source unqueue error: -1
refill 44800
GEN BUFFERS: 40963
underrun
Source unqueue error: -1
refill 44800
GEN BUFFERS: 40963
underrun
...
----------------------------------------------
Paste in the output of `python -m pyglet.info`:
----------------------------------------------
sys.version: 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
sys.platform: darwin
sys.maxint: 9223372036854775807
PyObjC not available
os.getcwd(): /Users/michael/Dropbox/Programming/Python/MiEngine
pyglet
------------------------------------------------------------------------------
pyglet.version: 1.2alpha1
pyglet.__file__:
/Users/michael/Dropbox/Programming/Python/MiEngine/pyglet/__init__.pyc
pyglet.options['search_local_libs'] = True
pyglet.options['debug_win32'] = False
pyglet.options['xlib_fullscreen_override_redirect'] = False
pyglet.options['debug_trace_args'] = False
pyglet.options['font'] = ('gdiplus', 'win32')
pyglet.options['debug_gl_trace_args'] = False
pyglet.options['debug_trace'] = False
pyglet.options['debug_gl_trace'] = False
pyglet.options['debug_x11'] = False
pyglet.options['debug_media'] = False
pyglet.options['debug_trace_depth'] = 1
pyglet.options['vsync'] = None
pyglet.options['debug_gl'] = True
pyglet.options['darwin_cocoa'] = True
pyglet.options['debug_trace_flush'] = True
pyglet.options['shadow_window'] = True
pyglet.options['xsync'] = True
pyglet.options['debug_font'] = False
pyglet.options['graphics_vbo'] = True
pyglet.options['debug_lib'] = False
pyglet.options['debug_graphics_batch'] = False
pyglet.options['audio'] = ('directsound', 'pulse', 'openal', 'silent')
pyglet.options['debug_texture'] = False
pyglet.window
------------------------------------------------------------------------------
2013-12-28 12:51:44.554 Python[4611:d07] ApplePersistenceIgnoreState: Existing
state will not be touched. New state will be written to
/var/folders/jy/sl1jh6kd5_15b9zpmcwfbzj00000gn/T/org.python.python.savedState
platform: <pyglet.window.Platform object at 0x100696d50>
display: <pyglet.canvas.cocoa.CocoaDisplay object at 0x102ce2e90>
screens[0]: CocoaScreen(x=0, y=0, width=1440, height=900)
config['double_buffer'] = 1
config['stereo'] = 0
config['buffer_size'] = 32
config['aux_buffers'] = 0
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 0
config['green_size'] = 0
config['blue_size'] = 0
config['alpha_size'] = 8
config['depth_size'] = 24
config['stencil_size'] = 0
config['accum_red_size'] = 0
config['accum_green_size'] = 0
config['accum_blue_size'] = 0
config['accum_alpha_size'] = 0
config['major_version'] = None
config['minor_version'] = None
config['forward_compatible'] = None
config['debug'] = None
context: CocoaContext()
window.context._info
------------------------------------------------------------------------------
gl_info.get_version(): 2.1 INTEL-8.18.26
gl_info.get_vendor(): Intel Inc.
gl_info.get_renderer(): Intel HD Graphics 5000 OpenGL Engine
gl_info.get_extensions():
GL_APPLE_aux_depth_stencil
GL_APPLE_client_storage
GL_APPLE_element_array
GL_APPLE_fence
GL_APPLE_float_pixels
GL_APPLE_flush_buffer_range
GL_APPLE_flush_render
GL_APPLE_object_purgeable
GL_APPLE_packed_pixels
GL_APPLE_pixel_buffer
GL_APPLE_rgb_422
GL_APPLE_row_bytes
GL_APPLE_specular_vector
GL_APPLE_texture_range
GL_APPLE_transform_hint
GL_APPLE_vertex_array_object
GL_APPLE_vertex_array_range
GL_APPLE_vertex_point_size
GL_APPLE_vertex_program_evaluators
GL_APPLE_ycbcr_422
GL_ARB_color_buffer_float
GL_ARB_depth_buffer_float
GL_ARB_depth_clamp
GL_ARB_depth_texture
GL_ARB_draw_buffers
GL_ARB_draw_elements_base_vertex
GL_ARB_draw_instanced
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_framebuffer_object
GL_ARB_framebuffer_sRGB
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex
GL_ARB_instanced_arrays
GL_ARB_multisample
GL_ARB_multitexture
GL_ARB_occlusion_query
GL_ARB_pixel_buffer_object
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_provoking_vertex
GL_ARB_seamless_cube_map
GL_ARB_shader_objects
GL_ARB_shader_texture_lod
GL_ARB_shading_language_100
GL_ARB_shadow
GL_ARB_sync
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_compression_rgtc
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_ARB_texture_float
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_non_power_of_two
GL_ARB_texture_rectangle
GL_ARB_texture_rg
GL_ARB_transpose_matrix
GL_ARB_vertex_array_bgra
GL_ARB_vertex_blend
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_ATI_separate_stencil
GL_ATI_texture_env_combine3
GL_ATI_texture_float
GL_ATI_texture_mirror_once
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_draw_buffers2
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_blit
GL_EXT_framebuffer_multisample
GL_EXT_framebuffer_object
GL_EXT_framebuffer_sRGB
GL_EXT_geometry_shader4
GL_EXT_gpu_program_parameters
GL_EXT_gpu_shader4
GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil
GL_EXT_packed_float
GL_EXT_provoking_vertex
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shadow_funcs
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_EXT_texture_array
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_EXT_texture_env_add
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_integer
GL_EXT_texture_lod_bias
GL_EXT_texture_rectangle
GL_EXT_texture_sRGB
GL_EXT_texture_sRGB_decode
GL_EXT_texture_shared_exponent
GL_EXT_timer_query
GL_EXT_transform_feedback
GL_EXT_vertex_array_bgra
GL_IBM_rasterpos_clip
GL_NV_blend_square
GL_NV_conditional_render
GL_NV_depth_clamp
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_texgen_reflection
GL_NV_texture_barrier
GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
pyglet.gl.glu_info
------------------------------------------------------------------------------
glu_info.get_version(): 1.3 MacOSX
glu_info.get_extensions():
pyglet.gl.glx_info
------------------------------------------------------------------------------
GLX not available.
pyglet.media
------------------------------------------------------------------------------
audio driver: <pyglet.media.drivers.openal.OpenALDriver object at 0x1058394d0>
pyglet.media.avbin
------------------------------------------------------------------------------
Library: <CDLL '/usr/local/lib/libavbin.dylib', handle 101cc0530 at 10582f810>
AVbin version: 8
FFmpeg revision: 25864
pyglet.media.drivers.openal
------------------------------------------------------------------------------
Library: <CDLL '/System/Library/Frameworks/OpenAL.framework/OpenAL', handle
102b94170 at 105839910>
Version: (1, 1)
Extensions:
ALC_EXT_CAPTURE
ALC_ENUMERATION_EXT
ALC_EXT_MAC_OSX
ALC_EXT_ASA
ALC_EXT_ASA_DISTORTION
ALC_EXT_ASA_ROGER_BEEP
----------------------------------------------
Any additional info (platform/language/hardware) that may be relevant?:
Tried it on 2 different machines running OSX 10.9 (Mavericks) - a late 2011
MBP and a late 2013 MBA, both encountered the same problem. I have not had the
possibility to try other platforms so far.
I've tried various file formats (ranging from simple 16bit mono wavs to stereo
24 MP3's etc) and I also tried running different versions of Avbin (2 different
releases of version 8 and version 10) without any luck.
Here is some pretty minimal code that I wrote to isolate the problem:
----------------------------------------------
"""
test.py
"""
import pyglet,os
os.chdir(os.path.dirname(os.path.abspath(__file__)[0:-6]))
pyglet.options['debug_media'] = True
pyglet.options['debug_media_buffers'] = True
game_window = pyglet.window.Window(800, 600)
player = pyglet.media.Player()
player.eos_action = player.EOS_LOOP
song = pyglet.media.load('resources/audio/song.mp3', streaming=False)
player.queue(song)
player.play()
player.position = (0,0,0)
player.volume = 1
player.min_distance = 30
player.max_distance = 100000
listener = pyglet.media.get_audio_driver().get_listener()
time_passed = 0
def update(dt):
global time_passed
time_passed += dt
def on_mouse_motion(x, y, dx, dy):
global time_passed
listener.position = (x,y,0)
print time_passed
game_window.on_mouse_motion = on_mouse_motion
if __name__ == '__main__':
pyglet.clock.schedule_interval(update, 1/120.0)
pyglet.app.run()
----------------------------------------------
Original issue reported on code.google.com by mich...@wielondek.com
on 28 Dec 2013 at 12:05