diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2009-12-05 11:27:07 +0300 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2009-12-05 11:27:07 +0300 |
commit | 124f69849a8a917deea6543eeae21f6464d15a7f (patch) | |
tree | 6182d0571cf19fa0719244cf0eedf37963993478 /src/apps/mplayerc/Mpeg2SectionData.h | |
parent | 7ee261016254b880b83f50488392d07cf3739f17 (diff) |
Added : BDA capture card support (experimental)
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1383 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/apps/mplayerc/Mpeg2SectionData.h')
-rw-r--r-- | src/apps/mplayerc/Mpeg2SectionData.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/apps/mplayerc/Mpeg2SectionData.h b/src/apps/mplayerc/Mpeg2SectionData.h new file mode 100644 index 000000000..4eb9cfa2e --- /dev/null +++ b/src/apps/mplayerc/Mpeg2SectionData.h @@ -0,0 +1,46 @@ +#pragma once
+
+#include "DVBChannel.h"
+
+
+#pragma pack(1)
+typedef struct
+{
+ UINT8 TableID;
+ WORD SectionSyntaxIndicator : 1;
+ WORD Reserved1 : 3;
+ WORD SectionLength : 12;
+ WORD BouquetID;
+ UINT8 Reserved2 : 1;
+ UINT8 VersionNumber : 5;
+ UINT8 CurrentNextIndicator : 1;
+ UINT8 SectionNumber;
+ UINT8 LastSectionNumber;
+} SI_HEADER;
+
+
+
+class CMpeg2DataParser
+{
+public :
+
+ CMpeg2DataParser(IBaseFilter* pFilter);
+
+ HRESULT ParseSDT(ULONG ulFreq);
+ HRESULT ParsePAT();
+ HRESULT ParseNIT();
+
+ static CString ConvertString (BYTE* pBuffer, int nLength);
+
+ CAtlMap<int,CDVBChannel> Channels;
+
+private :
+
+ CComQIPtr<IMpeg2Data> m_pData;
+ MPEG2_FILTER m_Filter;
+
+
+ DVB_STREAM_TYPE ConvertToDVBType(PES_STREAM_TYPE nType);
+ HRESULT ParseSIHeader(CGolombBuffer& gb, DVB_SI SIType, WORD& wSectionLength, WORD& wTSID);
+ HRESULT ParsePMT(CDVBChannel& Channel);
+};
|