Bug 227866
| Summary: | [MSE] CompletionHandler may not always be called in SourceBufferPrivate::didReceiveInitializationSegment | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Component: | Media | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Jean-Yves Avenard [:jya]
If the initialisation segment received in SourceBufferPrivate::didReceiveInitializationSegment is invalid; then the CompletionHandler will not be called; which would assert in the CompletionHandler destructor
void SourceBufferPrivate::didReceiveInitializationSegment(SourceBufferPrivateClient::InitializationSegment&& segment, CompletionHandler<void()>&& completionHandler)
{
if (!m_client) {
completionHandler();
return;
}
if (m_receivedFirstInitializationSegment && !validateInitializationSegment(segment)) {
m_client->sourceBufferPrivateAppendError(true);
return;
}
...
}
if validateInitializationSegment(segment) returns false; then we will error, and return. But this would assert once completionHandler goes out of scope.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/80446981>