基于DLNA数字媒体适配器的设计

时间:2012-12-20来源:网络

3.2 系统软件工作流程
根据DLNA产品开发标准中的关键技术,其中“设备发现与控制”和“媒体管理”是系统实现的重要功能,软件开发基于UPNP协议与UPNP AV协议架构。下文分别说明了两主要功能的具体实现。
3.2.1 设备发现与控制工作流程
设备在发现与控制技术部分,采用了UPNP协议栈架构。设备在此部分主要完成初始化以及异步操作处理两大主要功能。其软件工作流程如图4所示。

e.JPG


初始化操作包括初始化UPNP协议栈、注册根设备以及初始化设备。系统调用函数UpnpInit()初始化协议栈,制定模块根目录,通过注册根设备,实现设备与UPNP库的关联。设备以多播方式发布存在消息,进入事件循环过程。当监听器接收到设备发出的事件请求后,创建时间处理线程,回调UPNP事件处理函数进行处理,随后开始异步操作处理过程。
设备运行期间,控制点会发送各种请求指令,处理这些异步请求就是设备最主要的工作。这些异步请求包含订阅请求、取值请求和操作请求。订阅请求订阅了UPNP设备中服务状态改变事件,订阅成功后,一旦控制点的订阅信息发生改变,系统都会得到及时的通知。取值请求用于返回服务状态变量的当前值,设备监听到控制点的取值请求后,会激活事件处理回调函数,将返回的当前值提供给接口发送给控制点。操作请求用于改变服务状态变量值,设备从请求文档中得到操作所需的相关参数,建立响应文档后通知控制点设备。
3.2.2 媒体管理工作流程
系统媒体管理部分基于UPNP AV架构,设备用来连接一个或多个媒体服务器,允许控制点在家庭网络内对媒体资源(例如音频、视频、图片等)进行控制。

f.JPG


图5为媒体管理工作流程。系统进程开始于控制点对媒体服务器的发现,当选择好媒体内容进行播放控制时,首先要对媒体资源进行数据分析,控制点确定以何种传输协议以及数据格式进行数据传输,所有传输参数建立后,控制点通过调用Connection Manager::PrepareFor Conection()发布通知,控制媒体流。随后服务器或渲染器将向控制点返回一个AVTransport InstanclID,用来控制媒体内容的传输,例如播放、暂停等。同样,当媒体渲染器返回一个渲染控制ID,就可以用来对媒体进行控制,例如音量调节、亮度调节等。实际上,媒体内容的传输是媒体服务器和渲染器之间的操作UPNP本身并不参与。控制点利用UPNP协议建立设备间的连接,而媒体传输采用的则是具体的传输协议。

4 结束语
系统作为DLNA产品的开发,完成了数字媒体适配器软、硬件的设计与实现。通过测试,系统实现了媒体资源共享及设备间的互控,能够对媒体内容进行传输控制和渲染控制。系统作为数字家庭媒体的中心产品之一,很好的实现了DLNA家庭网络的娱乐功能,也预示了电脑与家电产品互联互通的美好前景。

1 2 3

关键词: 数字媒体适配器 DLNA UPNP协议 UPNP AV架构

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版