During local testing I hit the NOTREACHED() below once, but couldn't repro it again:
if (!MediaDrmBridge::IsKeySystemSupported(key_system)) {
error_message = "Key system not supported unexpectedly: " + key_system;
NOTREACHED() << error_message;
bound_cdm_created_cb.Run(nullptr, error_message);
return;
}
The NOTREACHED() which essentially DCHECK that MediaDrmBridge::IsKeySystemSupported(key_system) must return true. This DCHECK is based on the fact that we called the same function when deciding whether the key system is supported [1]. However, that is called in the browser process and the DCHECK is in the GPU process. Also, the DCHECK could happen much later. Further, the implemenation of MediaDrmBridge::IsKeySystemSupported() actually calls into Java MediaDrm, where it's hard to assume what it'll return.
With that, I feel we should remove the NOTREACHED() and just fail.
Comment 1 by bugdroid1@chromium.org
, May 17 2018