<?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>228820</bug_id>
          
          <creation_ts>2021-08-05 04:40:03 -0700</creation_ts>
          <short_desc>[MSE][GStreamer] Missing support for aborts not followed by an initialization segment</short_desc>
          <delta_ts>2023-03-27 04:53:21 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>254222</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Enrique Ocaña">eocanha</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782171</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-08-05 04:40:03 -0700</bug_when>
    <thetext>Two new tests are failing:

media/media-source/media-mp4-h264-partial-abort.html
media/media-source/media-webm-opus-partial-abort.html

The reason of these failures is that the current implementation of aborts in the AppendPipeline works by moving the state of the pipeline down to READY and back to PLAYING, which necessitates for an initialization segment afterwards to resume demuxing. Following an abort with an initialization segment is common, but not required by the spec. This makes those tests fail when they do exactly that.

Unfortunately, making abort() correct necessitates from changes not only in WebKit, but also in the GStreamer demuxer elements. A patch was proposed for qtdemux long ago, but that effort was later deprioritized and stalled. https://bugzilla.gnome.org/show_bug.cgi?id=795424 qtdemux: Add MSE-style flush

Since compatibility with older GStreamer versions is a problem, especially in slower moving distros, a solution to this problem would likely require patching GStreamer and WebKit in a way that the current suboptimal way to do aborts is preserved for GStreamer versions missing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940137</commentid>
    <comment_count>1</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2023-03-09 11:00:31 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/11313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940138</commentid>
    <comment_count>2</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2023-03-09 11:07:23 -0800</bug_when>
    <thetext>Note that the patch from https://github.com/WebKit/WebKit/pull/11313 still does NOT pass the layout tests, so if it eventually lands, this bug should be reopened.

The reason is that the layout tests append partial data on purpose to check how the
demuxer recovers from that, and qtdemux can&apos;t yet recover from that situation.
However, if the tests are modified to use append full fragments, the test passes.
Still, this patch would be an improvement and would unblock the test case in
WebPlatformForEmbedded/WPEWebKit#1016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1943132</commentid>
    <comment_count>3</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2023-03-22 11:01:42 -0700</bug_when>
    <thetext>The media-webm-opus-partial-abort.html failure is unrelated to the partial abort support. That test is failing because non-glib/GStreamer ports aren&apos;t honoring the CodecDelay field in the webm file.

It&apos;s being addressed separately on https://bugs.webkit.org/show_bug.cgi?id=254222, where a patch that changes the webm file to have a zero CodecDelay is being submitted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1943159</commentid>
    <comment_count>4</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2023-03-22 13:11:26 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/11819</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1944174</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-03-27 04:53:18 -0700</bug_when>
    <thetext>Committed 262144@main (9bc4d3cabf88): &lt;https://commits.webkit.org/262144@main&gt;

Reviewed commits have been landed. Closing PR #11819 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>