精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
有两种方法将QTSS m模块添加到QuickTime流媒体服务器中,即将代码直接编译成服务器的一部分,或者编译为模块,作为一个分立的代码片断,在服务器启动的时候被装载。
无论是编译为服务器的一部分,或者编译为分立的模块,模块的代码都是一样的,唯一的区别是代码以何种方式进行编译。
这个部分包含如下主要内容:
将QTSS模块编译为服务器的一部分
将QTSS模块连编为代码片段
如果您有QuickTime流媒体服务器的源代码,就可以将自己的模块编译为服务器的一部分。
请注意:T服务器的源代码在下面的站点上可以得到:
http://www.publicsource.apple.com/projects/streaming
要将您的代码编译为服务器的一部分,需要在QTSServer.cpp文件中找到QTSServer::LoadCompiledInModules函数,并添加下面几行代码:
QTSSModule* myModule = new QTSSModule("__XYZ__"); |
|
这里,XYZ i是指您的模块名称,XYZMAIN则是您的模块的主例程。
某些平台要求模块需要使用唯一的函数名。在将模块编译为服务器的一部分时,为了避免名字冲突,请将您的函数声明为静态函数(static)。
被编译为服务器一部分的模块成为静态模块。
为使服务器在运行时装载连编为代码片段的QTSS模块,需要按照如下步骤进行:
某些平台要求模块使用唯一的函数名。为了避免在您的模块被服务器装载的时候发生名字冲突,请在装载之前将符号从模块中剥离(strip)出来。