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));
    }
  • 相关阅读:
    【HDU 1007】Quoit Design
    【BZOJ 4516】【SDOI 2016】生成魔咒
    【SPOJ 1812】Longest Common Substring II
    NOI2014 全国互测Round2
    1231: [Usaco2008 Nov]mixup2 混乱的奶牛
    3529: [Sdoi2014]数表
    2693: jzptab
    2565: 最长双回文串
    1562: [NOI2009]变换序列
    1965: [Ahoi2005]SHUFFLE 洗牌
  • 原文地址:https://www.cnblogs.com/bigben0123/p/14607489.html
Copyright © 2011-2022 走看看