core里面的通知probe是从content层调用的

 

1, D:\dev\electron9\src\content\renderer\media\inspector_media_event_handler.cc

构造入参有个agent

InspectorMediaEventHandler::InspectorMediaEventHandler(
    blink::MediaInspectorContext* inspector_context)
    : inspector_context_(inspector_context),
      player_id_(inspector_context_->CreatePlayer()) {}

里面调用:inspector_context_->NotifyPlayerEvents(player_id_, events);

2,上面函数实现在:D:\dev\electron9\src\third_party\blink\renderer\core\inspector\inspector_media_context_impl.cc

// Convert public version of event to protocol version, and send it.
void MediaInspectorContextImpl::NotifyPlayerEvents(
    WebString playerId,
    InspectorPlayerEvents events) {
  const auto& player_search = players_.find(playerId);
  if (player_search == players_.end())
    DCHECK(false);
  Vector<InspectorPlayerEvent> to_send;
  to_send.ReserveCapacity(events.size());
  for (const auto& event : events) {
    player_search->value->events.emplace_back(event);
    to_send.push_back(event);
  }
  probe::PlayerEventsAdded(GetSupplementable(), playerId, to_send);
}

3,发送通知:SendQueuedMediaEvents

 

0,这个最初初始化在D:\dev\electron9\src\third_party\blink\renderer\modules\modules_initializer.cc

html 的element元素构建而来

std::unique_ptr<WebMediaPlayer> ModulesInitializer::CreateWebMediaPlayer(
    WebLocalFrameClient* web_frame_client,
    HTMLMediaElement& html_media_element,
    const WebMediaPlayerSource& source,
    WebMediaPlayerClient* media_player_client) const {
  HTMLMediaElementEncryptedMedia& encrypted_media =
      HTMLMediaElementEncryptedMedia::From(html_media_element);
  WebString sink_id(
      HTMLMediaElementAudioOutputDevice::sinkId(html_media_element));
  MediaInspectorContextImpl* context_impl =
      MediaInspectorContextImpl::FromHtmlMediaElement(html_media_element);
  return base::WrapUnique(web_frame_client->CreateMediaPlayer(
      source, media_player_client, context_impl, &encrypted_media,
      encrypted_media.ContentDecryptionModule(), sink_id));
}

 

posted @ 2021-04-01 17:54  Bigben  阅读(107)  评论(0编辑  收藏  举报