00001 /* 00002 * Copyright (C) 2003-2005 Gabest 00003 * http://www.gabest.org 00004 * 00005 * This Program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2, or (at your option) 00008 * any later version. 00009 * 00010 * This Program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with GNU Make; see the file COPYING. If not, write to 00017 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 00018 * http://www.gnu.org/copyleft/gpl.html 00019 * 00020 */ 00021 00022 #pragma once 00023 00024 [uuid("7B3BD419-FE03-4820-BE94-A22A4F844895")] 00025 class CDeCSSFilter : public CTransformFilter 00026 { 00027 friend class CKsPSInputPin; 00028 00029 public: 00030 CDeCSSFilter(LPUNKNOWN lpunk, HRESULT* phr); 00031 virtual ~CDeCSSFilter(); 00032 00033 HRESULT Transform(IMediaSample* pIn, IMediaSample* pOut); 00034 HRESULT CheckInputType(const CMediaType* mtIn); 00035 HRESULT CheckTransform(const CMediaType* mtIn, const CMediaType* mtOut); 00036 HRESULT DecideBufferSize(IMemAllocator* pAllocator, ALLOCATOR_PROPERTIES* pProperties); 00037 HRESULT GetMediaType(int iPosition, CMediaType* pmt); 00038 }; 00039