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 class CDeCSSInputPin : public CTransformInputPin, public IKsPropertySet
00025 {
00026 int m_varient;
00027 BYTE m_Challenge[10], m_KeyCheck[5], m_Key[10];
00028 BYTE m_DiscKey[6], m_TitleKey[6];
00029
00030 protected:
00031
00032
00033 virtual HRESULT Transform(IMediaSample* pSample) {return S_OK;}
00034
00035 public:
00036 CDeCSSInputPin(TCHAR* pObjectName, CTransformFilter* pFilter, HRESULT* phr, LPWSTR pName);
00037
00038 DECLARE_IUNKNOWN
00039 STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
00040
00041 void StripPacket(BYTE*& p, long& len);
00042
00043
00044 STDMETHODIMP Receive(IMediaSample* pSample);
00045
00046
00047 STDMETHODIMP Set(REFGUID PropSet, ULONG Id, LPVOID InstanceData, ULONG InstanceLength, LPVOID PropertyData, ULONG DataLength);
00048 STDMETHODIMP Get(REFGUID PropSet, ULONG Id, LPVOID InstanceData, ULONG InstanceLength, LPVOID PropertyData, ULONG DataLength, ULONG* pBytesReturned);
00049 STDMETHODIMP QuerySupported(REFGUID PropSet, ULONG Id, ULONG* pTypeSupport);
00050 };