Changeset 210730 in webkit


Ignore:
Timestamp:
Jan 13, 2017 6:26:17 AM (7 years ago)
Author:
eric.carlson@apple.com
Message:

REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out
https://bugs.webkit.org/show_bug.cgi?id=166980
Source/WebCore:

Unreviewed, fix test broken by r210621.

No new tests, updated fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html
and results.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]):

Drive-by fix: null-check parent.

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): Do nothing if the layer

has changed since the KVO notification.

LayoutTests:


Unreviewed, fix test broken by r210621.

  • fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
  • fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html:
  • platform/mac-wk2/TestExpectations: Un-skip fixed test.
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r210696 r210730  
     12017-01-13  Eric Carlson  <eric.carlson@apple.com>
     2
     3        REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out
     4        https://bugs.webkit.org/show_bug.cgi?id=166980
     5       
     6        Unreviewed, fix test broken by r210621.
     7
     8        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
     9        * fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html:
     10        * platform/mac-wk2/TestExpectations: Un-skip fixed test.
     11
    1122017-01-12  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
    213
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt

    r203901 r210730  
    88
    99 === beginning round of pixel tests ===
    10 PASS pixel was white
     10PASS pixel was black
    1111
    1212 === all video tracks disabled ===
     
    2020
    2121 === beginning round of pixel tests ===
    22 PASS pixel was white
     22PASS pixel was black
    2323
    2424 === all video tracks disabled ===
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html

    r203901 r210730  
    1515    let mediaStream;
    1616    let video;
     17    let havePlayed = false;
    1718   
    1819    let buffer;
     
    5859            beginTestRound();
    5960        } else
     61            video.pause();
    6062            finishJSTest();
    6163    }
     
    8284        buffer = context.getImageData(30, 242, 1, 1).data;
    8385
    84         if (mediaStream.getVideoTracks()[0].enabled)
     86        if (mediaStream.getVideoTracks()[0].enabled && havePlayed)
    8587            return isPixelWhite(buffer);
    8688        else
     
    101103    {
    102104        debug('<br> === beginning round of pixel tests ===');
    103         attempt(1, checkPixels, disableAllTracks, 'pixel was white');
     105        attempt(1, checkPixels, disableAllTracks, 'pixel was black');
    104106    }
    105107
  • trunk/LayoutTests/platform/mac-wk2/TestExpectations

    r210678 r210730  
    612612webkit.org/b/166765 [ Debug ] http/tests/pointer-lock/pointerlockelement-same-origin.html [ Crash ]
    613613webkit.org/b/166765 [ Debug ] pointer-lock/lock-lost-on-alert.html [ Crash ]
    614 
    615 webkit.org/b/166980 fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html [ Timeout ]
  • trunk/Source/WebCore/ChangeLog

    r210729 r210730  
     12017-01-13  Eric Carlson  <eric.carlson@apple.com>
     2
     3        REGRESSION (r210621): [mac-wk2] LayoutTest fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html timing out
     4        https://bugs.webkit.org/show_bug.cgi?id=166980
     5
     6        Unreviewed, fix test broken by r210621.
     7
     8        No new tests, updated fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html
     9        and results.
     10
     11        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
     12        (-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]):
     13          Drive-by fix: null-check parent.
     14        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): Do nothing if the layer
     15          has changed since the KVO notification.
     16
    1172017-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
    218
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm

    r210621 r210730  
    162162
    163163        callOnMainThread([protectedSelf = WTFMove(protectedSelf), layer = WTFMove(layer), status = WTFMove(status)] {
     164            if (!protectedSelf->_parent)
     165                return;
     166
    164167            protectedSelf->_parent->layerStatusDidChange(layer.get(), status.get());
    165168        });
     
    173176
    174177        callOnMainThread([protectedSelf = WTFMove(protectedSelf), renderer = WTFMove(renderer), status = WTFMove(status)] {
     178            if (!protectedSelf->_parent)
     179                return;
     180
    175181            protectedSelf->_parent->rendererStatusDidChange(renderer.get(), status.get());
    176182        });
     
    493499void MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange(AVSampleBufferDisplayLayer* layer, NSNumber* status)
    494500{
    495     ASSERT_UNUSED(layer, layer == m_sampleBufferDisplayLayer);
    496     ASSERT(m_activeVideoTrack);
    497     if (status.integerValue == AVQueuedSampleBufferRenderingStatusRendering)
    498         m_videoTrackMap.get(m_activeVideoTrack->id())->setTimelineOffset(MediaTime::invalidTime());
     501    if (status.integerValue != AVQueuedSampleBufferRenderingStatusRendering)
     502        return;
     503
     504    if (layer != m_sampleBufferDisplayLayer || !m_activeVideoTrack)
     505        return;
     506
     507    auto track = m_videoTrackMap.get(m_activeVideoTrack->id());
     508    if (track)
     509        track->setTimelineOffset(MediaTime::invalidTime());
    499510}
    500511
Note: See TracChangeset for help on using the changeset viewer.