00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include "..\BaseSplitter\BaseSplitter.h"
00025 #include "NutFile.h"
00026
00027
00028 DEFINE_GUID(MEDIASUBTYPE_Nut,
00029 0x5eb7173e, 0xaa71, 0x4a54, 0xbd, 0xd1, 0x1c, 0xa5, 0x7d, 0x20, 0x40, 0x5f);
00030
00031 [uuid("90514D6A-76B7-4405-88A8-B4B1EF6061C6")]
00032 class CNutSplitterFilter : public CBaseSplitterFilter
00033 {
00034 CAutoPtr<CNutFile> m_pFile;
00035
00036 protected:
00037 HRESULT CreateOutputs(IAsyncReader* pAsyncReader);
00038
00039 bool DemuxInit();
00040 void DemuxSeek(REFERENCE_TIME rt);
00041 bool DemuxLoop();
00042
00043 public:
00044 CNutSplitterFilter(LPUNKNOWN pUnk, HRESULT* phr);
00045
00046
00047 STDMETHODIMP GetDuration(LONGLONG* pDuration);
00048 };
00049
00050 [uuid("918B5A9F-DFED-4532-83A9-9B16D83ED73F")]
00051 class CNutSourceFilter : public CNutSplitterFilter
00052 {
00053 public:
00054 CNutSourceFilter(LPUNKNOWN pUnk, HRESULT* phr);
00055 };