锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Darwin服务器 / Darwin连编模块
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

连编模块


有两种方法将QTSS m模块添加到QuickTime流媒体服务器中,即将代码直接编译成服务器的一部分,或者编译为模块,作为一个分立的代码片断,在服务器启动的时候被装载。

无论是编译为服务器的一部分,或者编译为分立的模块,模块的代码都是一样的,唯一的区别是代码以何种方式进行编译。

这个部分包含如下主要内容:

将QTSS模块编译为服务器的一部分

将QTSS模块连编为代码片段

将QTSS模块编译为服务器的一部分

如果您有QuickTime流媒体服务器的源代码,就可以将自己的模块编译为服务器的一部分。

请注意:T服务器的源代码在下面的站点上可以得到:

http://www.publicsource.apple.com/projects/streaming

要将您的代码编译为服务器的一部分,需要在QTSServer.cpp文件中找到QTSServer::LoadCompiledInModules函数,并添加下面几行代码:

QTSSModule* myModule = new QTSSModule("__XYZ__");
(void)myModule->Initialize(&sCallbacks, &__XYZMAIN__);
(void)AddModule(myModule);

 

这里,XYZ i是指您的模块名称,XYZMAIN则是您的模块的主例程。

某些平台要求模块需要使用唯一的函数名。在将模块编译为服务器的一部分时,为了避免名字冲突,请将您的函数声明为静态函数(static)。

被编译为服务器一部分的模块成为静态模块。

将QTSS模块连编为代码片段

为使服务器在运行时装载连编为代码片段的QTSS模块,需要按照如下步骤进行:

  • 将源代码编译为目标平台的动态共享库。对于Mac OS X平台,其工程类型必须为可装载的程序包(loadable bundle)。
  • 将编译的结果文件和您目标平台的QTSS API stub库连接起来。
  • 将连接完成的结果文件放在/Library/QuickTimeStreaming/Modules目录(Mac OS X),/usr/local/sbin/StreamingServerModules(Darwin平台),以及c:\Program Files\Darwin StreamingServer\QTSSModules目录下。服务器将在下次启动的时候装载您编写的模块。

某些平台要求模块使用唯一的函数名。为了避免在您的模块被服务器装载的时候发生名字冲突,请在装载之前将符号从模块中剥离(strip)出来。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内