Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenquartz_private.h
Go to the documentation of this file.
00001 /* DirectShow private interfaces (QUARTZ.DLL) 00002 * 00003 * Copyright 2002 Lionel Ulmer 00004 * 00005 * This file contains the (internal) driver registration functions, 00006 * driver enumeration APIs and DirectDraw creation functions. 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00021 */ 00022 00023 #ifndef __QUARTZ_PRIVATE_INCLUDED__ 00024 #define __QUARTZ_PRIVATE_INCLUDED__ 00025 00026 #include <stdarg.h> 00027 00028 #define COBJMACROS 00029 00030 #include "windef.h" 00031 #include "winbase.h" 00032 #include "wtypes.h" 00033 #include "wingdi.h" 00034 #include "winuser.h" 00035 #include "dshow.h" 00036 #include "wine/list.h" 00037 00038 #define MEDIATIME_FROM_BYTES(x) ((LONGLONG)(x) * 10000000) 00039 #define SEC_FROM_MEDIATIME(time) ((time) / 10000000) 00040 #define BYTES_FROM_MEDIATIME(time) SEC_FROM_MEDIATIME(time) 00041 #define MSEC_FROM_MEDIATIME(time) ((time) / 10000) 00042 00043 #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field)) 00044 00045 HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj); 00046 HRESULT FilterGraphNoThread_create(IUnknown *pUnkOuter, LPVOID *ppObj); 00047 HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj); 00048 HRESULT FilterMapper_create(IUnknown *pUnkOuter, LPVOID *ppObj); 00049 HRESULT AsyncReader_create(IUnknown * pUnkOuter, LPVOID * ppv); 00050 HRESULT StdMemAllocator_create(IUnknown * pUnkOuter, LPVOID * ppv); 00051 HRESULT AVISplitter_create(IUnknown * pUnkOuter, LPVOID * ppv); 00052 HRESULT MPEGSplitter_create(IUnknown * pUnkOuter, LPVOID * ppv); 00053 HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv); 00054 HRESULT DSoundRender_create(IUnknown * pUnkOuter, LPVOID * ppv); 00055 HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv); 00056 HRESULT NullRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv); 00057 HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv); 00058 HRESULT QUARTZ_CreateSystemClock(IUnknown * pUnkOuter, LPVOID * ppv); 00059 HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv); 00060 HRESULT WAVEParser_create(IUnknown * pUnkOuter, LPVOID * ppv); 00061 HRESULT SeekingPassThru_create(IUnknown *pUnkOuter, LPVOID *ppObj); 00062 00063 HRESULT EnumMonikerImpl_Create(IMoniker ** ppMoniker, ULONG nMonikerCount, IEnumMoniker ** ppEnum); 00064 00065 typedef struct tagENUMEDIADETAILS 00066 { 00067 ULONG cMediaTypes; 00068 AM_MEDIA_TYPE * pMediaTypes; 00069 } ENUMMEDIADETAILS; 00070 00071 typedef HRESULT (* FNOBTAINPIN)(IBaseFilter *iface, ULONG pos, IPin **pin, DWORD *lastsynctick); 00072 00073 HRESULT IEnumPinsImpl_Construct(IEnumPins ** ppEnum, FNOBTAINPIN receive_pin, IBaseFilter *base); 00074 HRESULT IEnumMediaTypesImpl_Construct(const ENUMMEDIADETAILS * pDetails, IEnumMediaTypes ** ppEnum); 00075 HRESULT IEnumRegFiltersImpl_Construct(REGFILTER * pInRegFilters, const ULONG size, IEnumRegFilters ** ppEnum); 00076 HRESULT IEnumFiltersImpl_Construct(IBaseFilter ** ppFilters, ULONG nFilters, IEnumFilters ** ppEnum); 00077 00078 extern const char * qzdebugstr_guid(const GUID * id); 00079 00080 HRESULT CopyMediaType(AM_MEDIA_TYPE * pDest, const AM_MEDIA_TYPE *pSrc); 00081 void FreeMediaType(AM_MEDIA_TYPE * pmt); 00082 void DeleteMediaType(AM_MEDIA_TYPE * pmt); 00083 BOOL CompareMediaTypes(const AM_MEDIA_TYPE * pmt1, const AM_MEDIA_TYPE * pmt2, BOOL bWildcards); 00084 void dump_AM_MEDIA_TYPE(const AM_MEDIA_TYPE * pmt); 00085 HRESULT updatehres( HRESULT original, HRESULT new ); 00086 00087 typedef struct StdMediaSample2 00088 { 00089 const IMediaSample2Vtbl * lpvtbl; 00090 00091 LONG ref; 00092 AM_SAMPLE2_PROPERTIES props; 00093 IMemAllocator * pParent; 00094 struct list listentry; 00095 LONGLONG tMediaStart; 00096 LONGLONG tMediaEnd; 00097 } StdMediaSample2; 00098 00099 #endif /* __QUARTZ_PRIVATE_INCLUDED__ */ Generated on Sun May 27 2012 04:21:59 for ReactOS by
1.7.6.1
|