ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

transform.h
Go to the documentation of this file.
00001 /*
00002  * Transform Filter declarations
00003  *
00004  * Copyright 2005 Christian Costa
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #include "control_private.h"
00022 
00023 typedef struct TransformFilterImpl TransformFilterImpl;
00024 
00025 typedef struct TransformFuncsTable {
00026     HRESULT (*pfnProcessBegin) (TransformFilterImpl *This);
00027     HRESULT (*pfnProcessSampleData) (InputPin *pin, IMediaSample *pSample);
00028     HRESULT (*pfnProcessEnd) (TransformFilterImpl *This);
00029     HRESULT (*pfnQueryConnect) (TransformFilterImpl *This, const AM_MEDIA_TYPE * pmt);
00030     HRESULT (*pfnConnectInput) (InputPin *pin, const AM_MEDIA_TYPE * pmt);
00031     HRESULT (*pfnCleanup) (InputPin *pin);
00032 } TransformFuncsTable;
00033 
00034 struct TransformFilterImpl
00035 {
00036     const IBaseFilterVtbl * lpVtbl;
00037 
00038     LONG refCount;
00039     CRITICAL_SECTION csFilter;
00040     FILTER_STATE state;
00041     REFERENCE_TIME rtStreamStart;
00042     IReferenceClock * pClock;
00043     FILTER_INFO filterInfo;
00044     CLSID clsid;
00045     struct MediaSeekingImpl mediaSeeking;
00046 
00047     IPin **ppPins;
00048     ULONG npins;
00049     AM_MEDIA_TYPE pmt;
00050 
00051     const TransformFuncsTable * pFuncsTable;
00052 };
00053 
00054 HRESULT TransformFilter_Create(TransformFilterImpl*, const CLSID*, const TransformFuncsTable* pFuncsTable, CHANGEPROC stop, CHANGEPROC current, CHANGEPROC rate);

Generated on Sat May 26 2012 04:18:28 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.