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。