任务三
解析PAT表,并且获取码流里面跟节目相关的PID
相关知识
我们首先来查看下PAT表的结构,如下图所示
在这个结构里面,我们需要关注的是program_number以及program_map_PID。
我们获取到PAT的表之后,对其中的section进行解析,把我们需要的信息取出来,然后存入数据结构,这个任务就算完成了。
解析过程
1 流程图
2 数据结构定义
typedef struct pat_info
{
unsigned int program_number :16;
unsigned int reserved :3;
unsigned int program_number_pid :13;
struct pat_info *next;
}PAT_INFO;
3 代码
static PAT_INFO *insert_pat_info_to_link(PAT_INFO *pat_info_link_head, PAT_INFO additive_node)
{
PAT_INFO *new_pat_info_node = NULL;
new_pat_info_node = (PAT_INFO*)malloc(sizeof(PAT_INFO