New issue
Advanced search Search tips

Issue 840148 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: May 2018
Components:
EstimatedDays: ----
NextAction: 2018-05-29
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

No longer can play .avi files

Reported by attw...@gmail.com, May 5 2018

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 10452.74.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.137 Safari/537.36
Platform: 10452.74.0 (Official Build) stable-channel link

Example URL:

Steps to reproduce the problem:
1. Try to open an .avi video file.
2. Player will respond "An error occurred. Click to restart from the beginning."
3. Clicking does nothing to change the problem.

What is the expected behavior?
Video should play normally.

What went wrong?
.avi video files do not play. Instead, got "An error occurred. Click to restart from the beginning." in the player window.

Did this work before? Yes It's been a good two months since the .avi files stopped working.

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A

Chrome version: 66.0.3359.137  Channel: stable
OS Version: 10452.74.0
Flash Version: 29.0.0.140 

Contents of chrome://gpu: 

Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Disabled
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Hardware accelerated
Surface Synchronization: Enabled
Video Decode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
decode_encode_srgb_for_generatemipmap
disable_discard_framebuffer
disable_framebuffer_cmaa
msaa_is_slow
rely_on_implicit_sync_for_swap_buffers
scalarize_vec_and_mat_constructor_args
Problems Detected
Framebuffer discarding causes jumpy scrolling on Mali drivers: 301988
Applied Workarounds: disable_discard_framebuffer
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in ChromeOS handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Decode and Encode before generateMipmap for srgb format textures on Chromeos Intel: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Avoid waiting on a egl fence before pageflipping and rely on implicit sync.: 721463
Applied Workarounds: rely_on_implicit_sync_for_swap_buffers
Don't expose disjoint_timer_query extensions to WebGL: 808744
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported	2018-05-05T23:44:13.514Z
Chrome version	Chrome/66.0.3359.137
Operating system	Linux 3.8.11
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/66.0.3359.137/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/66.0.3359.137/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	22c768fbda54
2D graphics backend	Skia/66 0
Command Line	/opt/google/chrome/chrome --ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=29.0.0.140 --ui-prioritize-in-gpu-process --use-gl=egl --touch-calibration=0,0,0,50 --touch-noise-filtering --gpu-sandbox-failures-fatal=yes --enable-logging --log-level=1 --use-cras --enable-wayland-server --user-data-dir=/home/chronos --login-profile=user --enable-natural-scroll-default --has-chromeos-keyboard --guest-wallpaper-large=/usr/share/chromeos-assets/wallpaper/guest_large.jpg --guest-wallpaper-small=/usr/share/chromeos-assets/wallpaper/guest_small.jpg --child-wallpaper-large=/usr/share/chromeos-assets/wallpaper/child_large.jpg --child-wallpaper-small=/usr/share/chromeos-assets/wallpaper/child_small.jpg --default-wallpaper-large=/usr/share/chromeos-assets/wallpaper/default_large.jpg --default-wallpaper-small=/usr/share/chromeos-assets/wallpaper/default_small.jpg --enterprise-enrollment-initial-modulus=15 --enterprise-enrollment-modulus-limit=19 --login-manager --policy-switches-begin --enable-tab-audio-muting --policy-switches-end --first-exec-after-boot --vmodule=automatic_reboot_manager=1,tablet_power_button_controller=1,*chromeos/login/*=1,auto_enrollment_controller=1,*plugin*=2,*zygote*=1,*/ui/ozone/*=1,*/ui/display/manager/chromeos/*=1,*night_light*=1,power_button_observer=2,webui_login_view=2,lock_state_controller=2,webui_screen_locker=2,screen_locker=2
Driver Information
Initialization time	23
In-process GPU	false
Passthrough Command Decoder	false
Direct Composition	false
Supports overlays	false
Sandboxed	true
GPU0	VENDOR = 0x8086, DEVICE= 0x0166 *ACTIVE*
Optimus	false
Optimus	false
AMD switchable	false
Driver vendor	Mesa
Driver version	17.3.0
Driver date	
Pixel shader version	3.00
Vertex shader version	3.00
Max. MSAA samples	8
Machine model name	
Machine model version	
GL_VENDOR	Intel Open Source Technology Center
GL_RENDERER	Mesa DRI Intel(R) Ivybridge Mobile
GL_VERSION	OpenGL ES 3.0 Mesa 17.3.0-devel (git-11adea4b24)
GL_EXTENSIONS	GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_separate_shader_objects GL_EXT_shader_integer_mix GL_INTEL_performance_query GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_polygon_offset_clamp GL_EXT_texture_border_clamp GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_multisample_interpolation GL_OES_texture_border_clamp GL_EXT_blend_func_extended GL_KHR_no_error GL_EXT_clip_cull_distance GL_MESA_shader_integer_functions
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor	Mesa Project
Window system binding version	1.4 (DRI2)
Window system binding extensions	EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export
Direct rendering	Yes
Reset notification strategy	0x8261
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	GPU_READ
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
RGBA_8888	GPU_READ, SCANOUT_CPU_READ_WRITE
BGRX_8888	GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE
BGRX_1010102	Software only
RGBX_1010102	Software only
BGRA_8888	GPU_READ, SCANOUT_CPU_READ_WRITE
RGBA_F16	Software only
YVU_420	GPU_READ
YUV_420_BIPLANAR	SCANOUT_CAMERA_READ_WRITE, SCANOUT_CPU_READ_WRITE
UYVY_422	Software only
Display(s) Information
Info	Display[13761487533244416] bounds=0,0 1280x850, workarea=0,0 1280x850, scale=2, internal
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Decode h264 baseline	up to 4096x4096 pixels
Decode h264 main	up to 4096x4096 pixels
Decode h264 high	up to 4096x4096 pixels
Encode h264 baseline	up to 4096x4096 pixels and/or 30.000 fps
Encode h264 main	up to 4096x4096 pixels and/or 30.000 fps
Encode h264 high	up to 4096x4096 pixels and/or 30.000 fps
Log Messages
[1656:1661:0505/190952.373632:VERBOSE1:drm_device_manager.cc(53)] : Could not initialize DRM device for /sys/devices/platform/vgem/drm/card1
[1656:1661:0505/190953.403122:VERBOSE1:drm_display.cc(105)] : DRM configuring: device=/sys/devices/pci0000:00/0000:00:02.0/drm/card0 crtc=19 connector=31 origin=0,0 size=2560x1700

The Chrome OS video player has been appallingly crude, feature-less and bug-ridden for years. We deserve better. Thank you very much!
 
What does chrome://media-internals say about the file?

Comment 2 by attw...@gmail.com, May 8 2018

Hello and thanks very much for responding!

Here is the information:

{
  "301:2": {
    "id": "301:2",
    "properties": {
      "render_id": 301,
      "player_id": 2,
      "origin_url": "chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/",
      "frame_url":
"chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/video_player.html",
      "frame_title": "blue_javin.avi",
      "url":
"filesystem:chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/external/Downloads-daee88308b30e4a3fee1b363f7c39863e0c8fcb9/X/vid/blue_javin.avi",
      "event": "WEBMEDIAPLAYER_DESTROYED"
    },
    "allEvents": [
      {
        "time": 0,
        "key": "origin_url",
        "value": "chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/"
      },
      {
        "time": 0.009000001475214958,
        "key": "frame_url",
        "value":
"chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/video_player.html"
      },
      {
        "time": 0.012000000104308128,
        "key": "frame_title",
        "value": "blue_javin.avi"
      },
      {
        "time": 0.06600000150501728,
        "key": "url",
        "value":
"filesystem:chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/external/Downloads-daee88308b30e4a3fee1b363f7c39863e0c8fcb9/X/vid/blue_javin.avi"
      },
      {
        "time": 2.1430000010877848,
        "key": "event",
        "value": "WEBMEDIAPLAYER_DESTROYED"
      }
    ],
    "lastRendered": 0,
    "firstTimestamp_": 12211462.472,
    "destructed": true
  },
  "301:3": {
    "id": "301:3",
    "properties": {
      "render_id": 301,
      "player_id": 3,
      "origin_url": "chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/",
      "frame_url":
"chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/video_player.html",
      "frame_title": "blue_javin.avi",
      "url":
"filesystem:chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/external/Downloads-daee88308b30e4a3fee1b363f7c39863e0c8fcb9/X/vid/blue_javin.avi",
      "total_bytes": 12909352,
      "streaming": false,
      "single_origin": true,
      "passed_cors_access_check": false,
      "range_header_supported": true,
      "pipeline_state": "kStopped",
      "info": "Selected FFmpegVideoDecoder for video decoding, config:
codec: mpeg4 format: 1 profile: unknown coded size: [480,320] visible rect:
[0,0,480,320] natural size: [480,320] has extra data? false encrypted?
false rotation: 0°",
      "audio_channels_count": 2,
      "audio_codec_name": "mp3",
      "audio_sample_format": "Signed 16-bit planar",
      "audio_samples_per_second": 48000,
      "bitrate": 605940,
      "found_audio_stream": true,
      "found_video_stream": true,
      "height": 320,
      "max_duration": 170.437104,
      "start_time": 0,
      "time_base": "100/2997",
      "video_codec_name": "mpeg4",
      "video_format": "PIXEL_FORMAT_I420",
      "video_is_encrypted": false,
      "width": 480,
      "audio_dds": false,
      "audio_decoder": "FFmpegAudioDecoder",
      "video_dds": false,
      "video_decoder": "FFmpegVideoDecoder",
      "error": "audio error during playing, status: PIPELINE_ERROR_DECODE",
      "pipeline_error": "PIPELINE_ERROR_DECODE",
      "event": "WEBMEDIAPLAYER_DESTROYED",
      "duration": 170.437104
    },
    "allEvents": [
      {
        "time": 0,
        "key": "origin_url",
        "value": "chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/"
      },
      {
        "time": 0.008999999612569809,
        "key": "frame_url",
        "value":
"chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/video_player.html"
      },
      {
        "time": 0.011999998241662979,
        "key": "frame_title",
        "value": "blue_javin.avi"
      },
      {
        "time": 0.15599999949336052,
        "key": "url",
        "value":
"filesystem:chrome-extension://jcgeabjmjgoblfofpppfkcoakmfobdko/external/Downloads-daee88308b30e4a3fee1b363f7c39863e0c8fcb9/X/vid/blue_javin.avi"
      },
      {
        "time": 6.328999999910593,
        "key": "total_bytes",
        "value": 12909352
      },
      {
        "time": 6.3349999990314245,
        "key": "streaming",
        "value": false
      },
      {
        "time": 6.341000000014901,
        "key": "single_origin",
        "value": true
      },
      {
        "time": 6.341999998316169,
        "key": "passed_cors_access_check",
        "value": false
      },
      {
        "time": 6.342999998480082,
        "key": "range_header_supported",
        "value": true
      },
      {
        "time": 6.429999999701977,
        "key": "pipeline_state",
        "value": "kStarting"
      },
      {
        "time": 13.78099999949336,
        "key": "info",
        "value": "FFmpegDemuxer: created video stream, config codec: mpeg4
format: 1 profile: unknown coded size: [480,320] visible rect:
[0,0,480,320] natural size: [480,320] has extra data? false encrypted?
false rotation: 0°"
      },
      {
        "time": 13.864000000059605,
        "key": "info",
        "value": "FFmpegDemuxer: created audio stream, config codec: mp3
bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second:
48000 sample_format: 5 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0
has extra data? true encrypted? false discard decoder delay? true"
      },
      {
        "time": 13.887999998405576,
        "key": "audio_channels_count",
        "value": 2
      },
      {
        "time": 13.887999998405576,
        "key": "audio_codec_name",
        "value": "mp3"
      },
      {
        "time": 13.887999998405576,
        "key": "audio_sample_format",
        "value": "Signed 16-bit planar"
      },
      {
        "time": 13.887999998405576,
        "key": "audio_samples_per_second",
        "value": 48000
      },
      {
        "time": 13.887999998405576,
        "key": "bitrate",
        "value": 605940
      },
      {
        "time": 13.887999998405576,
        "key": "found_audio_stream",
        "value": true
      },
      {
        "time": 13.887999998405576,
        "key": "found_video_stream",
        "value": true
      },
      {
        "time": 13.887999998405576,
        "key": "height",
        "value": 320
      },
      {
        "time": 13.887999998405576,
        "key": "max_duration",
        "value": 170.437104
      },
      {
        "time": 13.887999998405576,
        "key": "start_time",
        "value": 0
      },
      {
        "time": 13.887999998405576,
        "key": "time_base",
        "value": "100/2997"
      },
      {
        "time": 13.887999998405576,
        "key": "video_codec_name",
        "value": "mpeg4"
      },
      {
        "time": 13.887999998405576,
        "key": "video_format",
        "value": "PIXEL_FORMAT_I420"
      },
      {
        "time": 13.887999998405576,
        "key": "video_is_encrypted",
        "value": false
      },
      {
        "time": 13.887999998405576,
        "key": "width",
        "value": 480
      },
      {
        "time": 16.230999998748302,
        "key": "audio_dds",
        "value": false
      },
      {
        "time": 16.243999999016523,
        "key": "audio_decoder",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 16.269999999552965,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config:
codec: mp3 bytes_per_channel: 2 channel_layout: 3 channels: 2
samples_per_second: 48000 sample_format: 5 bytes_per_frame: 4 seek_preroll:
0ms codec_delay: 0 has extra data? true encrypted? false discard decoder
delay? true"
      },
      {
        "time": 16.47099999897182,
        "key": "video_dds",
        "value": false
      },
      {
        "time": 16.49599999934435,
        "key": "video_decoder",
        "value": "FFmpegVideoDecoder"
      },
      {
        "time": 16.512999998405576,
        "key": "info",
        "value": "Selected FFmpegVideoDecoder for video decoding, config:
codec: mpeg4 format: 1 profile: unknown coded size: [480,320] visible rect:
[0,0,480,320] natural size: [480,320] has extra data? false encrypted?
false rotation: 0°"
      },
      {
        "time": 16.5489999987185,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 16.631999999284744,
        "key": "error",
        "value": "Failed to send audio packet for decoding: timestamp=0
duration=24000 size=553 side_data_size=0 is_key_frame=1 encrypted=0
discard_padding (ms)=(0, 0)"
      },
      {
        "time": 16.859999999403954,
        "key": "error",
        "value": "audio decoder reinitialization failed"
      },
      {
        "time": 16.960999999195337,
        "key": "error",
        "value": "audio error during playing, status: PIPELINE_ERROR_DECODE"
      },
      {
        "time": 20.690999999642372,
        "key": "pipeline_error",
        "value": "PIPELINE_ERROR_DECODE"
      },
      {
        "time": 22.77699999883771,
        "key": "pipeline_state",
        "value": "kStopping"
      },
      {
        "time": 23.71699999831617,
        "key": "pipeline_state",
        "value": "kStopped"
      },
      {
        "time": 28.087999999523163,
        "key": "event",
        "value": "WEBMEDIAPLAYER_DESTROYED"
      },
      {
        "time": 13.87699999846518,
        "key": "duration",
        "value": 170.437104
      }
    ],
    "lastRendered": 0,
    "firstTimestamp_": 12211465.562,
    "destructed": true
  }
}
Thanks, this looks like  issue 794782 . Essentially with some poorly muxed AVI files, ffmpeg produces invalid packets. Instead of letting these silently accumulate a/v sync issues like we did in the past we now issue an error. This seems to only happen in a minority of files and only on ChromeOS.

Do you see this with all AVI files or just some? Since the error rates have been very low, we haven't planned to change this policy, so if this is blocking you, you might try installing VLC via ARC++ if you can or remuxing the file into an mp4:

ffmpeg -i <old_file>.avi -acodec copy -vcodec copy <new_file>.mp4

Comment 4 by attw...@gmail.com, May 12 2018

This problem is the same for every one of our two-dozen AVI files.
However, these same files play perfectly well on our Windows desktops and
Android smartphone devices.

After studying the bug listings, above, it appears there is some defect in
our AVI files which the Chrome OS player cannot handle, but others are not
affected by.  So, the solution is there is no solution for Chrome OS other
than for us to convert these files to MP4, or to simply avoid AVI files on
the ChromeBook.  VLC, as applied to Chrome OS, is even poorer than the
native Chrome OS video player, so there's no interest in that, here!

I do sincerely appreciate the time and effort which you applied to this
problem.  Thank you so very much and I wish you all the best!

Steven
Thanks for the reply, if it's all AVI files we should consider applying our MP3 workaround. I'll mux some avi files and see if I can reproduce your issues.
Owner: dalecur...@chromium.org
Status: Assigned (was: Unconfirmed)
Hmm, I'm not able to reproduce with correctly muxed avi files. If you take one of your existing AVI files and run it through the following ffmpeg command, do you still see issues?

ffmpeg -i <old_file>.avi -acodec copy -vcodec copy <new_file>.avi
Labels: Needs-Feedback
NextAction: 2018-05-29
Ping attweco@ for c#7, since I haven't heard anything we'll close this bug next week otherwise.

Comment 9 by attw...@gmail.com, May 25 2018

I've been away and will return on Monday.  I'll work on this soon after I
return.  Thanks.
The NextAction date has arrived: 2018-05-29

Comment 11 by attw...@gmail.com, May 31 2018

UPDATE:
I used WinFF to convert some of my AVI files to MP4 and they all play
perfectly well on my ChromeBook Pixel.

Problem solved and thanks very much for your help and your patience!

Best regards,
Steven
Status: WontFix (was: Assigned)
Thanks for the update!

Sign in to add a comment