我写过的软件之TSE-工作流程和实现

(把以前写的文档贴上来一些。要是博客支持直接把word文档上传成为博客岂不是很NB?哈哈...)

Parse the stream

For each stream file, a new form FormFileStreamParserwill be created to parse the stream and show the result. FormFileStreamParserwill have a WorkerFileRoutineParsing to do stream parsing. WorkerFileRoutineParsinghas such name because there may be a new class named WorkerDeviceRoutineParsing to support real time parsing while receiving stream from device.


SequenceDiagram-Parse Stream

FormFileStreamParser:

1.        The form will have a tree viewcontrol to show the SI/PSI sections, PID list and also the search result.

2.        The form will have a text editto show the hex string of the selected TS packet, section or PES packet.

3.        The form will have a text editto show the detail of selected item in the tree view control.

4.        The form will have a text editto show the some log info and warning messages.

5.        The form will start a thread toparse the stream by creating a WorkerFileRoutineParsing instance.

6.        The form will have a messagequeue so that WorkerFileRoutineParsing can push the message into the queue.

7.        The form will pick up themessage from the queue and process the message. The message will be picked upand processed in a timer event in order to improve the GUI performance.

8.        The form will own a DataParserinstance. The filtered data will be forwarded to DataParser to parse.

9.        The form will keep track ofuseful info like stream bitrate, TS packet size and PID list.



Parsing Result

Worker class to parse transport stream

WorkerFile is the worker class to parse alocal transport stream.

1.        The class will have a thread toread in the bitstream.

2.        The class is a base class.Several other classes will inherit from it to finish specific task.

The class will have several virtual methods, so that the inherited class canoverride them to finish the specific task.

WorkerFile Class


Child Class of WorkerFile

StreamParserCore

StreamParserCore is the key class to handlestream parsing.

1.        It owns a ManagerSection tomanage all the filtered sections.

2.        It owns a ManagerService tomanage the service list.

3.        It owns a ManagerPid to manageall PID related info.

4.        It owns a ManagerMuxBitrate tomanage all detected mux bitrate.

5.        Itowns a StreamDemux to act as a demux channel.

StreamParserCore Class


Inside StreamParserCore

Advanced Features


Advanced Features

Search

Stream Bitrate

PID Bitrate

Playout
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值