async onCastStatusChanged_() {
    // Do this asynchronously so that synchronous changes to idle state (such as
    // Player calling unload() as part of load()) are coalesced before the event
    // goes out.
    await Promise.resolve();
    if (!this.player_) {
      // We've already been destroyed.
      return;
    }

    const event = new shaka.util.FakeEvent('caststatuschanged');
    this.dispatchEvent(event);
    // Send a media status message, with a media info message if appropriate.
    if (!this.maybeSendMediaInfoMessage_()) {
      this.sendMediaStatus_();
    }
  }
Dispatch an event to notify the receiver app that the status has changed.
@private