RESOLVED FIXED 226711
[MSE] Rework handling of SourceBuffer's buffer full.
https://bugs.webkit.org/show_bug.cgi?id=226711
Summary [MSE] Rework handling of SourceBuffer's buffer full.
Jean-Yves Avenard [:jya]
Reported 2021-06-07 00:55:04 PDT
Follow-up from https://bugs.webkit.org/show_bug.cgi?id=225630#c9 bug 225630 changed the logic on how we are to reject an append only after one has already been added. One downside of the change was also that it broke the class separation between SourceBuffer and SourceBufferPrivate ; it is preferable to have all the handling of buffer size in the SourceBufferPrivate which avoid ambiguities as discussed in bug https://bugs.webkit.org/show_bug.cgi?id=226034
Attachments
Patch (24.81 KB, patch)
2021-06-07 02:06 PDT, Jean-Yves Avenard [:jya]
no flags
Patch (24.70 KB, patch)
2021-06-07 21:27 PDT, Jean-Yves Avenard [:jya]
no flags
Radar WebKit Bug Importer
Comment 1 2021-06-07 00:58:09 PDT
Jean-Yves Avenard [:jya]
Comment 2 2021-06-07 02:06:34 PDT
Jer Noble
Comment 3 2021-06-07 16:43:24 PDT
Comment on attachment 430730 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=430730&action=review > Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:726 > + if (WTF::sumOverflows<uint64_t>(totalTrackBufferSizeInBytes(), requiredSize)) > + return true; > + > + return totalTrackBufferSizeInBytes() + requiredSize >= maximumBufferSize; Irrespective of the overall patch, this performs the addition twice. It would probably be more efficient to do something like: uint64_t totalRequired = 0; if (CheckedState::DidOverflow == CheckedSum(totalTrackBufferSizeInBytes(), requiredSize).safeGet(totalRequired); return true; return totalRequired >= maximumBufferSize;
Jean-Yves Avenard [:jya]
Comment 4 2021-06-07 21:27:54 PDT
Jean-Yves Avenard [:jya]
Comment 5 2021-06-07 23:43:52 PDT
Comment on attachment 430806 [details] Patch test failures unrelated to media's MSE
EWS
Comment 6 2021-06-07 23:44:15 PDT
EWS
Comment 7 2021-06-08 00:41:04 PDT
EWS
Comment 8 2021-06-08 03:52:11 PDT
EWS
Comment 9 2021-06-08 05:29:58 PDT
Committed r278603 (238592@main): <https://commits.webkit.org/238592@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 430806 [details].
Note You need to log in before you can comment on or make changes to this bug.