3.6.1. Creating an imageattr Attribute (创建 imageattr 属性)
3.6.1. Creating an imageattr Attribute (创建 imageattr 属性)
接收方将首先组合任何已知的本地限制 (例如, 硬件解码器能力或本地策略) 以确定它可以接收的绝对最小和最大大小。如果没有已知的本地限制, 则应该省略 "a=imageattr" 属性。如果这些本地限制排除了接收任何视频, 即不允许任何分辨率的退化情况, 则必须省略 "a=imageattr" 属性, 并且必须根据情况将 "m=" 段标记为 sendonly/inactive。
否则, 将创建具有 "recv" 方向的 "a=imageattr" 属性, 并使用从上述交集形成的结果分辨率空间来指定其最小和最大 "x=" 和 "y=" 值。
这里的规则表达单一的偏好集, 因此 "a=imageattr" 的 "q=" 值并不重要。它应该设置为 "1.0"。
"a=imageattr" 字段是特定于负载类型的。当所有支持的视频编解码器具有相同的能力时, 建议使用带有通配符负载类型 (*) 的单个属性。然而, 当支持的视频编解码器具有不同的限制时, 必须为每个负载类型插入特定的 "a=imageattr" 属性。
例如, 考虑一个具有多格式视频解码器的系统, 该解码器能够解码从 48x48 到 720p 的任何分辨率。在这种情况下, 实现将生成此属性:
a=imageattr:* recv [x=[48:1280],y=[48:720],q=1.0]
此声明表示接收方能够解码从 48x48 到 1280x720 像素的任何图像分辨率。