Title: [264797] branches/safari-610.1.23.1-branch/Source/WebCore
Revision
264797
Author
repst...@apple.com
Date
2020-07-23 15:25:23 -0700 (Thu, 23 Jul 2020)

Log Message

Cherry-pick r264796. rdar://problem/66016644

    [Cocoa|WebM] Seeking can leave parser in hung state
    https://bugs.webkit.org/show_bug.cgi?id=214704
    <rdar://problem/66009420>

    Reviewed by Eric Carlson.

    When the parser is explicitly reset, make sure to clear out all the tracks and initialization datas. Otherwise, a half-filled
    CMSampleBuffer can be left waiting around for more data, which may never arrive, and no further samples will ever be parsed.

    * platform/graphics/cocoa/SourceBufferParserWebM.cpp:
    (WebCore::SourceBufferParserWebM::resetParserState):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-610.1.23.1-branch/Source/WebCore/ChangeLog (264796 => 264797)


--- branches/safari-610.1.23.1-branch/Source/WebCore/ChangeLog	2020-07-23 22:21:05 UTC (rev 264796)
+++ branches/safari-610.1.23.1-branch/Source/WebCore/ChangeLog	2020-07-23 22:25:23 UTC (rev 264797)
@@ -1,5 +1,37 @@
 2020-07-23  Alan Coon  <alanc...@apple.com>
 
+        Cherry-pick r264796. rdar://problem/66016644
+
+    [Cocoa|WebM] Seeking can leave parser in hung state
+    https://bugs.webkit.org/show_bug.cgi?id=214704
+    <rdar://problem/66009420>
+    
+    Reviewed by Eric Carlson.
+    
+    When the parser is explicitly reset, make sure to clear out all the tracks and initialization datas. Otherwise, a half-filled
+    CMSampleBuffer can be left waiting around for more data, which may never arrive, and no further samples will ever be parsed.
+    
+    * platform/graphics/cocoa/SourceBufferParserWebM.cpp:
+    (WebCore::SourceBufferParserWebM::resetParserState):
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-07-23  Jer Noble  <jer.no...@apple.com>
+
+            [Cocoa|WebM] Seeking can leave parser in hung state
+            https://bugs.webkit.org/show_bug.cgi?id=214704
+            <rdar://problem/66009420>
+
+            Reviewed by Eric Carlson.
+
+            When the parser is explicitly reset, make sure to clear out all the tracks and initialization datas. Otherwise, a half-filled
+            CMSampleBuffer can be left waiting around for more data, which may never arrive, and no further samples will ever be parsed.
+
+            * platform/graphics/cocoa/SourceBufferParserWebM.cpp:
+            (WebCore::SourceBufferParserWebM::resetParserState):
+
+2020-07-23  Alan Coon  <alanc...@apple.com>
+
         Cherry-pick r264791. rdar://problem/66014800
 
     [Cocoa] RELEASE_ASSERT when calling registerSupplementalVP9Decoder() when VideoToolbox.framework is not present

Modified: branches/safari-610.1.23.1-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp (264796 => 264797)


--- branches/safari-610.1.23.1-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp	2020-07-23 22:21:05 UTC (rev 264796)
+++ branches/safari-610.1.23.1-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp	2020-07-23 22:25:23 UTC (rev 264797)
@@ -298,6 +298,10 @@
 {
     m_parser->DidSeek();
     m_state = State::None;
+    m_tracks.clear();
+    m_initializationSegment = nullptr;
+    m_initializationSegmentEncountered = false;
+    m_currentBlock.reset();
 }
 
 void SourceBufferParserWebM::invalidate()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to