Closed Bug 1619550 Opened 5 years ago Closed 3 years ago

Video plays with only sound and no visual but a black screen on Android

Categories

(Core :: Audio/Video: Playback, defect, P3)

All
Android
defect

Tracking

()

RESOLVED FIXED
mozilla78
Webcompat Priority P3
Tracking Status
firefox78 --- verified

People

(Reporter: mortimergoro, Assigned: jhlin)

References

Details

(Whiteboard: [fxr:p1][geckoview:p1][fenix:p2])

Attachments

(3 files)

We got a feedback from a partner that this video is broken on Android.

I tried it in Fenix, Fennec and GV on FxR, and it's broken on all devices.

(Warning: NSFW content)
https://npx-webvtt2.duckdns.org/vr/180.html

Whiteboard: [fxr:p1][geckoview:m76][fenix:p2]

Warning: Link contains NSFW content.

It looks like videojs-vr (https://github.com/videojs/videojs-vr) based contents don't work in GV. For SFW content, visit https://videojs-vr.netlify.com/

Assignee: nobody → jolin

The videojs-vr examples work after disabling webrender (gfx.webrender.force-disabled=false). The content provided by the partner still fails, though.

Bug 1620458 was filed for the webrender issue.

It looks like videojs-vr cannot capture HLS contents because of [1].

[1] https://hg.mozilla.org/mozilla-central/rev/19d5e50db843

Depends on: 1620458

FxR currently has webrender disabled.

Component: Audio/Video → Audio/Video: Playback
Priority: -- → P3

This is a very high priority bug for, an FxR commercial partner who is paying us to ship FxR as default browser on their platform. We would ideally like to see this fix appear in Gecko(View 76. I would appreciate a reevaluation of the P3 priority, especially as this is also a Fenix P2 issue.

Whiteboard: [fxr:p1][geckoview:m76][fenix:p2] → [fxr:p1][geckoview:p1][fenix:p2]

I just tested all the examples on https://github.com/videojs/videojs-vr and they works correctly on Firefox Reality, whoever when using m3u8 for HLS all the examples provided by our partner fail and show black screen but audio.
I collected some of the videos they were using on this website, including the default one as SFW, the rest are NFSW:
https://fernandojsg.github.io/videobugs/index.html
(Please notice that the last two are intended to start with a black frame)

fwiw none of these works either on Oculus Browser, it shows a message indicating that HLS 360 videos are not supported, but at least it renders the first frame, as the error is coming from the videojs-vr lib and not the browser itself.

(In reply to John Lin [:jhlin][:jolin] from comment #4)

It looks like videojs-vr cannot capture HLS contents because of [1].

[1] https://hg.mozilla.org/mozilla-central/rev/19d5e50db843

From what I understand, that's treating all the HLS request las crossorigin even if they could be sameorigin right? If so what are the implications? Is there any workaround that content could to in order to get this working? thanks!

Flags: needinfo?(jolin)

fwiw this issue is also related https://github.com/MozillaReality/FirefoxReality/issues/3192 basically VR videos in pornhub have similar issue, and they are also using m3u8 for streaming HLS videos.

Webcompat Priority: --- → P1
Pushed by jolin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4f5359c798fc p1: listen to media segment load event and pass the URL to resource wrapper. r=bryce,geckoview-reviewers,snorp https://hg.mozilla.org/integration/autoland/rev/21f5f19c4a5c p2: use media segment URL access for access control. r=bryce
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78

Verified as fixed on Firefox Preview Nightly 200610 (Build #21620604) Wednesday 6/10 using a OnePlus 6T (Android 9) and Huawei MediaPad M3 (Android 7.0). VR videos play as expected.

Status: RESOLVED → VERIFIED
Attached image VideoNoSound.png (deleted) —

I was able to reproduce the issue. The video plays only with audio.
URL: https://es.pornhub.com/view_video.php?viewkey=ph5a1ff836205a0

Tested with:
Browser / Version: Firefox Nightly 91.0a1 (🦎 91.0a1-20210607094749)
Operating System: Google Pixel 5 (Android 11) - 1080 x 2340 pixels, 19.5:9 ratio (~432 ppi density), Samsung Galaxy S6 (Android 7.0) - 1440 x 2560 pixels (~577 ppi pixel density)

Status: VERIFIED → RESOLVED
Closed: 4 years ago3 years ago
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Maybe we should close this issue the last bug from 8 months is related to a WebVR issue on an adult site.

Webcompat Priority: P1 → P3

(In reply to Karl Dubost💡 :karlcow from comment #16)

Maybe we should close this issue the last bug from 8 months is related to a WebVR issue on an adult site.

In that case, I'll close this bug as fixed now.

Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Flags: needinfo?(jolin)
Resolution: --- → FIXED

This issue is also on firefox android since 2021 feb , the latest working version was 85.1.3 after it the version 86 have blackscreen only audio playback ... I can't believe where are at 100+ version and yet no fix.

(In reply to Mark Andreas from comment #18)

This issue is also on firefox android since 2021 feb , the latest working version was 85.1.3 after it the version 86 have blackscreen only audio playback ... I can't believe where are at 100+ version and yet no fix.

Are all videos broken on your device? Or just videojs-vr videos like https://videojs-vr.netlify.com/ in comment 2? Can you share a link to a video that is broken?

Can you share your Firefox Android's about:support information here? That will help us determine if there is a Firefox problem with specific hardware.

The default video on the page linked jn comment 2 is sufficient to demonstrate the problem

Application Basics

Name: Firefox
Version: 105.0
Build ID: 20220912145803
Distribution ID:
User Agent: Mozilla/5.0 (Android 11; Mobile; rv:105.0) Gecko/105.0 Firefox/105.0
OS: Linux 30 #1 SMP PREEMPT Tue Mar 1 15:51:38 +07 2022
Multiprocess Windows: 0/0
Fission Windows: 0/0 Disabled by default
Remote Processes: 3
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Memory Size (RAM): 2.7 GB
Disk Space Available: 13.6 GB

Crash Reports for the Last 3 Days

Nightly Features

Remote Processes

Type: Web Content
Count: 2 / 2

Type: GPU
Count: 1

Add-ons

Name: Mozilla Android Components - Ads Telemetry
Type: extension
Version: 105.0.6.0912190748
Enabled: true
ID: ads@mozac.org

Name: Mozilla Android Components - Browser Icons
Type: extension
Version: 105.0.6.0912185743
Enabled: true
ID: icons@mozac.org

Name: Mozilla Android Components - Firefox Accounts WebChannel
Type: extension
Version: 105.0.6.0912185959
Enabled: true
ID: fxa@mozac.org

Name: Mozilla Android Components - ReaderView
Type: extension
Version: 105.0.6.0912190638
Enabled: true
ID: readerview@mozac.org

Name: Mozilla Android Components - Search Telemetry
Type: extension
Version: 105.0.6.0912190748
Enabled: true
ID: cookies@mozac.org

Name: Mozilla Android Components - Web Compatibility Interventions
Type: extension
Version: 105.0.0
Enabled: true
ID: webcompat@mozilla.org

Graphics

Features
Compositing: WebRender
Asynchronous Pan/Zoom: touch input enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_IMG_context_priority EGL_KHR_no_config_context IsWebglOutOfProcessEnabled: 0
WebGL 1 Driver Renderer: ARM -- Mali-G71
WebGL 1 Driver Version: OpenGL ES 3.2 v1.r26p0-01eac0.###other-sha0123456789ABCDEF0###
WebGL 1 Driver Extensions: GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array GL_ARM_texture_unnormalized_coordinates
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_float_blend EXT_sRGB MOZ_debug OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context
WebGL 2 Driver WSI Info: EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_IMG_context_priority EGL_KHR_no_config_context IsWebglOutOfProcessEnabled: 0
WebGL 2 Driver Renderer: ARM -- Mali-G71
WebGL 2 Driver Version: OpenGL ES 3.2 v1.r26p0-01eac0.###other-sha0123456789ABCDEF0###
WebGL 2 Driver Extensions: GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array GL_ARM_texture_unnormalized_coordinates
WebGL 2 Extensions: EXT_color_buffer_float EXT_float_blend MOZ_debug OVR_multiview2 WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Target Frame Rate: 60
GPU #1
Active: Yes
Description: Model: SM-A205GN, Product: a20xtc, Manufacturer: samsung, Hardware: exynos7884B, OpenGL: ARM -- Mali-G71 -- OpenGL ES 3.2 v1.r26p0-01eac0.###other-sha0123456789ABCDEF0###
Vendor ID: ARM
Device ID: Mali-G71
Driver Version: OpenGL ES 3.2 v1.r26p0-01eac0.###other-sha0123456789ABCDEF0###
RAM: 0

Diagnostics
AzureCanvasBackend: skia
AzureCanvasBackend (UI Process): skia
AzureContentBackend: skia
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): skia
CMSOutputProfile: Empty profile data
Display0: 720x1560@0Hz scales:1.750000|1.000000
DisplayCount: 1
GPUProcessPid: 6135
Decision Log
HW_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
GPU_PROCESS:
available by default
WEBRENDER:
available by default
WEBRENDER_QUALIFIED:
available by default
WEBRENDER_COMPOSITOR:
disabled by default: Disabled by default
WEBRENDER_PARTIAL:
available by default
WEBRENDER_SHADER_CACHE:
available by default
WEBRENDER_OPTIMIZED_SHADERS:
available by default
WEBRENDER_ANGLE:
available by default
unavailable by env: OS not supported
WEBRENDER_DCOMP_PRESENT:
available by default
disabled by user: User disabled via pref
unavailable by env: Requires Windows 10 or later
unavailable by runtime: Requires ANGLE
WEBRENDER_SOFTWARE:
available by default
WEBGPU:
disabled by default: Disabled by default
blocked by runtime: WebGPU cannot be enabled in release or beta
VP8_HW_DECODE:
available by default
VP9_HW_DECODE:
available by default
BACKDROP_FILTER:
available by default

Media

Audio Backend: opensl
Max Channels: 2
Preferred Sample Rate: 48000
Roundtrip latency (standard deviation): ...
Output Devices
Name: Group
Default audio output device:
Input Devices
Name: Group
Default audio input device:

Enumerate database

Environment Variables

Important Modified Preferences

browser.search.region: NZ
extensions.lastAppVersion: 105.0
media.gmp.storage.version.observed: 1

Important Locked Preferences

fission.autostart.session: false

Accessibility

Activated: false
Prevent Accessibility: 0

Library Versions

NSPR
Expected minimum version: 4.34.1
Version in use: 4.34.1

NSS
Expected minimum version: 3.82
Version in use: 3.82

NSSSMIME
Expected minimum version: 3.82
Version in use: 3.82

NSSSSL
Expected minimum version: 3.82
Version in use: 3.82

NSSUTIL
Expected minimum version: 3.82
Version in use: 3.82

Startup Cache

Disk Cache Path: /data/user/0/org.mozilla.firefox/files/mozilla/n0k76ejc.default/startupCache/startupCache.8.little
Ignore Disk Cache: false
Found Disk Cache on Init: false
Wrote to Disk Cache: true

Internationalization & Localization

Application Settings
Requested Locales: ["en-NZ"]
Available Locales: ["an","ar","ast","az","be","bg","bn","br","bs","ca","cak","cs","cy","da","de","dsb","el","en-CA","en-GB","en-US","eo","es-AR","es-CL","es-ES","es-MX","et","eu","fa","ff","fi","fr","fy-NL","ga-IE","gd","gl","gn","gu-IN","he","hi-IN","hr","hsb","hu","hy-AM","id","is","it","ja","ka","kab","kk","kn","ko","lij","lo","lt","lv","ml","mr","ms","my","nb-NO","ne-NP","nl","nn-NO","oc","pa-IN","pl","pt-BR","pt-PT","rm","ro","ru","sk","sl","son","sq","sr","sv-SE","ta","te","th","tr","trs","uk","ur","uz","vi","wo","xh","zam","zh-CN","zh-TW"]
App Locales: ["en-US","en-CA","en-GB"]
Regional Preferences: ["en-NZ"]
Default Locale: "en-US"
Operating System
System Locales: ["en-NZ"]
Regional Preferences: ["en-NZ"]

Remote Debugging (Chromium Protocol)

Accepting Connections: false
URL:

(In reply to Chris Peterson [:cpeterson] from comment #19)

(In reply to Mark Andreas from comment #18)

This issue is also on firefox android since 2021 feb , the latest working version was 85.1.3 after it the version 86 have blackscreen only audio playback ... I can't believe where are at 100+ version and yet no fix.

Are all videos broken on your device? Or just videojs-vr videos like https://videojs-vr.netlify.com/ in comment 2? Can you share a link to a video that is broken?

Can you share your Firefox Android's about:support information here? That will help us determine if there is a Firefox problem with specific hardware.

Only VR videos , I tried many websites that provide VR contents with the same black screen with only sound (this issue is on ver 86 as stated before)
Also I tried on many android Devices got the same results so it not hardware issue related to only one device.

Overall you'll know the problem when you compare the library related to VR playback in 85.1.3 ver vs 86 ver .

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: