Changeset 150929 in webkit


Ignore:
Timestamp:
May 29, 2013 2:20:47 PM (11 years ago)
Author:
jer.noble@apple.com
Message:

[Mac] Scrubbing long movie files results in timeline snapping back to 0 during scrub.
https://bugs.webkit.org/show_bug.cgi?id=116986

Reviewed by Eric Carlson.

Source/WebCore:

Keep a count of the number of in-flight seek requests, and only issue a timeupdate
(which triggers a "seeked" event) when the final seek completes.

Test: media/video-seek-multiple.html

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::seek):
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(MediaPlayerPrivateAVFoundation):

LayoutTests:

  • media/video-seek-multiple-expected.txt: Added.
  • media/video-seek-multiple.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r150928 r150929  
     12013-05-29  Jer Noble  <jer.noble@apple.com>
     2
     3        [Mac] Scrubbing long movie files results in timeline snapping back to 0 during scrub.
     4        https://bugs.webkit.org/show_bug.cgi?id=116986
     5
     6        Reviewed by Eric Carlson.
     7
     8        * media/video-seek-multiple-expected.txt: Added.
     9        * media/video-seek-multiple.html: Added.
     10
    1112013-05-29  Jer Noble  <jer.noble@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r150927 r150929  
     12013-05-29  Jer Noble  <jer.noble@apple.com>
     2
     3        [Mac] Scrubbing long movie files results in timeline snapping back to 0 during scrub.
     4        https://bugs.webkit.org/show_bug.cgi?id=116986
     5
     6        Reviewed by Eric Carlson.
     7
     8        Keep a count of the number of in-flight seek requests, and only issue a timeupdate
     9        (which triggers a "seeked" event) when the final seek completes.
     10
     11        Test: media/video-seek-multiple.html
     12
     13        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
     14        (WebCore::MediaPlayerPrivateAVFoundation::seek):
     15        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
     16        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
     17        (MediaPlayerPrivateAVFoundation):
     18
    1192013-05-29  Anders Carlsson  <andersca@apple.com>
    220
  • trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp

    r149980 r150929  
    7878    , m_inbandTrackConfigurationPending(false)
    7979#endif
     80    , m_seekCount(0)
    8081{
    8182    LOG(Media, "MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation(%p)", this);
     
    275276    m_seekTo = time;
    276277
     278    ++m_seekCount;
    277279    seekToTime(time);
    278280}
     
    594596    UNUSED_PARAM(finished);
    595597
     598    ASSERT(m_seekCount);
     599    if (--m_seekCount)
     600        return;
     601
    596602#if !PLATFORM(WIN)
    597603    if (currentTrack())
  • trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h

    r149779 r150929  
    310310    bool m_inbandTrackConfigurationPending;
    311311#endif
     312    size_t m_seekCount;
    312313};
    313314
Note: See TracChangeset for help on using the changeset viewer.