⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m2t.h

📁 这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的参考价值.
💻 H
字号:
#ifndef _M2T_H#define _M2T_H#include "basic.h"#define	MAX_PROGRAMS	0xfffftypedef struct tagPATVal{	WORD	program_number;	WORD	program_map_PID;} PATVal;typedef void (*M2TCallback)(BYTE *pData, DWORD Length, WORD PID, BYTE Flags, QWORD TransportOffset, void *Context);typedef BOOL (*M2TPMTCallback)(WORD wPID, WORD wType, void *Context);typedef WORD (*M2TPATCallback)(WORD wPID, WORD wProgramNumber, void *Context);typedef void (*M2TPMSCallback)(WORD wPMSPID, WORD wPID, WORD wType, void *Context);#ifdef CARIBBEANclass M2TDemux: public RMdemuxBase#elseclass M2TDemux#endif // CARIBBEAN{	int	m_State;	int	m_SubState;		int	m_ProgramAssociationTableState;	int	m_ConditionalAccessTableState;	int	m_ProgramMapTableState;	int	m_NetworkInformationTableState;	int	m_TransportPacketCounter;	int	m_BytesLeftInTransportPacket;	int	m_SkipCount;	int	m_AdaptationFieldLength;	BYTE	m_TransportErrorIndicator;	BYTE	m_PayloadUnitStartIndicator;	BYTE	m_TransportPriority;	WORD	m_PID;	BYTE	m_TransportScramblingControl;	BYTE	m_AdaptionFieldControl;	BYTE	m_ContinuityCounter;	WORD	m_PMTPID;	// program map table pid	WORD	m_NITPID;	// network information table pid	BYTE	m_PAS_Pointer;	BYTE	m_PAS_TableId;	BYTE	m_PAS_SectionSyntaxIndicator;	WORD	m_PAS_SectionLength;	WORD	m_PAS_TransportStreamId;	BYTE	m_PAS_VersionNumber;	BYTE	m_PAS_CurrentNextIndicator;	BYTE	m_PAS_SectionNumber;	BYTE	m_PAS_LastSectionNumber;	BYTE	m_PAS_N;	// N in the Program association section	PATVal	m_PAT[MAX_PROGRAMS];	WORD	m_PAS_ProgramNumber;	WORD	m_PAS_PID;	WORD	m_networkPID;	int		m_PATPadding;	BYTE	m_PMS_Pointer;	BYTE	m_PMS_TableId;	WORD	m_PMS_SectionLength;	WORD	m_PMS_ProgramNumber;	BYTE	m_PMS_VersionNumber;	BYTE	m_PMS_CurrentNextIndicator;	BYTE	m_PMS_SectionNumber;	BYTE	m_PMS_LastSectionNumber;	WORD	m_PMS_PCRPID;	WORD	m_PMS_ProgramInfoLength;	WORD	m_BytesInNextBlock;	BYTE	m_PMS_StreamType;	WORD	m_PMS_ElementaryPID;	WORD	m_PMS_ESInfoLength;	int		m_PMTPadding;		QWORD   m_BytesProcessed;	QWORD   m_TransportOffset;#ifdef PARSE_ALL_PROGRAM_MAP_TABLES	WORD	m_ValidProgramMapPIDs[0xffff];	// same as the max. # of programs	int		m_nValidProgramMapPIDs;#endifpublic:	M2TDemux ();	~M2TDemux ();	WORD			m_VideoPID;	WORD			m_AudioPID;	M2TCallback		m_Callback;	M2TPMTCallback	m_PMTCallback;	M2TPATCallback	m_PATCallback;#ifdef PARSE_ALL_PROGRAM_MAP_TABLES	M2TPMSCallback	m_PMSCallback;#endif	void			*m_Context;	WORD			m_ProgramNumber;	BYTE			m_UserDefinedVideoStreamType;	BYTE			m_UserDefinedAudioStreamType;	void Reset (void);	void ResetState (void);	DWORD Demux (BYTE *pBuffer, DWORD dwBufferLength);	int TransportHeader (BYTE *pBuffer, DWORD dwBufferLength);	int AdaptationField (BYTE *pBuffer, DWORD dwBufferLength);	int TransportData (BYTE *pBuffer, DWORD dwBufferLength);	int Resync (BYTE *pBuffer, DWORD dwBufferLength);	int ProgramAssociationTable (BYTE *pBuffer, DWORD dwBufferLength);	int ConditionalAccessTable (BYTE *pBuffer, DWORD dwBufferLength);	int ProgramMapTable (BYTE *pBuffer, DWORD dwBufferLength);	int NetworkInformationTable (BYTE *pBuffer, DWORD dwBufferLength);	#ifdef PARSE_ALL_PROGRAM_MAP_TABLES	int IsProgramMapTablePID (WORD wPID);#endif};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -