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

quartz_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 doxygen 1.7.6.1

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