| 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 | ||
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.