Upnp stop命令是应该立即停止渲染器还是应该先清空缓冲区然后停止渲染器?
答案 0 :(得分:0)
假设您在AVTransport服务上询问停止操作,则未定义精确行为。
来自UPnP Forum docs bundle的UPnP-av-AVTransport-v1-Service-20020625.pdf说明以下关于Stop
:
此操作会停止当前资源的进展 与指定实例关联。另外,它是 建议“设备输出”(定义如下) 更改为当前资源片段以外的内容。 虽然这种变化的确切性质因设备而异, 一种常见的行为是立即停止所有“输出” 设备。然而,确切的行为是由 设备制造商
没有规定当前资源的进展停止的速度。这意味着设备可以(并且有效)在停止之前播放部分/全部缓冲内容。
如果要实现渲染器,则在调用Stop
时,您应该尽可能合理地丢弃至少部分缓冲内容。如果您正在编写控制点,则一般不能做出任何假设。 (您可能也不关心设备如何实现操作。)
如果您限制自己处理与DLNA兼容的设备,可能会提供进一步的保证。 DLNA规范不是免费提供的,所以我不能说它们是否要求对AVTransport规范进行任何特定的解释。