Bug 168860

Summary: Add public method to MediaTime for doing timeScale conversion.
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, eric.carlson, youennf
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 168898    
Attachments:
Description Flags
Patch
eric.carlson: review+, buildbot: commit-queue-
Archive of layout-test-results from ews115 for mac-elcapitan
none
Patch for landing none

Jer Noble
Reported 2017-02-24 17:29:59 PST
Add public method to MediaTime for doing timeScale conversion.
Attachments
Patch (13.11 KB, patch)
2017-02-24 17:47 PST, Jer Noble
eric.carlson: review+
buildbot: commit-queue-
Archive of layout-test-results from ews115 for mac-elcapitan (1.66 MB, application/zip)
2017-02-24 22:05 PST, Build Bot
no flags
Patch for landing (13.11 KB, patch)
2017-02-27 08:45 PST, Jer Noble
no flags
Jer Noble
Comment 1 2017-02-24 17:47:22 PST
Build Bot
Comment 2 2017-02-24 22:05:17 PST
Comment on attachment 302718 [details] Patch Attachment 302718 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3189326 New failing tests: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html
Build Bot
Comment 3 2017-02-24 22:05:20 PST
Created attachment 302735 [details] Archive of layout-test-results from ews115 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
youenn fablet
Comment 4 2017-02-25 14:18:40 PST
Comment on attachment 302718 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=302718&action=review > Source/WTF/ChangeLog:9 > + will be used when converting to a new time scale. This seems fine, although two tests are failing. The broader question I have is whether MediaTime abstraction is the best approach here. For the mac platform, we are probably going from CMTime to MediaTime and (I am guessing) back to CMTime. If so, maybe we would be better using something like a PlatformMediaTime wrapping a CMTime (and maybe a MediaTime for GTK) instead of directly using a MediaTime?
youenn fablet
Comment 5 2017-02-26 10:45:23 PST
Or maybe PlatformAudioData should own its time as CMTime for Mac
Eric Carlson
Comment 6 2017-02-27 06:38:15 PST
Comment on attachment 302718 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=302718&action=review > Source/WTF/wtf/MediaTime.cpp:530 > + if (static_cast<int64_t>(llabs(remainder))*2 >= static_cast<int64_t>(timeScale)) { Nit: spaces around the "*"
Jer Noble
Comment 7 2017-02-27 08:29:06 PST
(In reply to comment #4) > Comment on attachment 302718 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=302718&action=review > > > Source/WTF/ChangeLog:9 > > + will be used when converting to a new time scale. > > This seems fine, although two tests are failing. > > The broader question I have is whether MediaTime abstraction is the best > approach here. > For the mac platform, we are probably going from CMTime to MediaTime and (I > am guessing) back to CMTime. > If so, maybe we would be better using something like a PlatformMediaTime > wrapping a CMTime (and maybe a MediaTime for GTK) instead of directly using > a MediaTime? No. MediaTime is very heavily used in the MSE codebase. Adding an extra indirection + soft link dispatch for every time operation would be unacceptably slow. And then every port would need to re-invent their own rational time class which would look, in the end, exactly the same as MediaTime. There's no practical benefit.
Jer Noble
Comment 8 2017-02-27 08:39:00 PST
(In reply to comment #7) > (In reply to comment #4) > > Comment on attachment 302718 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=302718&action=review > > > > > Source/WTF/ChangeLog:9 > > > + will be used when converting to a new time scale. > > > > This seems fine, although two tests are failing. Those tests have been flaky for a while: <https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#tests=media%2Fmodern-media-controls%2Fmacos-fullscreen-media-controls%2Fmacos-fullscreen-media-controls-drag.html>
Jer Noble
Comment 9 2017-02-27 08:45:43 PST
Created attachment 302842 [details] Patch for landing
Jer Noble
Comment 10 2017-02-27 08:55:20 PST
Note You need to log in before you can comment on or make changes to this bug.