zoukankan      html  css  js  c++  java
  • licode学习之erizo篇--WebRTCEvent

    erizo的webrtcconnection使用监听来通知事件,其接口为:

    enum WebRTCEvent {
      CONN_INITIAL = 101, CONN_STARTED = 102, CONN_GATHERED = 103, CONN_READY = 104, CONN_FINISHED = 105,
      CONN_CANDIDATE = 201, CONN_SDP = 202, CONN_SDP_PROCESSED = 203,
      CONN_FAILED = 500
    };
    
    class WebRtcConnectionEventListener {
     public:
        virtual ~WebRtcConnectionEventListener() {
        }
        virtual void notifyEvent(WebRTCEvent newEvent, const std::string& message, const std::string &stream_id = "") = 0;
    };

    在event发生时,其参数的内容进行总结:

    1、CONN_INITIAL:WebrtcConnection对象创建后,需要外面手动调用init方法,该方法会回调notifyEvent,并传递事件为改枚举值,message和stream_id均为空值。

    2、CONN_STARTED:这个状态没有看到里面有明显调用的地方,有可能是保留的状态码

    3、CONN_GATHERED:WebrtcConnection的createOffer或者第一次setRemoteSdp时启动自身ICE过程,ICE完成收集时,发送该通知。message为自己的sdp数据

    4、CONN_READY:当DTLS握手交互成功完成时,发送该通知

    5、CONN_FINISH:WebrtcConnection对象关闭,调用close时,发送该通知

    6、CONN_CANDIDATE:自身ICE获取到Candidate时,发送该通知。message为candidate信息

    7、CONN_SDP:没有被使用

    8、CONN_SDP_PROCESSED:处理remote sdp时,发送该通知。message为remote sdp

    9、CONN_FAILED:ICE失败,Dtls握手交互失败,均发送该通知。message为remote sdp

    基于事件的进一步理解,webrtcconnection的使用的正确方法为:

    A、erizo主动发送offer

      a、webrtcconnection createOffer

      b、CONN_GATHERED时,发送sdp给client

      c、CONN_CANDIDATE时,发送candidate给client

      d、接收到answer,调用webrtcconnection setRemoteSdp

      e、接收到candidate,调用webrtcconnection addRemoteCandidate

      f、CONN_SDP_PROCESSED时,做私有处理

      g、CONN_FAILED时,进行重试,或者其他异常处理

    B、erizo被动接收offer

      a、接收到answer,调用webrtcconnection setRemoteSdp

      b、接收到candidate,调用webrtcconnection addRemoteCandidate

      c、CONN_GATHERED时,发送sdp给client

      d、CONN_CANDIDATE时,发送candidate给client

      e、CONN_FAILED时,进行重试,或者其他异常处理

  • 相关阅读:
    2018.12.17-dtoj-1174-出现或反转后出现在每个字符串中的最长子串
    2018.12.17-dtoj-1173-每个字符串至少出现两次且不重叠的最长子串
    2018.12.17-dtoj-1171-长度不小于k的公共子串的个数
    2018.12.17-dtoj-1170-最长公共子串
    2018.12.17-dtoj-1168-连续重复子串
    欧拉四面体公式
    超级密码 hdu1226 bfs
    糖果大战 hdu1204
    Find The Multiple (poj1426 一个好的做法)
    Life Forms (poj3294 后缀数组求 不小于k个字符串中的最长子串)
  • 原文地址:https://www.cnblogs.com/limedia/p/licode_erizo_webrtcevent.html
Copyright © 2011-2022 走看看