RESOLVED FIXED 227864
[MSE] sequence mode is broken if GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=227864
Summary [MSE] sequence mode is broken if GPU Process is enabled
Jean-Yves Avenard [:jya]
Reported 2021-07-11 19:35:19 PDT
if sequence mode is explicitly set, or if generate timestamps flag is true (such as when using MSE with raw mpeg audio or aac) each time you call SourceBuffer.appendBuffer the timestampOffset will be amended. However, if the GPU Process is enabled, then the value of the timestamp offset is only updated in the GPU Process. If we read the value in the web content process, this value will always be 0.
Attachments
Patch (13.88 KB, patch)
2021-07-14 04:01 PDT, Jean-Yves Avenard [:jya]
no flags
Radar WebKit Bug Importer
Comment 1 2021-07-11 19:35:46 PDT
Jean-Yves Avenard [:jya]
Comment 2 2021-07-14 03:39:32 PDT
Fly-by notice: In the spec we read: 3.5.8 Coded Frame Processing [...] 3.5.8.3 If mode equals "sequence" and group start timestamp is set, then run the following steps: 1. Set timestampOffset equal to group start timestamp - presentation timestamp. 2. Set group end timestamp equal to group start timestamp. 3. Set the need random access point flag on all track buffers to true. 4, Unset group start timestamp. But in the code we do: https://webkit-search.igalia.com/webkit/rev/d08a57141296609b7f8a171e989aa141afa12244/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp#891-892 // 1.3.1 Set timestampOffset equal to group start timestamp - presentation timestamp. m_timestampOffset = m_groupStartTimestamp; m_timestampOffset isn't set properly here.
Jean-Yves Avenard [:jya]
Comment 3 2021-07-14 04:01:54 PDT
EWS
Comment 4 2021-07-15 19:07:54 PDT
Committed r279973 (239716@main): <https://commits.webkit.org/239716@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 433495 [details].
Note You need to log in before you can comment on or make changes to this bug.