|
|
RealSystem SDK(二) 作者/来源:Real.com |
第三节 开发框架 RealSystem也称为RealMedia 结构 (RMA),基于微软组件对象模型(COM)。RealSystem组件使用COM的 IUnknown::QueryInterface 方法暴露其接口,接口以\"IRMA\"前缀开始,IRMA表示\"RealMedia接口结构\"。RealSystem没有采用COM的全部,而只实现COM的一个子集提供跨平台操作。应用SDK,可建立下列类型的插件。 文件格式Plug-in: 该插件将某种数据类型转化为RealServer可流式传输的包。尽管RealServer主要使用文件格式插件传输, RealSystem 客户端也可用它们来播放本地文件。 1.播放Plug-in : 该插件接收数据包,并在客户端回放。每个文件格式插件有一个相应的播放插件。 2.文件系统Plug-in : RealServer与RealSystem客户端使用文件系统插件从数据源读取文件。例如,可建立一个插件从数据库中读取数据。 3.广播Plug-in : 广播插件将现场数据转化为RealSystem包。尽管你可建立自己的广播插件,RealSystem包括将编码应用与RealServer标准广播插件结合的远程广播库。 4.监控Plug-in: 监控插件从RealServer注册表中检索系统信息,如当前连接客户数目、客户所请求的URL。
3.1 创建Plug-In事例 RealSystem没有使用Windows CoCreateInstance函数创建插件对象,而是采用RMACreateInstance, 一种\"C-风格\"入口点,暴露IRMAPlugin 接口,它使用IRMAPlugin 决定插件特征。入口点样例如下: STDAPI RMACreateInstance(IUnknown** ppExFileFormatObj) { *ppExFileFormatObj=(IUnknown*)(IRMAPlugin*)new CMyExampleFileFormat(); if (*ppExFileFormatObj != NULL) { (*ppExFileFormatObj)-AddRef(); return PNR_OK; }
return PNR_OUTOFMEMORY; }
application/smil audio/x-pn-realaudio audio/x-pn-realaudio-plugin
|
|