Support unrar64.dll
[xy_vsfilter.git] / src / decss / DeCSSInputPin.h
blob99058dde4bfa526c10caaffa3368edd9206ff0da
1 /*
2 * Copyright (C) 2003-2006 Gabest
3 * http://www.gabest.org
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GNU Make; see the file COPYING. If not, write to
17 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18 * http://www.gnu.org/copyleft/gpl.html
22 #pragma once
24 class CDeCSSInputPin : public CTransformInputPin, public IKsPropertySet
26 int m_varient;
27 BYTE m_Challenge[10], m_KeyCheck[5], m_Key[10];
28 BYTE m_DiscKey[6], m_TitleKey[6];
30 protected:
31 // return S_FALSE here if you don't want the base class
32 // to call CTransformFilter::Receive with this sample
33 virtual HRESULT Transform(IMediaSample* pSample) {return S_OK;}
35 public:
36 CDeCSSInputPin(TCHAR* pObjectName, CTransformFilter* pFilter, HRESULT* phr, LPWSTR pName);
38 DECLARE_IUNKNOWN
39 STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
41 void StripPacket(BYTE*& p, long& len);
43 // IMemInputPin
44 STDMETHODIMP Receive(IMediaSample* pSample);
46 // IKsPropertySet
47 STDMETHODIMP Set(REFGUID PropSet, ULONG Id, LPVOID InstanceData, ULONG InstanceLength, LPVOID PropertyData, ULONG DataLength);
48 STDMETHODIMP Get(REFGUID PropSet, ULONG Id, LPVOID InstanceData, ULONG InstanceLength, LPVOID PropertyData, ULONG DataLength, ULONG* pBytesReturned);
49 STDMETHODIMP QuerySupported(REFGUID PropSet, ULONG Id, ULONG* pTypeSupport);