WebKit Bugzilla
Attachment 356671 Details for
Bug 192438
: [iOS] Don't update AVPlayerViewController currentTime while scrubbing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192438-20181205160037.patch (text/plain), 3.86 KB, created by
Eric Carlson
on 2018-12-05 16:00:38 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Eric Carlson
Created:
2018-12-05 16:00:38 PST
Size:
3.86 KB
patch
obsolete
>Subversion Revision: 238804 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 4c0cb384b222d505d0d091f1d4124fc559f18adf..798852b402c677f4e9b3bfbd5a9340f292e3ee39 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2018-12-05 Eric Carlson <eric.carlson@apple.com> >+ >+ [iOS] Don't update AVPlayerViewController currentTime while scrubbing >+ https://bugs.webkit.org/show_bug.cgi?id=192438 >+ <rdar://problem/42977046> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ No new tests, tested manually. >+ >+ * platform/ios/PlaybackSessionInterfaceAVKit.mm: >+ (WebCore::PlaybackSessionInterfaceAVKit::currentTimeChanged): Don't report change during scrubbing. >+ >+ * platform/ios/WebAVPlayerController.h: >+ * platform/ios/WebAVPlayerController.mm: >+ (-[WebAVPlayerController beginScrubbing:]): Set _isScrubbing. >+ (-[WebAVPlayerController endScrubbing:]): Ditto. >+ (-[WebAVPlayerController isScrubbing]): Return _isScrubbing. >+ > 2018-12-03 Yusuke Suzuki <yusukesuzuki@slowstart.org> > > Use WallTime for file time >diff --git a/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.mm b/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.mm >index ccbb0c40ec64a3b7288900db49e8eaded0cae14f..e2b425818c94b27b0735c5cecbbbe78a5c7e55d3 100644 >--- a/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.mm >+++ b/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.mm >@@ -95,6 +95,9 @@ void PlaybackSessionInterfaceAVKit::durationChanged(double duration) > > void PlaybackSessionInterfaceAVKit::currentTimeChanged(double currentTime, double anchorTime) > { >+ if ([m_playerController isScrubbing]) >+ return; >+ > NSTimeInterval anchorTimeStamp = ![m_playerController rate] ? NAN : anchorTime; > AVValueTiming *timing = [getAVValueTimingClass() valueTimingWithAnchorValue:currentTime > anchorTimeStamp:anchorTimeStamp rate:0]; >diff --git a/Source/WebCore/platform/ios/WebAVPlayerController.h b/Source/WebCore/platform/ios/WebAVPlayerController.h >index c0808289d50a752b819827225d2a1bf72b7e017c..a639a981ffc0b062da630c81bea4bddbf2f636a1 100644 >--- a/Source/WebCore/platform/ios/WebAVPlayerController.h >+++ b/Source/WebCore/platform/ios/WebAVPlayerController.h >@@ -51,6 +51,7 @@ class PlaybackSessionInterfaceAVKit; > @property BOOL canScanBackward; > @property (readonly) BOOL canSeekToBeginning; > @property (readonly) BOOL canSeekToEnd; >+@property (readonly) BOOL isScrubbing; > > @property BOOL canPlay; > @property (getter=isPlaying) BOOL playing; >diff --git a/Source/WebCore/platform/ios/WebAVPlayerController.mm b/Source/WebCore/platform/ios/WebAVPlayerController.mm >index 4399bfd128df08edd6a0a01e32dbc589a2ee2aa1..ab5562d9c3ab23c824fc57986251d3bb1312f57f 100644 >--- a/Source/WebCore/platform/ios/WebAVPlayerController.mm >+++ b/Source/WebCore/platform/ios/WebAVPlayerController.mm >@@ -56,6 +56,7 @@ static double WebAVPlayerControllerLiveStreamSeekableTimeRangeMinimumDuration = > > @implementation WebAVPlayerController { > BOOL _liveStreamEventModePossible; >+ BOOL _isScrubbing; > } > > - (instancetype)init >@@ -157,6 +158,7 @@ static double WebAVPlayerControllerLiveStreamSeekableTimeRangeMinimumDuration = > - (void)beginScrubbing:(id)sender > { > UNUSED_PARAM(sender); >+ _isScrubbing = YES; > if (self.delegate) > self.delegate->beginScrubbing(); > } >@@ -164,6 +166,7 @@ static double WebAVPlayerControllerLiveStreamSeekableTimeRangeMinimumDuration = > - (void)endScrubbing:(id)sender > { > UNUSED_PARAM(sender); >+ _isScrubbing = NO; > if (self.delegate) > self.delegate->endScrubbing(); > } >@@ -288,6 +291,11 @@ static double WebAVPlayerControllerLiveStreamSeekableTimeRangeMinimumDuration = > [self seekToTime:timeAtEndOfSeekableTimeRanges]; > } > >+- (BOOL)isScrubbing >+{ >+ return _isScrubbing; >+} >+ > - (BOOL)canScanForward > { > return [self canPlay];
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192438
: 356671