Title: [202462] trunk/Source/WebCore
Revision
202462
Author
[email protected]
Date
2016-06-24 16:54:22 -0700 (Fri, 24 Jun 2016)

Log Message

MSE gets confused by in-band text tracks
https://bugs.webkit.org/show_bug.cgi?id=159107
<rdar://problem/26871330>

Reviewed by Eric Carlson.

We can't currently handle text track samples in SourceBufferPrivateAVFObjC,
so don't pass them up to SourceBuffer.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (202461 => 202462)


--- trunk/Source/WebCore/ChangeLog	2016-06-24 23:49:15 UTC (rev 202461)
+++ trunk/Source/WebCore/ChangeLog	2016-06-24 23:54:22 UTC (rev 202462)
@@ -1,3 +1,18 @@
+2016-06-24  Jer Noble  <[email protected]>
+
+        MSE gets confused by in-band text tracks
+        https://bugs.webkit.org/show_bug.cgi?id=159107
+        <rdar://problem/26871330>
+
+        Reviewed by Eric Carlson.
+
+        We can't currently handle text track samples in SourceBufferPrivateAVFObjC,
+        so don't pass them up to SourceBuffer.
+
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+        (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
+        (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
+
 2016-06-24  Mark Lam  <[email protected]>
 
         [JSC] Error prototypes are called on remote scripts.

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (202461 => 202462)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2016-06-24 23:49:15 UTC (rev 202461)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2016-06-24 23:54:22 UTC (rev 202462)
@@ -616,6 +616,11 @@
     segment.duration = toMediaTime([m_asset duration]);
 
     for (AVAssetTrack* track in [m_asset tracks]) {
+        if ([track hasMediaCharacteristic:AVMediaCharacteristicLegible]) {
+            // FIXME(125161): Handle in-band text tracks.
+            continue;
+        }
+
         if ([track hasMediaCharacteristic:AVMediaCharacteristicVisual]) {
             SourceBufferPrivateClient::InitializationSegment::VideoTrackInformation info;
             RefPtr<VideoTrackPrivateMediaSourceAVFObjC> videoTrack = VideoTrackPrivateMediaSourceAVFObjC::create(track, this);
@@ -676,6 +681,10 @@
             if (m_mediaSource)
                 m_mediaSource->player()->sizeChanged();
         }
+    } else if (!m_audioRenderers.contains(trackID)) {
+        // FIXME(125161): We don't handle text tracks, and passing this sample up to SourceBuffer
+        // will just confuse its state. Drop this sample until we can handle text tracks properly.
+        return false;
     }
 
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to