Open Bug 1930862 Opened 1 year ago Updated 6 months ago

www.canva.com - The video is not displayed

Categories

(Web Compatibility :: Site Reports, defect, P2)

ARM
Android

Tracking

(Webcompat Priority:P2, Webcompat Score:6)

Webcompat Priority P2
Webcompat Score 6

People

(Reporter: railioaie, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan][webcomp:2025][webcompat:core])

User Story

platform:android
impact:content-missing
configuration:general
affects:all
branch:release
diagnosis-team:graphics
user-impact-score:450

Attachments

(2 files)

Environment:
Operating system: Android 15
Firefox version: Firefox Mobile 132.0

Preconditions:
Clean profile
ETP Strict

Steps to reproduce:

  1. Navigate to: https://www.canva.com/design/DAGVgcuqgTg/rm7NDisVxw3PsDHTuYTRwQ/view?utm_content=DAGVgcuqgTg&utm_campaign=designshare&utm_medium=link&utm_source=editor

Expected Behavior:
The video is playing

Actual Behavior::
The video is not displayed

Notes:

  • Reproduces in ETP Strict Mode and ETP Standard mode
  • Reproduces in firefox-nightly, and firefox-release
  • Does not reproduce in chrome

Created from https://github.com/webcompat/web-bugs/issues/143819

Video plays on desktop, Fx134 Nightly in ETP Strict and with fresh profile.

Severity: -- → S2

Video also doesn't play in with ETP-Standard on android. The video itself doesn't get blocked, but loads over the network. It just doesn't get rendered by the custom rending code from the website. It seems like it is using some API that isn't supported on Android. However, I wan't able to figure out which API that is.

Severity: S2 → --
Component: Privacy: Site Reports → Site Reports
No longer depends on: etp-breakage
Whiteboard: [webcompat-source:web-bugs] → [webcompat-source:web-bugs][webcompat:sightline]
Severity: -- → S3
User Story: (updated)
Priority: -- → P2
Attached file log_canva.txt

I was able to repro on Android nightly. It looks like we're hitting a demuxing failure:

12-17 16:10:20.786 20419 20846 I Gecko   : [Child 20419: MediaDecoderStateMachine #1]: D/MediaDecoder MediaDecoderStateMachine[77cec82e00] state=DECODING_METADATA Video decode HWAccel=0 videoQueueSize=3
12-17 16:10:20.786 20419 20846 I Gecko   : [Child 20419: MediaDecoderStateMachine #1]: D/MediaDecoder MediaDecoderStateMachine[77cec82e00] state=DECODING_METADATA OnMetadataRead, duration=9223372036854775807
12-17 16:10:20.786 20419 20846 I Gecko   : [Child 20419: MediaDecoderStateMachine #1]: D/MediaDecoder MediaDecoderStateMachine[77cec82e00] state=DECODING_METADATA change state to: DECODING_FIRSTFRAME
12-17 16:10:20.786 20419 20847 I Gecko   : [Child 20419: MediaSupervisor #1]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::SkipVideoDemuxToNextKeyFrame: Skipping up to 0
12-17 16:10:20.787 20419 20847 I Gecko   : [Child 20419: MediaSupervisor #1]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::OnVideoSkipFailed: Skipping failed, skipped 0 frames
12-17 16:10:20.787 20419 20945 I Gecko   : [Child 20419: MediaSupervisor #2]: D/MediaSource TrackBuffersManager[7704850200] ::UpdateEvictionIndex: UpdateEvictionIndex for audio/mp4a-latm (idx=0, evictable=0)
12-17 16:10:20.787 20419 20945 I Gecko   : [Child 20419: MediaSupervisor #2]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::OnDemuxFailed: Failed to demux video, failure:NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA
12-17 16:10:20.787 20419 20945 I Gecko   : [Child 20419: MediaSupervisor #2]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::HandleDemuxedSamples: Audio stream id changed from:4294967295 to:0
12-17 16:10:20.787 20419 20945 I Gecko   : [Child 20419: MediaSupervisor #2]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::Update: Rejecting Video promise: WAITING_FOR_DATA
12-17 16:10:20.787 20419 20945 I Gecko   : [Child 20419: MediaSupervisor #2]: D/MediaFormatReader MediaFormatReader[7727f6c600] ::OnDemuxFailed: Failed to demux video, failure:NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA

Also some BlitSdToFramebuffer errors:

12-17 16:10:25.757 20527 20598 E zilla.fenix:gpu: [SurfaceTexture-0-20527-3] attachToContext: SurfaceTexture is already attached to a context
12-17 16:10:25.758 20527 20598 W System.err: java.lang.RuntimeException: Error during attachToGLContext (see logcat for details)
12-17 16:10:25.758 20527 20598 W System.err: 	at android.graphics.SurfaceTexture.attachToGLContext(SurfaceTexture.java:298)
12-17 16:10:25.758 20527 20598 W System.err: 	at org.mozilla.gecko.gfx.GeckoSurfaceTexture.attachToGLContext(GeckoSurfaceTexture.java:16)
12-17 16:10:25.758 20527 20598 I Gecko   : [GFX1-]: BlitSdToFramebuffer failed for type 5

Profile where I reloaded the site and attempted to play/pause/play the video. jolin, would you have any thoughts here?

Flags: needinfo?(jolin)

Appears to be some sort of painting glitch in the display of the page / video. This is the resulting page I get.

Webcompat Priority: --- → P2

There are more than 1 renderer that try to use the video surface texture:

2025-01-28 11:14:09.703  7794-7844  iew_example:gp          org.mozilla.geckoview_example        E  [SurfaceTexture-0-7794-2] attachToContext: SurfaceTexture is already attached to a context
2025-01-28 11:14:09.763  7794-7844  GeckoSurfaceTexture     org.mozilla.geckoview_example        E  org.mozilla.gecko.gfx.GeckoSurfaceTexture@4c9c368 attachToGLContext() ctx=513470530560 tex=1518
                                                                                                    java.lang.RuntimeException: Error during attachToGLContext (see logcat for details)
                                                                                                    	at android.graphics.SurfaceTexture.attachToGLContext(SurfaceTexture.java:296)
                                                                                                    	at org.mozilla.gecko.gfx.GeckoSurfaceTexture.attachToGLContext(GeckoSurfaceTexture.java:89)
2025-01-28 11:14:09.804  7794-7844  iew_example:gp          org.mozilla.geckoview_example        E  [SurfaceTexture-0-7794-2] checkAndUpdateEglState: invalid current EGLContext
2025-01-28 11:14:09.813  7794-7844  GeckoSurfaceTexture     org.mozilla.geckoview_example        W  updateTexImage() failed
                                                                                                    java.lang.IllegalStateException: Unable to update texture contents (see logcat for details)
                                                                                                    	at android.graphics.SurfaceTexture.nativeUpdateTexImage(Native Method)
                                                                                                    	at android.graphics.SurfaceTexture.updateTexImage(SurfaceTexture.java:249)
                                                                                                    	at org.mozilla.gecko.gfx.GeckoSurfaceTexture.updateTexImage(GeckoSurfaceTexture.java:128)

From the thread name (CanvasRenderer) it looks like the page uses canvas API, which doesn't work well on Android.

Depends on: 1526207
Flags: needinfo?(jolin)
Webcompat Score: --- → 6

This still fails.
Note that you have to click to play the video; when you do you get audio in FF, but no video. Chrome works.

User Story: (updated)
Whiteboard: [webcompat-source:web-bugs][webcompat:sightline] → [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan]
User Story: (updated)
User Story: (updated)
Whiteboard: [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan] → [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan][webcomp:2025]
Whiteboard: [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan][webcomp:2025] → [webcompat-source:web-bugs][webcompat:sightline][webcompat:japan][webcomp:2025][webcompat:core]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: