我写过的软件之UniversalHst-DVBView

UniversalHst目前主要有三个View,DVBView主要用于手动测试或者系统测试,TestView完成终端的CT Automation,BSGView则负责根据DVT需要的码流。我做的版本最开始主要是DVBView和TestView。BSGView主要是shao ting完成的。

 

UniversalHst最开始其实是来自于LiteCellHst,因为我自己写了一个叫做LiteCell的智能卡CA Client。在softcell3上并没有做过很久的项目开发,但是对softcell3的代码基本上都研究了一遍,分析了一下softcell3的优缺点。我把softcell3定位为一个过度设计的产品。可能最开始的设计者的意图是好的,但是在实现或者衍化的过程中慢慢变形了,最后就变成一个比较复杂的重量级产品了。曾经想过在保持softcell3外部接口不变的情况下,把softcell3的内部全部重新实现一遍,但是发现softcell3的外部接口就绑定了不少VD、resource、module信息,我的想法基本上是不可行了。就干脆决定做一个全新的轻量级CA Client,故而取名LiteCell。LiteCell完成了基本的CA Client功能,能处理PMT、CAT、ECM和EMM。

 

公司开始做无卡CA,改了几次产品名称,最开始叫做GreatWallClient,后来改成UniversalClient,最后就变成了CloakedCAAgent(CCA)。UniversalClient是用C语言写的,我就把LiteCellHst改了改,改成了UniversalHst,把UniversalClient集成进去,再进一步把DirectShow集成进去,完成解扰并且解码,把基本功能都完善了。之所以叫做UniversalHst,是因为那时候想做一个比较通用而且强大的Hst,同时能配合UniversalClient一起工作。

 

UniversalHst最开始支持输入为本地TS文件,IP或者ASI(利用Dektec的驱动),可以Decode的同时可以把解扰后的结果输出到本地TS文件或者转发到IP,基本上可以当一个Media Gateway。

UniversalHst被我引入到工作中,同时把一个SDC做的类似的工具给废弃了。其实在决定这么做的时候,我大概分析了一下这么做的利弊,感觉利大于弊,但是争议还是非常大的。

UniversalHst用了一个叫做TSParser的模块,TS流的处理主要依赖于这个模块。因为以前写过TSExpert,对TS流的处理已经掌握得比较到位,就弄了这个TSParser模块来处理TS流,算是HST中比较核心的一个模块。

最开始在设计UniversalHst的时候就考虑代码重用以及多个TS流的支持,就用了MFC的多文档框架。第一个版本外观挺丑陋的,后来经过不少兄弟的持续改进,Steven把UI做得更漂亮,Weizhong加入MultiView的功能,现在的版本看上去挺酷的了,可以同时打开多个流,每个流中的视频也可以同时播放。

MultiView一直有一个遗留的问题:多次启动停止视频播放会导致Crash,Weizhong调查过几次,把问题定位为DirectShow的问题,没有解决一直在那里挂着。

年前ST的人提出这个问题对ST automation有影响,自动化测试跑了3、4个小时就会由于这个问题导致crash。我就自己研究了一下这个问题,换了一个思路,避免多次创建DirectShow中的相关组件,问题竟然被解决了...^_^


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了python应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值