zoukankan      html  css  js  c++  java
  • core里面的通知probe是从content层调用的

    1, D:develectron9srccontent enderermediainspector_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:develectron9src hird_partylink enderercoreinspectorinspector_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:develectron9src hird_partylink enderermodulesmodules_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));
    }
  • 相关阅读:
    PAT 甲级 1101 Quick Sort
    PAT 甲级 1038 Recover the Smallest Number
    #Leetcode# 112. Path Sum
    #Leetcode# 17. Letter Combinations of a Phone Number
    #Leetcode# 235. Lowest Common Ancestor of a Binary Search Tree
    C++结构体重构
    【NOIP2016提高A组模拟9.7】鼎纹
    快速幂总结
    【NOIP2013提高组】货车运输
    【NOIP2015提高组】运输计划
  • 原文地址:https://www.cnblogs.com/bigben0123/p/14607489.html
Copyright © 2011-2022 走看看