跳到主要内容

5.5. Processing a Local Description (处理本地描述)

5.5. Processing a Local Description (处理本地描述)

当向 setLocalDescription 提供 SessionDescription 时, 必须执行以下步骤:

  • 若描述的类型为 "rollback", 则按照第 5.7 节定义的处理方式进行, 并跳过本节其余部分描述的处理。

  • 否则, 将 SessionDescription 的类型与 PeerConnection 的当前状态对照检查:

    • 若类型为 "offer", PeerConnection 的状态必须是 "stable""have-local-offer"

    • 若类型为 "pranswer""answer", PeerConnection 的状态必须是 "have-remote-offer""have-local-pranswer"

  • 若类型与当前状态不匹配, 处理必须停止并必须返回错误。

  • 随后检查 SessionDescription, 确保其内容与上一次调用 createOffer/createAnswer 所生成的内容完全一致, 从而未被更改, 如第 5.4 节所述; 否则处理必须停止并必须返回错误。

  • 接下来, 按照下文第 5.8 节所述将 SessionDescription 解析为数据结构。

  • 最后, 按照下文第 5.9 节所述应用已解析的 SessionDescription。