<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>292951</bug_id>
          
          <creation_ts>2025-05-13 13:20:07 -0700</creation_ts>
          <short_desc>[WPE][GStreamer][WebGL] Many video webgl tests timing out with &quot;no valid frames&quot; vorbis error</short_desc>
          <delta_ts>2025-07-16 07:05:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=296026</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>236884</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>djg</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>philn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2116862</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2025-05-13 13:20:07 -0700</bug_when>
    <thetext>Recently, a number of revisions enable new WebGL tests:

294256@main (cec6beae58bc) Enable newer WebGL CTS conformance2/renderbuffers tests https://bugs.webkit.org/show_bug.cgi?id=292260 rdar://150266920                                                                                                                                                                    
294255@main (1aea2ca66680) Enable newer WebGL CTS conformance2/query tests https://bugs.webkit.org/show_bug.cgi?id=292258 rdar://150266311                                                                                                                                                                            
294254@main (bce8dcf1b26e) Enable newer WebGL CTS conformance2/programs tests https://bugs.webkit.org/show_bug.cgi?id=292256 rdar://150266030                                                                                                                                                                         
294253@main (2b4165eb3474) Enable newer WebGL CTS conformance2/misc tests https://bugs.webkit.org/show_bug.cgi?id=292255 rdar://150265421                                                                                                                                                                             
294252@main (f63a060f377f) Enable newer WebGL CTS conformance2/extensions tests https://bugs.webkit.org/show_bug.cgi?id=292252 rdar://150264779                                                                                                                                                                       
294251@main (7c0815ca4646) Enable newer WebGL CTS conformance/ tests https://bugs.webkit.org/show_bug.cgi?id=292183 rdar://150188705                                                                                                                                                                                  
294250@main (6a0a3c1da347) Enable newer WebGL CTS conformance2/vertex_arrays tests https://bugs.webkit.org/show_bug.cgi?id=292251 rdar://150262933 

Since the WPE-Release post-commit job 20755 (294257@main), lots of webgl video tests are timing out, making the bot reach the early exit threshold.

I gardened a number of tests in 294773@main and 294786@main, but it was not enough.

Quite a majority of the tests timing out have this stderr output:

0:00:00.608145741 13036 0x5a71d095f290 ERROR          webkitdisplay PlatformDisplayGStreamer.cpp:82:gstGLContext: Failed to fill in GStreamer context: glGetString error: 0x500
0:00:01.051327332 13036 0x5a71d095f290 ERROR           webkitcommon GStreamerCommon.cpp:952:operator():&lt;media-player-1&gt; Got message: error message: 0x7ee394050400, time 99:99:99.999999999, seq-num 1389, element &apos;vorbisdec0&apos;, GstMessageError, gerror=(GError)NULL, debug=(string)&quot;../gst-libs/gst/audio/gstaudiodecoder.c\(2506\):\ gst_audio_decoder_sink_eventfunc\ \(\):\ /GstPlayBin:media-player-1/GstURIDecodeBin:uridecodebin1/GstDecodeBin:decodebin1/GstVorbisDec:vorbisdec0:\012no\ valid\ frames\ found&quot;;
0:00:01.051354180 13036 0x5a71d095f290 ERROR      webkitmediaplayer MediaPlayerPrivateGStreamer.cpp:2044:handleMessage:&lt;media-player-1&gt; No valid frames decoded before end of stream (url=file:///app/webkit/LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm) (code=7)
:q

Looks like related to the gstreamer version, as the error appears with GST 1.26.1, but not with 1.26.0
 
For the given input file: LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm:

- Flatpak: gst-play-1.0 - 1.26.1 - Same error message
- Wkdev SDK: gst-play-1.0 - 1.26.1 - Same error message
- Ubuntu 24.04: gst-play-1.0 - 1.24.1 - Plays normally</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116863</commentid>
    <comment_count>1</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2025-05-13 13:20:21 -0700</bug_when>
    <thetext>And while 1.26.1 gst-discoverer-1.0 is able to extract information about the streams, it also shows the same error message.

gst-discoverer output:

An error was encountered while discovering the file
 No valid frames decoded before end of stream

Properties:
  Duration: 0:00:05.038000000
  Seekable: yes
  Live: no
  container #0: WebM
    video #1: VP8
      Stream ID: c6ec7f15f6ce1f66cc108706167b84bc1e435a51f866ba4faf67a014faab85f8/001:001
      Width: 80
      Height: 128
      Depth: 24
      Frame rate: 30000/1001
      Pixel aspect ratio: 1/1
      Interlaced: false
      Bitrate: 0
      Max bitrate: 0
    audio #2: Vorbis
      Stream ID: c6ec7f15f6ce1f66cc108706167b84bc1e435a51f866ba4faf67a014faab85f8/002:002
      Language: en
      Channels: 2 (front-left, front-right)
      Sample rate: 48000
      Depth: 32
      Bitrate: 0
      Max bitrate: 0


For comparison, fprobe output:

Input #0, matroska,webm, from &apos;LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm&apos;:
  Metadata:
    encoder         : Lavf52.68.0
  Duration: 00:00:05.04, start: 0.067000, bitrate: 17 kb/s
  Stream #0:0(eng): Video: vp8, yuv420p(progressive), 80x128, SAR 1:1 DAR 5:8, 29.97 fps, 29.97 tbr, 1k tbn (default)
  Stream #0:1(eng): Audio: vorbis, 48000 Hz, stereo, fltp (default)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116889</commentid>
    <comment_count>2</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2025-05-13 14:33:20 -0700</bug_when>
    <thetext>Looks like it&apos;s related to this GStreamer issue: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4067</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116988</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-05-14 02:53:58 -0700</bug_when>
    <thetext>So, the audio tracks without samples were removed in https://bugs.webkit.org/show_bug.cgi?id=226078 which was then lost at the next WebGL conformance tests sync (https://github.com/WebKit/WebKit/commit/e890d7c23afacd25de033815741ab74f5c421aaa) because apparently the modified webm files were never upstreamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116990</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-05-14 03:43:44 -0700</bug_when>
    <thetext>&gt; Ubuntu 24.04: gst-play-1.0 - 1.24.1 - Plays normally

really?

Here in 24.04.2, gst 1.24.2 plays the file only for half a second, the audio decoder error is emitted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2116999</commentid>
    <comment_count>5</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2025-05-14 04:18:21 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; &gt; Ubuntu 24.04: gst-play-1.0 - 1.24.1 - Plays normally
&gt; 
&gt; really?
&gt; 
&gt; Here in 24.04.2, gst 1.24.2 plays the file only for half a second, the audio
&gt; decoder error is emitted.

Sorry, I meant 1.24.2 on my side. And indeed the error indeed also appears, but only after 5 seconds, when exiting:

gst-play-1.0 LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm
Press &apos;k&apos; to see a list of keyboard shortcuts.
Now playing /home/lauro/dev/WebKit/LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm
Redistribute latency...
Redistribute latency...
Redistribute latency...
ERROR No valid frames decoded before end of stream for file:///home/lauro/dev/WebKit/LayoutTests/webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm
ERROR debug information: ../gst-libs/gst/audio/gstaudiodecoder.c(2506): gst_audio_decoder_sink_eventfunc (): /GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstVorbisDec:vorbisdec0:
no valid frames found
Reached end of play list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2117003</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-05-14 05:12:58 -0700</bug_when>
    <thetext>We&apos;re both correct ;)

- gst-play-1.0 starting from 1.24 uses playbin3 by default
- the issue doesn&apos;t happen when playbin3 is used
- the issue happens when playbin is used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2117010</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-05-14 06:04:48 -0700</bug_when>
    <thetext>We&apos;d need to switch to playbin3 and have this MR merged: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8434 and then the tests will no longer timeout.

For legacy/playbin we would need a similar patch, but I&apos;m not sure this is worth.

So I&apos;d keep this bug open until we switch to playbin3 and have the issue fixed upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2130502</commentid>
    <comment_count>8</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2025-07-16 07:05:52 -0700</bug_when>
    <thetext>Gardened a number of related failures in bug281932 / 297460@main</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>