RESOLVED FIXED 226867
[MSE] When currentTime is a large value, it takes time to process SourceBufferPrivate::evictCodedFrames().
https://bugs.webkit.org/show_bug.cgi?id=226867
Summary [MSE] When currentTime is a large value, it takes time to process SourceBuffe...
Toshio Ogasawara
Reported 2021-06-09 22:11:46 PDT
SourceBufferPrivate::evictCodedFrames() loops to evict frames in a unit of 30 seconds from MediaTime::zeroTime() to "currentTime - thirtySeconds". In the case of that currentTime is very large (eg. 180,000,000), evictCodedFrames() loops huge times to complete the eviction process. (in the example, it loops 6,000,000 times.) To make matters worse, the looping process is executed even if there is no MediaSample to be evicted in a track buffer. That is a point which should be improved.
Attachments
patch (6.49 KB, patch)
2021-06-09 23:13 PDT, Toshio Ogasawara
no flags
Toshio Ogasawara
Comment 1 2021-06-09 23:13:55 PDT
EWS
Comment 2 2021-06-10 13:50:47 PDT
Committed r278728 (238691@main): <https://commits.webkit.org/238691@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 431050 [details].
Radar WebKit Bug Importer
Comment 3 2021-06-10 13:51:22 PDT
Toshio Ogasawara
Comment 4 2021-06-13 18:50:18 PDT
Thank you for the review.
Note You need to log in before you can comment on or make changes to this bug.