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));
    }
  • 相关阅读:
    window7 上创建定时任务来运行自动化脚本
    初试接口测试
    list tuple dict (列表,元祖,字典间的相互转换)
    防止忘记的一些博客
    [python] 常用正则表达式爬取网页信息及分析HTML标签总结
    python正则表达式提取字符串
    关于json的dump和dumps
    三月23日测试Fiddler
    第六章 部署Python开发的web业务
    第五节 Nginx集群
  • 原文地址:https://www.cnblogs.com/bigben0123/p/14607489.html
Copyright © 2011-2022 走看看