Multimedia time
spice定义了用于设定多媒体时间的消息用于同步视频和音频流。
有两种方法更新多媒体时间。
第一种是使用数据到达playback channel时间戳。
第二种方法是使用main channel的SPICE_MSG_MAIN_MULTI_MEDIA_TIME 消息。
当没有活动的playback channel 存在时使用第二种方法。
Spice agent
spice protocol 定义了一系列的消息用于spice client和spice client agent 在远程server上的双向交流。
spice 只提供了一个交流的通道(channel),实际交换的数据内容对于协议是不可见的。
channel 有多种用途,例如:client-guest 粘贴板的分享,授权和现实配置。
Display channel definition
定义了一系列的信息用于指示显示远程client显示的显示区域。这个协议支持使用图形元素和视频流。
协议同时也支持捕捉client的图像和色盘。spice display channel支持多种图像压缩方法。
步骤:
- server发送 SPICE_MSG_DISPLAY_MODE 模式的消息用于指定当前绘制的区域大小和类型。
- 然后client 创建一个绘制区域展示server后续发送的所有绘制命令。
- client只有在接收到标记命令(SPICE_MSG_DISPLAY_MARK)才会展示新的绘制内容。
- server 可以通过发送SPICE_MSG_DISPLAY_RESET 通知client丢弃之前的晦气区域和调色板