多媒体类论文例文,与快速发表文发表的含义,文发表的含义相关毕业论文格式
本论文是一篇多媒体类毕业论文格式,关于快速发表文发表的含义,文发表的含义相关开题报告范文。免费优秀的关于多媒体及互联网及操作系统方面论文范文资料,适合多媒体论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
7;/此节点的提示信息intnumChildren,//子节点的个数
structmenuNode*pChildren,//子节点的入口
FUNCPTRpHandlers,//此节点对应的处理函数
}menuNode,
通过静态方式组织系统menu节点成员,并通过一个递归方式实现了菜单功能:
voidmenu_main(void)
{
menuExitFlag等于FALSE,
if(mRootMenuNode.pHandlers){
if((*(mRootMenuNode.pHandlers))(mRootMenuNode.pPrompt)等于等于OK){
menu_sub(mRootMenuNode.pChildren,mRootMenuNode.numChildren),
}
}else{
menu_sub(mRootMenuNode.pChildren,mRootMenuNode.numChildren),
}
menuExitFlag等于FALSE,
kbdkey_mode_enter(KBDKEYMODE_NONE),
}
多语言支持
系统可很容易地支持更多语言,这要归功于rcc_language.c提供的多语言支持功能.RCC_Language_Id_add():增加要支持的语言及其前缀标识,如要增加对中文的支持,则可调用RCC_Language_Id_add(RCC_LANGUAGE_CN,RCC_LANGUAGE_ID_CN),这样rcc_language.c在根据相应的提示信息中查找中文就以前缀"|CN"查找,至到遇到分隔符"|".
RCC_Language_Id_show():查看系统支持的语言及前缀标识.
RCC_Language_Default_Set():设置默认的语言,即在查找相应的语言帮助信息未成功的情况下使用默认语言显示.
RCC_Language_Set():设置当前语言.
RCC_Language_Get():获取当前语言.
举一个例子:
在web的登录页面中有一个login(登录)按钮,如果当前语言是英文则显示login,是中文则显示登录,那么代码可这样实现:
#defineloginPrompt_EN"Login"
#defineloginPrompt_CN"登录"
#defineloginPromptEN(loginPrompt_EN)CN(loginPrompt_CN),其实loginPrompt的全部信息是:|EN:Login|CN:登录
在read_login()中通过RCC_Language_Help_String_Get(loginPrompt,pDest),函数调用,根据当前语言如果是英文,则会从|EN:Login|CN:根据英文的前缀标识EN找到Login,然后传给pDest,这样就获取到了相应的语言,从而可以很容易地支持多种语言.
对于menu,CLI支持多种语言,同上.
但需要说明的是如果真正要支持某一语言,则要有相应的字库支持,对于如何支持字库,则可以由牛ben同学进行补充.
快速转发实现
我们的系统语音质量好也与我们实现了快速转发有一定的关系(呵呵).根据软件系统架构图,我们可以看出,当从以太收到语音数据时,会先送到以太的链路层处理,这层有一个主要的工作是去除链路层头部,并将剩下的IP数据交给IP层处理,然后IP层做必要的处理,并剥去IP头部,再将语音数据送到UDP层处理,UDP处理完后再交给RTP层处理,RTP剥离出真正的语音数据,才将其送到DSP,并最终给用户播放出声音来.先不说层层检查会浪费CPU时间,单就各层的任务间切换就会消耗大量的CPU时间,从而导倒语音处理的滞后,因此我们设计了快速转发功能.
快速转发的主要思想是每建立一个会话,就同时建立一个会话地址表(又称快速转发表),其实就是本地(IP+port)与远端(IP+port)的一个对应关系,这样,当以太收到语音数据时,先定位出IP及UDP信息,查找是否在快速转发表项中,如果在,则说明数据是到本地的语音数据,则直接定位到RTP处,取出语音数据,交由DSP处理,而对于DSP打包完成后的语音数据,则根据此表项,直接打包成以太数据,通过调用相应的以太接口处理函数将数据发送出去.相对正常流程,快速转发直接在一个任务中处理了语音数据,并采用了简化方式,从而提高了处理效率.
主要数据结构:
typedefstruct{
unsignedlongsrcip,
unsignedlongdstip,
unsignedshortsport,
unsignedshortdport,
}sessionQTKey,
如何增加配置命令
我们的设备有四种配置方式:CLI命令行,WEB,MENU及auto-provisioning方式,auto-provisioning方式是为客户定制的自动方式.
CLI命令行:这种方式就是通过终端或tel进行的交互式配置方式,通过showrunning-config可以看到当前的配置内容,而showstartup-config则可以看到保存到flash中的配置,系统启动时读取flash中的startup文件,并设置话机.对话机的每条配置都必须增加相应的CLI命令,这是由于信息保存就是以命令行的方式保存到flash中.可以没有其它配置方式,但要支持配置可保存,目前就必须支持CLI命令方式.
WEB配置:则为用户提供了一种方便,直观的配置方式,
MENU配置:为用户提供了一种最直接的配置方式.
下面以支持中文语言配置来说明:
首先在usr_cli.c中增加相应的命令节点:{"chinese",kChineseHelp,NULL,kRCC_COMMAND_GLOBAL,NULL,0,0,NULL,0,NULL,1,mChineseHandlers},其中kChineseHelp对应此命令help信息,mChineseHandlers则是当用户输入了chinese命令后要执行的函数相关信息定义:
statichandlerDefnmChineseHandlers[]等于
{
{0,CLI_Chinese,0,0}
},
而CLI_Chinese是用户输入chinese命令后要执行的函数:
externRLSTATUS
CLI_Chinese(cli_env*pCliEnv,paramList*pParams,sbyte*pAuxBuf)
{
RLSTATUSstatus等于OK,
RCC_Language_Set(RCC_LANGUAGE_CN),
returnstatus,
}
那么RCC_Language_Set则是系统定义的语言设置函数,此处是设置中文语言,
前面一步仅是在系统中支持了chinese命令,从而可通过命令行方式修改当前语言为中文,但系统重启动后会恢复成默认值,所以还要修改支持script.
在usr_script.c中增加对languageScript()的调用,而languageScript()则是语言对应的脚本显示信息:
staticvoidlanguageScript(intfd)
{
#include"rc.h"
#include"rcc.h"
intlang,
lang等于RCC_Language_Get(),
if(lang等于等于RCC_LANGUAGE_EN)
fdprintf(fd,"english\n"),
elseif(lang等于等于RCC_LANGUAGE_CN)
fdprintf(fd,"chinese\n"),
}
这样,当用户配置为中文后,showrunning-config时会看到chinese配置,如果再执行write,保存配置到flash,则showstartup-config也会看到此条命令,从而重启动时系统从startup-config中读取信息,并设置当前语言为中文.
WEB中会为此增加一个关键字language,即<,selectname等于"language">,$%language#$<,/select>,,这句话表明关键字为language,当用户通过web设置了时会将
多媒体类论文例文,与快速发表文发表的含义,文发表的含义相关毕业论文格式参考文献资料: