qbektrix / pyglet

Automatically exported from code.google.com/p/pyglet
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Video playback is broken on both Ubuntu Karmic and Lucid, unbearably choppy visuals and sound #484

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

I have the latest Ubuntu Lucid Lynx desktop on a Dell 1525, but have also
tested previously on a Lenovo T400 with Karmic with the same results. One
common factor could be an Intel video chipset.

1. Launch the video example program like...
python video.py tada.avi 
...using the tada.avi test video distributed with Bruce the presentation tool.

2. Observe frame refresh rates of maybe one every 5 seconds, and sound
broken up into 200ms chunks with 1000ms spaces in between. There are no
errors logged to the console.

3. Try installing newer avbin, newer ffmpeg, newer pyglet, newer Intel xorg
drivers (2.11). None of these have any impact 

$ python -m pyglet.info
Python
------------------------------------------------------------------------------
sys.version: 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3]
sys.platform: linux2
os.getcwd(): /usr/share/doc/python-pyglet

pyglet
------------------------------------------------------------------------------
pyglet.version: 1.1.2
pyglet.__file__: /usr/lib/pymodules/python2.6/pyglet/__init__.pyc
pyglet.options['debug_trace_depth'] = 1
pyglet.options['font'] = ('gdiplus', 'win32')
pyglet.options['xsync'] = True
pyglet.options['debug_trace_flush'] = True
pyglet.options['debug_win32'] = False
pyglet.options['debug_gl_trace'] = False
pyglet.options['debug_x11'] = False
pyglet.options['shadow_window'] = True
pyglet.options['debug_font'] = False
pyglet.options['debug_media'] = False
pyglet.options['debug_trace'] = False
pyglet.options['debug_lib'] = False
pyglet.options['graphics_vbo'] = True
pyglet.options['vsync'] = None
pyglet.options['debug_trace_args'] = False
pyglet.options['debug_gl'] = True
pyglet.options['debug_graphics_batch'] = False
pyglet.options['audio'] = ('directsound', 'openal', 'alsa', 'silent')
pyglet.options['debug_texture'] = False
pyglet.options['debug_gl_trace_args'] = False

pyglet.window
------------------------------------------------------------------------------
platform: <pyglet.window.xlib.XlibPlatform object at 0x907abec>
display: <pyglet.window.xlib.XlibDisplayDevice object at 0x907ac8c>
screens[0]: XlibScreen(screen=0, x=0, y=0, width=1280, height=800, xinerama=1)
config['double_buffer'] = 1
config['stereo'] = 0
config['buffer_size'] = 24
config['aux_buffers'] = 0
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 8
config['green_size'] = 8
config['blue_size'] = 8
config['alpha_size'] = 0
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
context: XlibGLContext()

pyglet.gl.gl_info
------------------------------------------------------------------------------
gl_info.get_version(): 2.1 Mesa 7.7.1
gl_info.get_vendor(): Tungsten Graphics, Inc
gl_info.get_renderer(): Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4
x86/MMX/SSE2
gl_info.get_extensions():
   GL_3DFX_texture_compression_FXT1
   GL_APPLE_client_storage
   GL_APPLE_packed_pixels
   GL_APPLE_vertex_array_object
   GL_ARB_copy_buffer
   GL_ARB_depth_clamp
   GL_ARB_depth_texture
   GL_ARB_draw_buffers
   GL_ARB_draw_elements_base_vertex
   GL_ARB_fragment_program
   GL_ARB_fragment_program_shadow
   GL_ARB_fragment_shader
   GL_ARB_framebuffer_object
   GL_ARB_half_float_pixel
   GL_ARB_map_buffer_range
   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_shading_language_100
   GL_ARB_shading_language_120
   GL_ARB_shadow
   GL_ARB_sync
   GL_ARB_texture_border_clamp
   GL_ARB_texture_compression
   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_mirrored_repeat
   GL_ARB_texture_non_power_of_two
   GL_ARB_texture_rectangle
   GL_ARB_transpose_matrix
   GL_ARB_vertex_array_bgra
   GL_ARB_vertex_array_object
   GL_ARB_vertex_buffer_object
   GL_ARB_vertex_program
   GL_ARB_vertex_shader
   GL_ARB_window_pos
   GL_ATI_blend_equation_separate
   GL_ATI_envmap_bumpmap
   GL_ATI_separate_stencil
   GL_ATI_texture_env_combine3
   GL_EXT_abgr
   GL_EXT_bgra
   GL_EXT_blend_color
   GL_EXT_blend_equation_separate
   GL_EXT_blend_func_separate
   GL_EXT_blend_logic_op
   GL_EXT_blend_minmax
   GL_EXT_blend_subtract
   GL_EXT_compiled_vertex_array
   GL_EXT_copy_texture
   GL_EXT_cull_vertex
   GL_EXT_draw_range_elements
   GL_EXT_fog_coord
   GL_EXT_framebuffer_blit
   GL_EXT_framebuffer_object
   GL_EXT_gpu_program_parameters
   GL_EXT_multi_draw_arrays
   GL_EXT_packed_depth_stencil
   GL_EXT_packed_pixels
   GL_EXT_pixel_buffer_object
   GL_EXT_point_parameters
   GL_EXT_polygon_offset
   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_subtexture
   GL_EXT_texture
   GL_EXT_texture3D
   GL_EXT_texture_cube_map
   GL_EXT_texture_edge_clamp
   GL_EXT_texture_env_add
   GL_EXT_texture_env_combine
   GL_EXT_texture_env_dot3
   GL_EXT_texture_filter_anisotropic
   GL_EXT_texture_lod_bias
   GL_EXT_texture_object
   GL_EXT_texture_rectangle
   GL_EXT_texture_sRGB
   GL_EXT_texture_swizzle
   GL_EXT_vertex_array
   GL_EXT_vertex_array_bgra
   GL_IBM_multimode_draw_arrays
   GL_IBM_rasterpos_clip
   GL_IBM_texture_mirrored_repeat
   GL_INGR_blend_func_separate
   GL_MESA_pack_invert
   GL_MESA_texture_signed_rgba
   GL_MESA_window_pos
   GL_MESA_ycbcr_texture
   GL_NV_blend_square
   GL_NV_depth_clamp
   GL_NV_light_max_exponent
   GL_NV_packed_depth_stencil
   GL_NV_texgen_reflection
   GL_NV_texture_env_combine4
   GL_NV_texture_rectangle
   GL_NV_vertex_program
   GL_NV_vertex_program1_1
   GL_OES_read_format
   GL_SGIS_generate_mipmap
   GL_SGIS_texture_border_clamp
   GL_SGIS_texture_edge_clamp
   GL_SGIS_texture_lod
   GL_SUN_multi_draw_arrays

pyglet.gl.glu_info
------------------------------------------------------------------------------
glu_info.get_version(): 1.3
glu_info.get_extensions():
   GLU_EXT_nurbs_tessellator
   GLU_EXT_object_space_tess

pyglet.gl.glx_info
------------------------------------------------------------------------------
context.is_direct(): 1
glx_info.get_server_vendor(): SGI
glx_info.get_server_version(): 1.2
glx_info.get_server_extensions():
   GLX_ARB_multisample
   GLX_EXT_import_context
   GLX_EXT_texture_from_pixmap
   GLX_EXT_visual_info
   GLX_EXT_visual_rating
   GLX_MESA_copy_sub_buffer
   GLX_OML_swap_method
   GLX_SGI_make_current_read
   GLX_SGI_swap_control
   GLX_SGIS_multisample
   GLX_SGIX_fbconfig
   GLX_SGIX_pbuffer
   GLX_SGIX_visual_select_group
glx_info.get_client_vendor(): Mesa Project and SGI
glx_info.get_client_version(): 1.4
glx_info.get_client_extensions():
   GLX_ARB_get_proc_address
   GLX_ARB_multisample
   GLX_EXT_import_context
   GLX_EXT_visual_info
   GLX_EXT_visual_rating
   GLX_MESA_allocate_memory
   GLX_MESA_copy_sub_buffer
   GLX_MESA_swap_control
   GLX_MESA_swap_frame_usage
   GLX_OML_swap_method
   GLX_OML_sync_control
   GLX_SGI_make_current_read
   GLX_SGI_swap_control
   GLX_SGI_video_sync
   GLX_SGIS_multisample
   GLX_SGIX_fbconfig
   GLX_SGIX_pbuffer
   GLX_SGIX_visual_select_group
   GLX_EXT_texture_from_pixmap
glx_info.get_extensions():
   GLX_ARB_get_proc_address
   GLX_ARB_multisample
   GLX_EXT_import_context
   GLX_EXT_visual_info
   GLX_EXT_visual_rating
   GLX_MESA_copy_sub_buffer
   GLX_MESA_swap_frame_usage
   GLX_OML_swap_method
   GLX_SGI_make_current_read
   GLX_SGI_video_sync
   GLX_SGIS_multisample
   GLX_SGIX_fbconfig
   GLX_SGIX_pbuffer
   GLX_SGIX_visual_select_group
   GLX_EXT_texture_from_pixmap

pyglet.media
------------------------------------------------------------------------------
driver: pyglet.media.drivers.openal

pyglet.media.avbin
------------------------------------------------------------------------------
Library: <CDLL 'libavbin.so.0', handle 985e058 at 989ce4c>
AVbin version: 7
FFmpeg revision: 15943

pyglet.media.drivers.openal
------------------------------------------------------------------------------
Library: <CDLL 'libopenal.so.1', handle 9857cf0 at 9204e0c>
Version: (1, 1)
Extensions:
   ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE
ALC_EXT_disconnect ALC_EXT_EFX ALC_EXTX_thread_local_context
AL lib: ALc.c:1874: exit(): closing 1 Device
AL lib: ALc.c:1798: alcCloseDevice(): destroying 1 Context(s)

Original issue reported on code.google.com by google....@cefn.com on 8 May 2010 at 4:48

GoogleCodeExporter commented 9 years ago
I am also having this problem

Original comment by PGillh...@gmail.com on 22 Sep 2010 at 4:26

GoogleCodeExporter commented 9 years ago
I just retested this with my current build and I find that the glitches have 
gone, at least for tada.avi video I was testing it on before. It's the same 
laptop, so something must have gone right.

It still has difficulty playing big buck bunny at full res ogg, but that might 
be the player library.

I'm running a fairly vanilla Lucid Lynx plus various packages updated from the 
Ubuntu 'proposed' repository in Synaptic including a newer kernel, compiz 
libraries and flgrx-modaliases

Original comment by google....@cefn.com on 22 Sep 2010 at 7:43