📄 dvbepg.h
字号:
// Epg.h: interface for the Epg class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __DVB_EPG_H__
#define __DVB_EPG_H__
#include"Prtypes.h"
#include"PrMem.h"
#include"PrDbg.h"
#include"PrThread.h"
#include"PrMsgQ.h"
#include"PrSync.h"
#include"PrDmx.h"
#include"dvbdata.h"
#include"SITable.h"
#include"FavGroup.h"
#include"booking.h"
#define WM_REQUESTSI 0x3150
#define WM_SCHEDULE 0x3151
/*
HIWORD(wParam)=NIT,PAT,PMT,SDT
LOWORD(wParam)=
*/
//wParam=SERVICELOCATOR* lParam=TableID(0x4E,9x4F for SchedulePF 0x50 for Schedule)
#define SIACTURE 1
#define SIOTHER 2
#define REQUEST_EITPF 0x01
#define REQUEST_EITSCH 0x02
#define REQUEST_NOSKIP 0x04//指定EPGTASK不能因为请求太多而跳过该请求
PR_BEGIN_EXTERN_C
/*
目前存在的BUG,由于在接受EPG数据的时候,可能会切换频率,这样一来GetSDT等有可能进入
接收数据的死循环,从而导致无法接收后面的EPG请求。
*/
typedef int (*DVBENUMPROC)(void*dvbdata,void*userdata);
INT EpgInit(int memsize);
INT EpgReset(void);
INT EpgTerm(void);
INT DVBInit(void);
INT DVBerm(void);
INT CreateTSDataByNIT(void);
INT PlayBackInit(INT count);//初始化回放栈
INT PlayBackPush(SERVICELOCATOR*service);//
INT PlayBackPop(SERVICELOCATOR*service);
INT GetCurrentService(SERVICELOCATOR*svr);
INT PlayByService(const SERVICELOCATOR*svr);
//PRBool GetDVBSysTime(SYSTIME*tnow);
PRBool SetTunerByService(const SERVICELOCATOR*svr);
SECTIONDB*GetEITPFDB(void);
SECTIONDB*LockScheduleDB(const SERVICELOCATOR*svr);
void UnlockScheduleDB(const SERVICELOCATOR*svr);
INT EnumStreams(int netid,DVBENUMPROC enumProc);
INT EnumServices(int netid,int streamid,DVBENUMPROC enumProc);
INT EnumEvents(SERVICELOCATOR*slpc,void*userdata,DVBENUMPROC enumProc);
PRStatus LockDVBSI(void);
PRStatus UnlockDVBSI(void);
INT SearchSingleTS(void);
INT SearchNetwork(void);
INT RequestEPG(const SERVICELOCATOR*service,SHORT type);
void RegisterEPGNotify(void*hwnd);
PR_END_EXTERN_C
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -