我写过的软件之CmmbHst

来源:互联网 发布:淘宝店铺降权有通知吗 编辑:程序博客网 时间:2024/04/30 07:37

到公司这几年,给公司写了3个HST(Host Simulation Tool):CmmbHst、UniversalHst和LoaderHst。HST主要是用于模拟机顶盒或者手机设备,平时用于进行测试或者Demo。

CmmbHst是我做的第一个HST(其实还有更早一个叫做LiteCellHST,不过没有拿出来给大家用。为什么叫做LiteCell?做过SoftCell3的人应该能理解…^_^)。 

CmmbHst主要是想模拟手机设备接收、处理CMMB码流。对于CA厂商来说,最重要的就是要完成解复用和节目的解扰播放。做CMMB项目的时候还狠狠充一把电,阅读了很多的规范和RFC。那时候做项目跟打了鸡血似的,阅读RFC、标准规范的效率很高。最困难的不是在Windows做开发,而是在手机设备上调试Smartcard的驱动。同样都是Linux系统,在PC和ZTE手机上可以用的驱动在Aigo的PMP上老是跑飞,用GDB调试也找不到关键点,每次crash的点都是随机的,调试了2-3天竟然没有实际进展,挺让人郁闷的。好在有点韧劲,不断调整方向,最后终于发现问题不在于SD卡驱动,而是PCSC Lite导致的栈溢出:有个函数申请了几K的栈空间,程序就跑飞了,Call Stack也得不到正常的调用堆栈信息了。

后来就进一步想了想,PCSC Lite其实就是一个转换接口,在Linux上可以尝试把PCSC Lite掉,直接调用智能卡的驱动函数。貌似是一个不错而且可行的想法,好处是不用集成PCSC Lite。做了一下测试,貌似可以工作,但是在读写几百次之后就不稳定了,算了…继续用PCSC Lite吧… 

公司在CMMB项目上能领先(技术方面),一方面是得益于CmmbExpert,另外一方面就是CmmbHst。通过CmmbExpert,可以快速地掌握协议规范和码流,为进一步产品开发做基础。CmmbHst则可以有效地测试终端的产品,并打通端到端的测试环境。 

CmmbHst可以处理本地的CMMB码流,也可以从网络中接收IP数据,配合CmmbClient和智能卡驱动,完成码流的解扰。Decoder?那时候对codec掌握不多,时间也比较紧张,但是解扰成功与否当然得以能不能解码为标准了,就尝试把解扰的输出转给VLC来播放,土了点,不过也还是OK的,^_^。


0 0
原创粉丝点击