Commit 4887da52 authored by Hidenori Takeshima's avatar Hidenori Takeshima Committed by Alexandre Julliard

Removed some code because of concerns over the Microsoft DirectX SDK

license agreement.
parent bcb9c46c
/*
* Implements dmoreg APIs.
*
* Copyright (C) Hidenori TAKESHIMA <hidenori@a2.ctktv.ne.jp>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* FIXME - stub.
*/
#include "config.h"
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
#include "winerror.h"
#include "wine/obj_base.h"
#include "mediaobj.h"
#include "dmoreg.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(msdmo);
/*
NOTE: You may build this dll as a native dll and
use with native non-DirectX8 environment(NT 4.0 etc).
*/
static const WCHAR wszDMOPath[] =
{'D','i','r','e','c','t','S','h','o','w','\\',
'M','e','d','i','a','O','b','j','e','c','t','s',0};
static const WCHAR wszDMOCatPath[] =
{'D','i','r','e','c','t','S','h','o','w','\\',
'M','e','d','i','a','O','b','j','e','c','t','s','\\',
'C','a','t','e','g','o','r','i','e','s',0};
static const WCHAR wszInputTypes[] =
{'I','n','p','u','t','T','y','p','e','s',0};
static const WCHAR wszOutputTypes[] =
{'O','u','t','p','u','t','T','y','p','e','s',0};
static const WCHAR QUARTZ_wszREG_SZ[] = {'R','E','G','_','S','Z',0};
/*************************************************************************/
static void QUARTZ_CatPathSepW( WCHAR* pBuf )
{
int len = lstrlenW(pBuf);
pBuf[len] = '\\';
pBuf[len+1] = 0;
}
static void QUARTZ_GUIDtoString( WCHAR* pBuf, const GUID* pguid )
{
/* W"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}" */
static const WCHAR wszFmt[] =
{'{','%','0','8','X','-','%','0','4','X','-','%','0','4','X',
'-','%','0','2','X','%','0','2','X','-','%','0','2','X','%',
'0','2','X','%','0','2','X','%','0','2','X','%','0','2','X',
'%','0','2','X','}',0};
wsprintfW( pBuf, wszFmt,
pguid->Data1, pguid->Data2, pguid->Data3,
pguid->Data4[0], pguid->Data4[1],
pguid->Data4[2], pguid->Data4[3],
pguid->Data4[4], pguid->Data4[5],
pguid->Data4[6], pguid->Data4[7] );
}
static
LONG QUARTZ_RegOpenKeyW(
HKEY hkRoot, LPCWSTR lpszPath,
REGSAM rsAccess, HKEY* phKey,
BOOL fCreateKey )
{
DWORD dwDisp;
WCHAR wszREG_SZ[ sizeof(QUARTZ_wszREG_SZ)/sizeof(QUARTZ_wszREG_SZ[0]) ];
memcpy(wszREG_SZ,QUARTZ_wszREG_SZ,sizeof(QUARTZ_wszREG_SZ) );
if ( fCreateKey )
return RegCreateKeyExW(
hkRoot, lpszPath, 0, wszREG_SZ,
REG_OPTION_NON_VOLATILE, rsAccess, NULL, phKey, &dwDisp );
else
return RegOpenKeyExW(
hkRoot, lpszPath, 0, rsAccess, phKey );
}
static
LONG QUARTZ_RegSetValueString(
HKEY hKey, LPCWSTR lpszName, LPCWSTR lpValue )
{
return RegSetValueExW(
hKey, lpszName, 0, REG_SZ,
(const BYTE*)lpValue,
sizeof(lpValue[0]) * (lstrlenW(lpValue)+1) );
}
static
LONG QUARTZ_RegSetValueBinary(
HKEY hKey, LPCWSTR lpszName,
const BYTE* pData, int iLenOfData )
{
return RegSetValueExW(
hKey, lpszName, 0, REG_BINARY, pData, iLenOfData );
}
/*************************************************************************/
HRESULT WINAPI DMOEnum( REFGUID rguidCat, DWORD dwFlags, DWORD dwCountOfInTypes, const DMO_PARTIAL_MEDIATYPE* pInTypes, DWORD dwCountOfOutTypes, const DMO_PARTIAL_MEDIATYPE* pOutTypes, IEnumDMO** ppEnum )
{
FIXME( "stub!\n" );
return E_NOTIMPL;
}
HRESULT WINAPI DMOGetName( REFCLSID rclsid, WCHAR* pwszName )
{
FIXME( "stub!\n" );
return E_NOTIMPL;
}
HRESULT WINAPI DMOGetTypes( REFCLSID rclsid, unsigned long ulInputTypesReq, unsigned long* pulInputTypesRet, unsigned long ulOutputTypesReq, unsigned long* pulOutputTypesRet, const DMO_PARTIAL_MEDIATYPE* pOutTypes )
{
FIXME( "stub!\n" );
return E_NOTIMPL;
}
HRESULT WINAPI DMOGuidToStrA( void* pv1, void* pv2 )
{
FIXME( "(%p,%p) stub!\n", pv1, pv2 );
return E_NOTIMPL;
}
HRESULT WINAPI DMOGuidToStrW( void* pv1, void* pv2 )
{
FIXME( "(%p,%p) stub!\n", pv1, pv2 );
return E_NOTIMPL;
}
HRESULT WINAPI DMORegister( LPCWSTR pwszName, REFCLSID rclsid, REFGUID rguidCat, DWORD dwFlags, DWORD dwCountOfInTypes, const DMO_PARTIAL_MEDIATYPE* pInTypes, DWORD dwCountOfOutTypes, const DMO_PARTIAL_MEDIATYPE* pOutTypes )
{
HRESULT hr;
HKEY hKey;
WCHAR wszPath[1024];
FIXME( "() not tested!\n" );
hr = S_OK;
memcpy(wszPath,wszDMOPath,sizeof(wszDMOPath));
QUARTZ_CatPathSepW(wszPath);
QUARTZ_GUIDtoString(&wszPath[lstrlenW(wszPath)],rclsid);
if ( QUARTZ_RegOpenKeyW( HKEY_CLASSES_ROOT,
wszPath, KEY_ALL_ACCESS, &hKey, TRUE ) != ERROR_SUCCESS )
return E_FAIL;
if ( pwszName != NULL && QUARTZ_RegSetValueString(
hKey, NULL, pwszName ) != ERROR_SUCCESS )
hr = E_FAIL;
if ( dwCountOfInTypes > 0 && QUARTZ_RegSetValueBinary(
hKey, wszInputTypes, (const BYTE*)pInTypes,
dwCountOfInTypes * sizeof(DMO_PARTIAL_MEDIATYPE) ) != ERROR_SUCCESS )
hr = E_FAIL;
if ( dwCountOfOutTypes > 0 && QUARTZ_RegSetValueBinary(
hKey, wszOutputTypes, (const BYTE*)pOutTypes,
dwCountOfOutTypes * sizeof(DMO_PARTIAL_MEDIATYPE) ) != ERROR_SUCCESS )
hr = E_FAIL;
RegCloseKey( hKey );
if ( FAILED(hr) )
return hr;
memcpy(wszPath,wszDMOCatPath,sizeof(wszDMOCatPath));
QUARTZ_CatPathSepW(wszPath);
QUARTZ_GUIDtoString(&wszPath[lstrlenW(wszPath)],rguidCat);
QUARTZ_CatPathSepW(wszPath);
QUARTZ_GUIDtoString(&wszPath[lstrlenW(wszPath)],rclsid);
if ( QUARTZ_RegOpenKeyW( HKEY_CLASSES_ROOT,
wszPath, KEY_ALL_ACCESS, &hKey, TRUE ) != ERROR_SUCCESS )
return E_FAIL;
RegCloseKey( hKey );
if ( FAILED(hr) )
return hr;
return S_OK;
}
HRESULT WINAPI DMOStrToGuidA( void* pv1, void* pv2 )
{
FIXME( "(%p,%p) stub!\n", pv1, pv2 );
return E_NOTIMPL;
}
HRESULT WINAPI DMOStrToGuidW( void* pv1, void* pv2 )
{
FIXME( "(%p,%p) stub!\n", pv1, pv2 );
return E_NOTIMPL;
}
HRESULT WINAPI DMOUnregister( REFCLSID rclsid, REFGUID rguidCat )
{
FIXME( "stub!\n" );
return E_NOTIMPL;
}
/* Code removed because of Microsoft EULA concerns. */
/*
* Implements dmort APIs.
*
* Copyright (C) Hidenori TAKESHIMA <hidenori@a2.ctktv.ne.jp>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "wine/obj_base.h"
#include "mediaobj.h"
#include "dmort.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(msdmo);
HRESULT WINAPI MoCopyMediaType( DMO_MEDIA_TYPE* pmtDst, const DMO_MEDIA_TYPE* pmtSrc )
{
FIXME( "() not tested\n" );
memcpy( &pmtDst->majortype, &pmtSrc->majortype, sizeof(GUID) );
memcpy( &pmtDst->subtype, &pmtSrc->subtype, sizeof(GUID) );
pmtDst->bFixedSizeSamples = pmtSrc->bFixedSizeSamples;
pmtDst->bTemporalCompression = pmtSrc->bTemporalCompression;
pmtDst->lSampleSize = pmtSrc->lSampleSize;
memcpy( &pmtDst->formattype, &pmtSrc->formattype, sizeof(GUID) );
pmtDst->pUnk = NULL;
pmtDst->cbFormat = pmtSrc->cbFormat;
pmtDst->pbFormat = NULL;
if ( pmtSrc->pbFormat != NULL && pmtSrc->cbFormat != 0 )
{
pmtDst->pbFormat = (BYTE*)CoTaskMemAlloc( pmtSrc->cbFormat );
if ( pmtDst->pbFormat == NULL )
{
return E_OUTOFMEMORY;
}
memcpy( pmtDst->pbFormat, pmtSrc->pbFormat, pmtSrc->cbFormat );
}
if ( pmtSrc->pUnk != NULL )
{
pmtDst->pUnk = pmtSrc->pUnk;
IUnknown_AddRef( pmtSrc->pUnk );
}
return S_OK;
}
HRESULT WINAPI MoCreateMediaType( DMO_MEDIA_TYPE** ppmt, DWORD cbFormat )
{
HRESULT hr;
DMO_MEDIA_TYPE* pmt;
FIXME( "() not tested\n" );
if ( ppmt == NULL )
return E_POINTER;
*ppmt = NULL;
pmt = (DMO_MEDIA_TYPE*)CoTaskMemAlloc( sizeof(DMO_MEDIA_TYPE) );
if ( pmt == NULL )
return E_OUTOFMEMORY;
hr = MoInitMediaType( pmt, cbFormat );
if ( FAILED(hr) )
return hr;
*ppmt = pmt;
return S_OK;
}
HRESULT WINAPI MoDeleteMediaType( DMO_MEDIA_TYPE* pmt )
{
FIXME( "() not tested\n" );
MoFreeMediaType( pmt );
CoTaskMemFree( pmt );
return S_OK;
}
HRESULT WINAPI MoDuplicateMediaType( DMO_MEDIA_TYPE** ppmtDest, const DMO_MEDIA_TYPE* pmtSrc )
{
HRESULT hr;
DMO_MEDIA_TYPE* pmtDup;
FIXME( "() not tested\n" );
if ( ppmtDest == NULL )
return E_POINTER;
*ppmtDest = NULL;
pmtDup = (DMO_MEDIA_TYPE*)CoTaskMemAlloc( sizeof(DMO_MEDIA_TYPE) );
if ( pmtDup == NULL )
return E_OUTOFMEMORY;
hr = MoCopyMediaType( pmtDup, pmtSrc );
if ( FAILED(hr) )
return hr;
*ppmtDest = pmtDup;
return S_OK;
}
HRESULT WINAPI MoFreeMediaType( DMO_MEDIA_TYPE* pmt )
{
FIXME( "() not tested\n" );
if ( pmt->pUnk != NULL )
{
IUnknown_Release( pmt->pUnk );
pmt->pUnk = NULL;
}
if ( pmt->pbFormat != NULL )
{
CoTaskMemFree( pmt->pbFormat );
pmt->cbFormat = 0;
pmt->pbFormat = NULL;
}
return S_OK;
}
HRESULT WINAPI MoInitMediaType( DMO_MEDIA_TYPE* pmt, DWORD cbFormat )
{
FIXME( "() not tested\n" );
memset( pmt, 0, sizeof(DMO_MEDIA_TYPE) );
pmt->pUnk = NULL;
if ( cbFormat > 0 )
{
pmt->pbFormat = (BYTE*)CoTaskMemAlloc( cbFormat );
if ( pmt->pbFormat == NULL )
return E_OUTOFMEMORY;
memset( pmt->pbFormat, 0, cbFormat );
}
pmt->cbFormat = cbFormat;
return S_OK;
}
/* Code removed because of Microsoft EULA concerns. */
name msdmo
type win32
import ole32.dll
import user32.dll
import advapi32.dll
import kernel32.dll
import ntdll.dll
debug_channels (msdmo)
debug_channels ()
@ stub DMOEnum
@ stub DMOGetName
......
......@@ -14,7 +14,6 @@ TODO
- handle plug-in distributor
- handle seeking
- implement some interfaces as plug-ins(???)
- implement ICM drivers (yuv converter)
- implement ACM drivers (g711)
- implement ACM wrapper (improve xform)
- implement mciqtz(mci driver for quartz)
......
......@@ -81,9 +81,9 @@ ICaptureGraphBuilder_fnSetFiltergraph(ICaptureGraphBuilder* iface,IGraphBuilder*
{
CCaptureGraph_THIS(iface,capgraph1);
TRACE("(%p)->()\n",This);
FIXME("(%p)->()\n",This);
return ICaptureGraphBuilder2_SetFiltergraph(CCaptureGraph_ICaptureGraphBuilder2(This),pgb);
return E_NOTIMPL;
}
static HRESULT WINAPI
......@@ -91,9 +91,9 @@ ICaptureGraphBuilder_fnGetFiltergraph(ICaptureGraphBuilder* iface,IGraphBuilder*
{
CCaptureGraph_THIS(iface,capgraph1);
TRACE("(%p)->()\n",This);
FIXME("(%p)->()\n",This);
return ICaptureGraphBuilder2_GetFiltergraph(CCaptureGraph_ICaptureGraphBuilder2(This),ppgb);
return E_NOTIMPL;
}
static HRESULT WINAPI
......@@ -141,9 +141,9 @@ ICaptureGraphBuilder_fnAllocCapFile(ICaptureGraphBuilder* iface,LPCOLESTR pName,
{
CCaptureGraph_THIS(iface,capgraph1);
TRACE("(%p)->()\n",This);
FIXME("(%p)->()\n",This);
return ICaptureGraphBuilder2_AllocCapFile(CCaptureGraph_ICaptureGraphBuilder2(This),pName,llSize);
return E_NOTIMPL;
}
static HRESULT WINAPI
......@@ -151,9 +151,9 @@ ICaptureGraphBuilder_fnCopyCaptureFile(ICaptureGraphBuilder* iface,LPOLESTR pOrg
{
CCaptureGraph_THIS(iface,capgraph1);
TRACE("(%p)->()\n",This);
FIXME("(%p)->()\n",This);
return ICaptureGraphBuilder2_CopyCaptureFile(CCaptureGraph_ICaptureGraphBuilder2(This),pOrgName,pNewName,fAllowEscAbort,pCallback);
return E_NOTIMPL;
}
static ICOM_VTABLE(ICaptureGraphBuilder) icapgraph1 =
......@@ -191,166 +191,6 @@ static void CCaptureGraph_UninitICaptureGraphBuilder( CCaptureGraph* This )
/***************************************************************************
*
* CCaptureGraph::ICaptureGraphBuilder2
*
*/
static HRESULT WINAPI
ICaptureGraphBuilder2_fnQueryInterface(ICaptureGraphBuilder2* iface,REFIID riid,void** ppobj)
{
CCaptureGraph_THIS(iface,capgraph2);
TRACE("(%p)->()\n",This);
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
}
static ULONG WINAPI
ICaptureGraphBuilder2_fnAddRef(ICaptureGraphBuilder2* iface)
{
CCaptureGraph_THIS(iface,capgraph2);
TRACE("(%p)->()\n",This);
return IUnknown_AddRef(This->unk.punkControl);
}
static ULONG WINAPI
ICaptureGraphBuilder2_fnRelease(ICaptureGraphBuilder2* iface)
{
CCaptureGraph_THIS(iface,capgraph2);
TRACE("(%p)->()\n",This);
return IUnknown_Release(This->unk.punkControl);
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnSetFiltergraph(ICaptureGraphBuilder2* iface,IGraphBuilder* pgb)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnGetFiltergraph(ICaptureGraphBuilder2* iface,IGraphBuilder** ppgb)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnSetOutputFileName(ICaptureGraphBuilder2* iface,const GUID* pguid,LPCOLESTR pName,IBaseFilter** ppFilter,IFileSinkFilter** ppSink)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnFindInterface(ICaptureGraphBuilder2* iface,const GUID* pguidCat,const GUID* pguidType,IBaseFilter* pFilter,REFIID riid,void** ppvobj)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnRenderStream(ICaptureGraphBuilder2* iface,const GUID* pguidCat,const GUID* pguidType,IUnknown* pSource,IBaseFilter* pCompressor,IBaseFilter* pRenderer)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnControlStream(ICaptureGraphBuilder2* iface,const GUID* pguidCat,const GUID* pguidType,IBaseFilter* pFilter,REFERENCE_TIME* prtStart,REFERENCE_TIME* prtStop,WORD wStartCookie,WORD wStopCookie)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnAllocCapFile(ICaptureGraphBuilder2* iface,LPCOLESTR pName,DWORDLONG llSize)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnCopyCaptureFile(ICaptureGraphBuilder2* iface,LPOLESTR pOrgName,LPOLESTR pNewName,int fAllowEscAbort,IAMCopyCaptureFileProgress* pCallback)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
ICaptureGraphBuilder2_fnFindPin(ICaptureGraphBuilder2* iface,IUnknown* pSource,PIN_DIRECTION pindir,const GUID* pguidCat,const GUID* pguidType,BOOL bUnconnected,int num,IPin** ppPin)
{
CCaptureGraph_THIS(iface,capgraph2);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static ICOM_VTABLE(ICaptureGraphBuilder2) icapgraph2 =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown fields */
ICaptureGraphBuilder2_fnQueryInterface,
ICaptureGraphBuilder2_fnAddRef,
ICaptureGraphBuilder2_fnRelease,
/* ICaptureGraphBuilder2 fields */
ICaptureGraphBuilder2_fnSetFiltergraph,
ICaptureGraphBuilder2_fnGetFiltergraph,
ICaptureGraphBuilder2_fnSetOutputFileName,
ICaptureGraphBuilder2_fnFindInterface,
ICaptureGraphBuilder2_fnRenderStream,
ICaptureGraphBuilder2_fnControlStream,
ICaptureGraphBuilder2_fnAllocCapFile,
ICaptureGraphBuilder2_fnCopyCaptureFile,
ICaptureGraphBuilder2_fnFindPin,
};
static HRESULT CCaptureGraph_InitICaptureGraphBuilder2( CCaptureGraph* This )
{
TRACE("(%p)\n",This);
ICOM_VTBL(&This->capgraph2) = &icapgraph2;
return NOERROR;
}
static void CCaptureGraph_UninitICaptureGraphBuilder2( CCaptureGraph* This )
{
TRACE("(%p)\n",This);
}
/***************************************************************************
*
* new/delete for CCaptureGraph
*
*/
......@@ -359,7 +199,6 @@ static void CCaptureGraph_UninitICaptureGraphBuilder2( CCaptureGraph* This )
static QUARTZ_IFEntry IFEntries[] =
{
{ &IID_ICaptureGraphBuilder, offsetof(CCaptureGraph,capgraph1)-offsetof(CCaptureGraph,unk) },
{ &IID_ICaptureGraphBuilder2, offsetof(CCaptureGraph,capgraph2)-offsetof(CCaptureGraph,unk) },
};
static void QUARTZ_DestroyCaptureGraph(IUnknown* punk)
......@@ -369,7 +208,6 @@ static void QUARTZ_DestroyCaptureGraph(IUnknown* punk)
TRACE( "(%p)\n", This );
CCaptureGraph_UninitICaptureGraphBuilder(This);
CCaptureGraph_UninitICaptureGraphBuilder2(This);
}
HRESULT QUARTZ_CreateCaptureGraph(IUnknown* punkOuter,void** ppobj)
......@@ -387,14 +225,6 @@ HRESULT QUARTZ_CreateCaptureGraph(IUnknown* punkOuter,void** ppobj)
pcg->m_pfg = NULL;
hr = CCaptureGraph_InitICaptureGraphBuilder(pcg);
if ( SUCCEEDED(hr) )
{
hr = CCaptureGraph_InitICaptureGraphBuilder2(pcg);
if ( FAILED(hr) )
{
CCaptureGraph_UninitICaptureGraphBuilder(pcg);
}
}
if ( FAILED(hr) )
{
......
......@@ -28,26 +28,18 @@ typedef struct CapGraph_ICaptureGraphBuilderImpl
ICOM_VFIELD(ICaptureGraphBuilder);
} CapGraph_ICaptureGraphBuilderImpl;
typedef struct CapGraph_ICaptureGraphBuilder2Impl
{
ICOM_VFIELD(ICaptureGraphBuilder2);
} CapGraph_ICaptureGraphBuilder2Impl;
typedef struct CCaptureGraph
{
QUARTZ_IUnkImpl unk;
CapGraph_ICaptureGraphBuilderImpl capgraph1;
CapGraph_ICaptureGraphBuilder2Impl capgraph2;
/* ICaptureGraphBuilder fields. */
/* ICaptureGraphBuilder2 fields. */
IGraphBuilder* m_pfg;
} CCaptureGraph;
#define CCaptureGraph_THIS(iface,member) CCaptureGraph* This = ((CCaptureGraph*)(((char*)iface)-offsetof(CCaptureGraph,member)))
#define CCaptureGraph_ICaptureGraphBuilder(th) ((ICaptureGraphBuilder*)&((th)->capgraph1))
#define CCaptureGraph_ICaptureGraphBuilder2(th) ((ICaptureGraphBuilder2*)&((th)->capgraph2))
HRESULT QUARTZ_CreateCaptureGraph(IUnknown* punkOuter,void** ppobj);
......
......@@ -77,8 +77,6 @@ static HRESULT FGEVENT_KeepEvent(
/*case EC_SHUTTING_DOWN:*/
case EC_CLOCK_CHANGED:
break;
case EC_PAUSED:
break;
case EC_OPENING_FILE:
break;
......@@ -109,31 +107,6 @@ static HRESULT FGEVENT_KeepEvent(
/*case EC_SEGMENT_STARTED:*/
case EC_LENGTH_CHANGED:
break;
case EC_DEVICE_LOST:
if ( bKeep )
{
if ( ((IUnknown*)lParam1) != NULL )
IUnknown_AddRef( (IUnknown*)lParam1 );
}
else
{
if ( ((IUnknown*)lParam1) != NULL )
IUnknown_Release( (IUnknown*)lParam1 );
}
break;
case EC_STEP_COMPLETE:
break;
case EC_SKIP_FRAMES:
break;
/*case EC_TIMECODE_AVAILABLE:*/
/*case EC_EXTDEVICE_MODE_CHANGE:*/
case EC_GRAPH_CHANGED:
break;
case EC_CLOCK_UNSET:
break;
default:
if ( lEventCode < EC_USER )
......
......@@ -50,7 +50,6 @@ static QUARTZ_IFEntry IFEntries[] =
{ &IID_IGraphBuilder, offsetof(CFilterGraph,fgraph)-offsetof(CFilterGraph,unk) },
{ &IID_IFilterGraph2, offsetof(CFilterGraph,fgraph)-offsetof(CFilterGraph,unk) },
{ &IID_IGraphVersion, offsetof(CFilterGraph,graphversion)-offsetof(CFilterGraph,unk) },
{ &IID_IGraphConfig, offsetof(CFilterGraph,grphconf)-offsetof(CFilterGraph,unk) },
{ &IID_IMediaControl, offsetof(CFilterGraph,mediacontrol)-offsetof(CFilterGraph,unk) },
{ &IID_IMediaFilter, offsetof(CFilterGraph,mediafilter)-offsetof(CFilterGraph,unk) },
{ &IID_IMediaEvent, offsetof(CFilterGraph,mediaevent)-offsetof(CFilterGraph,unk) },
......@@ -59,10 +58,8 @@ static QUARTZ_IFEntry IFEntries[] =
{ &IID_IMediaPosition, offsetof(CFilterGraph,mediaposition)-offsetof(CFilterGraph,unk) },
{ &IID_IMediaSeeking, offsetof(CFilterGraph,mediaseeking)-offsetof(CFilterGraph,unk) },
{ &IID_IBasicVideo, offsetof(CFilterGraph,basvid)-offsetof(CFilterGraph,unk) },
{ &IID_IBasicVideo2, offsetof(CFilterGraph,basvid)-offsetof(CFilterGraph,unk) },
{ &IID_IBasicAudio, offsetof(CFilterGraph,basaud)-offsetof(CFilterGraph,unk) },
{ &IID_IVideoWindow, offsetof(CFilterGraph,vidwin)-offsetof(CFilterGraph,unk) },
{ &IID_IAMStats, offsetof(CFilterGraph,amstats)-offsetof(CFilterGraph,unk) },
};
......@@ -80,17 +77,15 @@ static const struct FGInitEntry FGRAPH_Init[] =
FGENT(IDispatch)
FGENT(IFilterGraph2)
FGENT(IGraphVersion)
FGENT(IGraphConfig)
FGENT(IMediaControl)
FGENT(IMediaFilter)
FGENT(IMediaEventEx)
FGENT(IMediaEventSink)
FGENT(IMediaPosition)
FGENT(IMediaSeeking)
FGENT(IBasicVideo2)
FGENT(IBasicVideo)
FGENT(IBasicAudio)
FGENT(IVideoWindow)
FGENT(IAMStats)
#undef FGENT
{ NULL, NULL },
......@@ -342,175 +337,5 @@ void CFilterGraph_UninitIDispatch( CFilterGraph* pfg )
TRACE("(%p)\n",pfg);
}
/***************************************************************************
*
* CFilterGraph::IAMStats
*
*/
static HRESULT WINAPI
IAMStats_fnQueryInterface(IAMStats* iface,REFIID riid,void** ppobj)
{
CFilterGraph_THIS(iface,amstats);
TRACE("(%p)->()\n",This);
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
}
static ULONG WINAPI
IAMStats_fnAddRef(IAMStats* iface)
{
CFilterGraph_THIS(iface,amstats);
TRACE("(%p)->()\n",This);
return IUnknown_AddRef(This->unk.punkControl);
}
static ULONG WINAPI
IAMStats_fnRelease(IAMStats* iface)
{
CFilterGraph_THIS(iface,amstats);
TRACE("(%p)->()\n",This);
return IUnknown_Release(This->unk.punkControl);
}
static HRESULT WINAPI
IAMStats_fnGetTypeInfoCount(IAMStats* iface,UINT* pcTypeInfo)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p)->()\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnGetTypeInfo(IAMStats* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p)->()\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnGetIDsOfNames(IAMStats* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p)->()\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnInvoke(IAMStats* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p)->()\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnReset(IAMStats* iface)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p) stub\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnget_Count(IAMStats* iface,long* plCount)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p,%p) stub\n",This,plCount);
if ( plCount == NULL )
return E_POINTER;
*plCount = 0;
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnGetValueByIndex(IAMStats* iface,long lIndex,BSTR* pbstrName,long* lCount,double* pdblLast,double* pdblAverage,double* pdblStdDev,double* pdblMin,double* pdblMax)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p) stub\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnGetValueByName(IAMStats* iface,BSTR bstrName,long* plIndex,long* plCount,double* pdblLast,double* pdblAverage,double* pdblStdDev,double* pdblMin,double* pdblMax)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p) stub\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnGetIndex(IAMStats* iface,BSTR bstrName,long lCreate,long* plIndex)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p) stub\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IAMStats_fnAddValue(IAMStats* iface,long lIndex,double dValue)
{
CFilterGraph_THIS(iface,amstats);
FIXME("(%p) stub\n",This);
return E_NOTIMPL;
}
static ICOM_VTABLE(IAMStats) iamstats =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown fields */
IAMStats_fnQueryInterface,
IAMStats_fnAddRef,
IAMStats_fnRelease,
/* IDispatch fields */
IAMStats_fnGetTypeInfoCount,
IAMStats_fnGetTypeInfo,
IAMStats_fnGetIDsOfNames,
IAMStats_fnInvoke,
/* IAMStats fields */
IAMStats_fnReset,
IAMStats_fnget_Count,
IAMStats_fnGetValueByIndex,
IAMStats_fnGetValueByName,
IAMStats_fnGetIndex,
IAMStats_fnAddValue,
};
HRESULT CFilterGraph_InitIAMStats( CFilterGraph* pfg )
{
TRACE("(%p)\n",pfg);
ICOM_VTBL(&pfg->amstats) = &iamstats;
return NOERROR;
}
void CFilterGraph_UninitIAMStats( CFilterGraph* pfg )
{
TRACE("(%p)\n",pfg);
}
......@@ -36,13 +36,12 @@
+ IMediaEventSink
+ IDispatch - IMediaPosition
+ IMediaSeeking
+ IDispatch - IBasicVideo[2] (pass to a renderer)
+ IDispatch - IBasicVideo (pass to a renderer)
+ IDispatch - IBasicAudio (pass to a renderer)
+ IDispatch - IVideoWindow (pass to a renderer)
+ IDispatch - IAMStats
(following interfaces are not implemented)
+ IMarshal
+ IFilterMapper2 - IFilterMapper3
+ IFilterMapper2
FIXME - Are there any missing interfaces???
*/
......@@ -70,11 +69,6 @@ typedef struct FG_IGraphVersionImpl
ICOM_VFIELD(IGraphVersion);
} FG_IGraphVersionImpl;
typedef struct FG_IGraphConfigImpl
{
ICOM_VFIELD(IGraphConfig);
} FG_IGraphConfigImpl;
typedef struct FG_IMediaControlImpl
{
ICOM_VFIELD(IMediaControl);
......@@ -107,7 +101,7 @@ typedef struct FG_IMediaSeekingImpl
typedef struct FG_IBasicVideoImpl
{
ICOM_VFIELD(IBasicVideo2);
ICOM_VFIELD(IBasicVideo);
} FG_IBasicVideoImpl;
typedef struct FG_IBasicAudioImpl
......@@ -120,11 +114,6 @@ typedef struct FG_IVideoWindowImpl
ICOM_VFIELD(IVideoWindow);
} FG_IVideoWindowImpl;
typedef struct FG_IAMStatsImpl
{
ICOM_VFIELD(IAMStats);
} FG_IAMStatsImpl;
typedef struct FG_FilterData
{
......@@ -144,7 +133,6 @@ typedef struct CFilterGraph
FG_IDispatchImpl disp;
FG_IFilterGraph2Impl fgraph;
FG_IGraphVersionImpl graphversion;
FG_IGraphConfigImpl grphconf;
FG_IMediaControlImpl mediacontrol;
FG_IMediaFilterImpl mediafilter;
FG_IMediaEventImpl mediaevent;
......@@ -154,7 +142,6 @@ typedef struct CFilterGraph
FG_IBasicVideoImpl basvid;
FG_IBasicAudioImpl basaud;
FG_IVideoWindowImpl vidwin;
FG_IAMStatsImpl amstats;
/* IDispatch fields. */
/* IFilterGraph2 fields. */
......@@ -183,10 +170,9 @@ typedef struct CFilterGraph
/* IMediaEventSink fields. */
/* IMediaPosition fields. */
/* IMediaSeeking fields. */
/* IBasicVideo2 fields. */
/* IBasicVideo fields. */
/* IBasicAudio fields. */
/* IVideoWindow fields. */
/* IAMStats fields. */
} CFilterGraph;
#define CFilterGraph_THIS(iface,member) CFilterGraph* This = ((CFilterGraph*)(((char*)iface)-offsetof(CFilterGraph,member)))
......@@ -208,8 +194,6 @@ HRESULT CFilterGraph_InitIFilterGraph2( CFilterGraph* pfg );
void CFilterGraph_UninitIFilterGraph2( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIGraphVersion( CFilterGraph* pfg );
void CFilterGraph_UninitIGraphVersion( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIGraphConfig( CFilterGraph* pfg );
void CFilterGraph_UninitIGraphConfig( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIMediaControl( CFilterGraph* pfg );
void CFilterGraph_UninitIMediaControl( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIMediaFilter( CFilterGraph* pfg );
......@@ -222,14 +206,12 @@ HRESULT CFilterGraph_InitIMediaPosition( CFilterGraph* pfg );
void CFilterGraph_UninitIMediaPosition( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg );
void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIBasicVideo2( CFilterGraph* pfg );
void CFilterGraph_UninitIBasicVideo2( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIBasicVideo( CFilterGraph* pfg );
void CFilterGraph_UninitIBasicVideo( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIBasicAudio( CFilterGraph* pfg );
void CFilterGraph_UninitIBasicAudio( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIVideoWindow( CFilterGraph* pfg );
void CFilterGraph_UninitIVideoWindow( CFilterGraph* pfg );
HRESULT CFilterGraph_InitIAMStats( CFilterGraph* pfg );
void CFilterGraph_UninitIAMStats( CFilterGraph* pfg );
#endif /* WINE_DSHOW_FGRAPH_H */
......@@ -658,8 +658,7 @@ void CFilterMapper_UninitIFilterMapper( CFilterMapper* pfm )
/* can I use offsetof safely? - FIXME? */
static QUARTZ_IFEntry FMap2IFEntries[] =
{
{ &IID_IFilterMapper2, offsetof(CFilterMapper2,fmap3)-offsetof(CFilterMapper2,unk) },
{ &IID_IFilterMapper3, offsetof(CFilterMapper2,fmap3)-offsetof(CFilterMapper2,unk) },
{ &IID_IFilterMapper2, offsetof(CFilterMapper2,fmap2)-offsetof(CFilterMapper2,unk) },
};
......@@ -667,7 +666,7 @@ static void QUARTZ_DestroyFilterMapper2(IUnknown* punk)
{
CFilterMapper2_THIS(punk,unk);
CFilterMapper2_UninitIFilterMapper3( This );
CFilterMapper2_UninitIFilterMapper2( This );
}
HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj)
......@@ -682,7 +681,7 @@ HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj)
return E_OUTOFMEMORY;
QUARTZ_IUnkInit( &pfm->unk, punkOuter );
hr = CFilterMapper2_InitIFilterMapper3( pfm );
hr = CFilterMapper2_InitIFilterMapper2( pfm );
if ( FAILED(hr) )
{
QUARTZ_FreeObj( pfm );
......@@ -700,15 +699,15 @@ HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj)
/***************************************************************************
*
* CLSID_FilterMapper2::IFilterMapper3
* CLSID_FilterMapper2::IFilterMapper2
*
*/
static HRESULT WINAPI
IFilterMapper3_fnQueryInterface(IFilterMapper3* iface,REFIID riid,void** ppobj)
IFilterMapper2_fnQueryInterface(IFilterMapper2* iface,REFIID riid,void** ppobj)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
TRACE("(%p)->()\n",This);
......@@ -716,9 +715,9 @@ IFilterMapper3_fnQueryInterface(IFilterMapper3* iface,REFIID riid,void** ppobj)
}
static ULONG WINAPI
IFilterMapper3_fnAddRef(IFilterMapper3* iface)
IFilterMapper2_fnAddRef(IFilterMapper2* iface)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
TRACE("(%p)->()\n",This);
......@@ -726,9 +725,9 @@ IFilterMapper3_fnAddRef(IFilterMapper3* iface)
}
static ULONG WINAPI
IFilterMapper3_fnRelease(IFilterMapper3* iface)
IFilterMapper2_fnRelease(IFilterMapper2* iface)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
TRACE("(%p)->()\n",This);
......@@ -736,9 +735,9 @@ IFilterMapper3_fnRelease(IFilterMapper3* iface)
}
static HRESULT WINAPI
IFilterMapper3_fnCreateCategory(IFilterMapper3* iface,REFCLSID rclsidCategory,DWORD dwMerit,LPCWSTR lpwszDesc)
IFilterMapper2_fnCreateCategory(IFilterMapper2* iface,REFCLSID rclsidCategory,DWORD dwMerit,LPCWSTR lpwszDesc)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
FIXME("(%p)->(%s,%lu,%s) stub!\n",This,
debugstr_guid(rclsidCategory),
......@@ -749,9 +748,9 @@ IFilterMapper3_fnCreateCategory(IFilterMapper3* iface,REFCLSID rclsidCategory,DW
static HRESULT WINAPI
IFilterMapper3_fnUnregisterFilter(IFilterMapper3* iface,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,REFCLSID rclsidFilter)
IFilterMapper2_fnUnregisterFilter(IFilterMapper2* iface,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,REFCLSID rclsidFilter)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
WCHAR* pwszPath = NULL;
HRESULT hr;
......@@ -776,9 +775,9 @@ IFilterMapper3_fnUnregisterFilter(IFilterMapper3* iface,const CLSID* pclsidCateg
static HRESULT WINAPI
IFilterMapper3_fnRegisterFilter(IFilterMapper3* iface,REFCLSID rclsidFilter,LPCWSTR lpName,IMoniker** ppMoniker,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,const REGFILTER2* pRF2)
IFilterMapper2_fnRegisterFilter(IFilterMapper2* iface,REFCLSID rclsidFilter,LPCWSTR lpName,IMoniker** ppMoniker,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,const REGFILTER2* pRF2)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
WCHAR* pwszPath = NULL;
IMoniker* pMoniker = NULL;
BYTE* pFilterData = NULL;
......@@ -843,12 +842,12 @@ err:
static HRESULT WINAPI
IFilterMapper3_fnEnumMatchingFilters(IFilterMapper3* iface,
IFilterMapper2_fnEnumMatchingFilters(IFilterMapper2* iface,
IEnumMoniker** ppEnumMoniker,DWORD dwFlags,BOOL bExactMatch,DWORD dwMerit,
BOOL bInputNeeded,DWORD cInputTypes,const GUID* pguidInputTypes,const REGPINMEDIUM* pPinMediumIn,const CLSID* pPinCategoryIn,BOOL bRender,
BOOL bOutputNeeded,DWORD cOutputTypes,const GUID* pguidOutputTypes,const REGPINMEDIUM* pPinMediumOut,const CLSID* pPinCategoryOut)
{
CFilterMapper2_THIS(iface,fmap3);
CFilterMapper2_THIS(iface,fmap2);
ICreateDevEnum* pEnum = NULL;
IEnumMoniker* pCategories = NULL;
IMoniker* pCat = NULL;
......@@ -1049,46 +1048,33 @@ err:
return hr;
}
static HRESULT WINAPI
IFilterMapper3_fnGetICreateDevEnum(IFilterMapper3* iface,ICreateDevEnum** ppDevEnum)
{
CFilterMapper2_THIS(iface,fmap3);
/* undocumented */
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static ICOM_VTABLE(IFilterMapper3) ifmap3 =
static ICOM_VTABLE(IFilterMapper2) ifmap2 =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown fields */
IFilterMapper3_fnQueryInterface,
IFilterMapper3_fnAddRef,
IFilterMapper3_fnRelease,
IFilterMapper2_fnQueryInterface,
IFilterMapper2_fnAddRef,
IFilterMapper2_fnRelease,
/* IFilterMapper2 fields */
IFilterMapper3_fnCreateCategory,
IFilterMapper3_fnUnregisterFilter,
IFilterMapper3_fnRegisterFilter,
IFilterMapper3_fnEnumMatchingFilters,
/* IFilterMapper3 fields */
IFilterMapper3_fnGetICreateDevEnum,
IFilterMapper2_fnCreateCategory,
IFilterMapper2_fnUnregisterFilter,
IFilterMapper2_fnRegisterFilter,
IFilterMapper2_fnEnumMatchingFilters,
};
HRESULT CFilterMapper2_InitIFilterMapper3( CFilterMapper2* pfm )
HRESULT CFilterMapper2_InitIFilterMapper2( CFilterMapper2* pfm )
{
TRACE("(%p)\n",pfm);
ICOM_VTBL(&pfm->fmap3) = &ifmap3;
ICOM_VTBL(&pfm->fmap2) = &ifmap2;
return NOERROR;
}
void CFilterMapper2_UninitIFilterMapper3( CFilterMapper2* pfm )
void CFilterMapper2_UninitIFilterMapper2( CFilterMapper2* pfm )
{
TRACE("(%p)\n",pfm);
}
......
......@@ -58,22 +58,20 @@ void CFilterMapper_UninitIFilterMapper( CFilterMapper* pfm );
- At least, the following interfaces should be implemented:
IUnknown
+ IFilterMapper2 - IFilterMapper3
+ IFilterMapper2
*/
#include "iunk.h"
typedef struct FM2_IFilterMapper3Impl
typedef struct FM2_IFilterMapper2Impl
{
ICOM_VFIELD(IFilterMapper3);
} FM2_IFilterMapper3Impl;
ICOM_VFIELD(IFilterMapper2);
} FM2_IFilterMapper2Impl;
typedef struct CFilterMapper2
{
QUARTZ_IUnkImpl unk;
FM2_IFilterMapper3Impl fmap3;
/* IFilterMapper3 fields */
FM2_IFilterMapper2Impl fmap2;
/* IFilterMapper2 fields */
} CFilterMapper2;
#define CFilterMapper2_THIS(iface,member) CFilterMapper2* This = ((CFilterMapper2*)(((char*)iface)-offsetof(CFilterMapper2,member)))
......@@ -81,7 +79,7 @@ typedef struct CFilterMapper2
HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj);
HRESULT CFilterMapper2_InitIFilterMapper3( CFilterMapper2* psde );
void CFilterMapper2_UninitIFilterMapper3( CFilterMapper2* psde );
HRESULT CFilterMapper2_InitIFilterMapper2( CFilterMapper2* psde );
void CFilterMapper2_UninitIFilterMapper2( CFilterMapper2* psde );
#endif /* WINE_DSHOW_FMAP_H */
/*
* Implementation of IFilterGraph and related interfaces
* + IGraphVersion, IGraphConfig
* + IGraphVersion
*
* FIXME - create a thread to process some methods correctly.
*
......@@ -102,8 +102,6 @@ static HRESULT CFilterGraph_GraphChanged( CFilterGraph* This )
{
/* IDistributorNotify_NotifyGraphChange() */
IMediaEventSink_Notify(CFilterGraph_IMediaEventSink(This),
EC_GRAPH_CHANGED, 0, 0);
This->m_lGraphVersion ++;
return NOERROR;
......@@ -1520,190 +1518,4 @@ void CFilterGraph_UninitIGraphVersion( CFilterGraph* pfg )
TRACE("(%p)\n",pfg);
}
/***************************************************************************
*
* CFilterGraph::IGraphConfig methods
*
*/
static HRESULT WINAPI
IGraphConfig_fnQueryInterface(IGraphConfig* iface,REFIID riid,void** ppobj)
{
CFilterGraph_THIS(iface,grphconf);
TRACE("(%p)->()\n",This);
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
}
static ULONG WINAPI
IGraphConfig_fnAddRef(IGraphConfig* iface)
{
CFilterGraph_THIS(iface,grphconf);
TRACE("(%p)->()\n",This);
return IUnknown_AddRef(This->unk.punkControl);
}
static ULONG WINAPI
IGraphConfig_fnRelease(IGraphConfig* iface)
{
CFilterGraph_THIS(iface,grphconf);
TRACE("(%p)->()\n",This);
return IUnknown_Release(This->unk.punkControl);
}
static HRESULT WINAPI
IGraphConfig_fnReconnect(IGraphConfig* iface,IPin* pOut,IPin* pIn,const AM_MEDIA_TYPE* pmt,IBaseFilter* pFilter,HANDLE hAbort,DWORD dwFlags)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnReconfigure(IGraphConfig* iface,IGraphConfigCallback* pCallback,PVOID pvParam,DWORD dwFlags,HANDLE hAbort)
{
CFilterGraph_THIS(iface,grphconf);
HRESULT hr;
FIXME("(%p)->(%p,%p,%08lx,%08x) stub!\n",This,pCallback,pvParam,dwFlags,hAbort);
EnterCriticalSection( &This->m_csFilters );
EnterCriticalSection( &This->m_csGraphState );
hr = IGraphConfigCallback_Reconfigure(pCallback,pvParam,dwFlags);
LeaveCriticalSection( &This->m_csGraphState );
LeaveCriticalSection( &This->m_csFilters );
return hr;
}
static HRESULT WINAPI
IGraphConfig_fnAddFilterToCache(IGraphConfig* iface,IBaseFilter* pFilter)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnEnumCacheFilter(IGraphConfig* iface,IEnumFilters** ppenum)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnRemoveFilterFromCache(IGraphConfig* iface,IBaseFilter* pFilter)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnGetStartTime(IGraphConfig* iface,REFERENCE_TIME* prt)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnPushThroughData(IGraphConfig* iface,IPin* pOut,IPinConnection* pConn,HANDLE hAbort)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnSetFilterFlags(IGraphConfig* iface,IBaseFilter* pFilter,DWORD dwFlags)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnGetFilterFlags(IGraphConfig* iface,IBaseFilter* pFilter,DWORD* pdwFlags)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static HRESULT WINAPI
IGraphConfig_fnRemoveFilterEx(IGraphConfig* iface,IBaseFilter* pFilter,DWORD dwFlags)
{
CFilterGraph_THIS(iface,grphconf);
FIXME("(%p)->() stub!\n",This);
return E_NOTIMPL;
}
static ICOM_VTABLE(IGraphConfig) igraphconfig =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown fields */
IGraphConfig_fnQueryInterface,
IGraphConfig_fnAddRef,
IGraphConfig_fnRelease,
/* IGraphConfig fields */
IGraphConfig_fnReconnect,
IGraphConfig_fnReconfigure,
IGraphConfig_fnAddFilterToCache,
IGraphConfig_fnEnumCacheFilter,
IGraphConfig_fnRemoveFilterFromCache,
IGraphConfig_fnGetStartTime,
IGraphConfig_fnPushThroughData,
IGraphConfig_fnSetFilterFlags,
IGraphConfig_fnGetFilterFlags,
IGraphConfig_fnRemoveFilterEx,
};
HRESULT CFilterGraph_InitIGraphConfig( CFilterGraph* pfg )
{
TRACE("(%p)\n",pfg);
ICOM_VTBL(&pfg->grphconf) = &igraphconfig;
return NOERROR;
}
void CFilterGraph_UninitIGraphConfig( CFilterGraph* pfg )
{
TRACE("(%p)\n",pfg);
}
......@@ -98,14 +98,12 @@ static const QUARTZ_CLASSENTRY QUARTZ_ClassList[] =
{ &CLSID_FilterMapper2, &QUARTZ_CreateFilterMapper2 },
{ &CLSID_SeekingPassThru, &QUARTZ_CreateSeekingPassThru },
{ &CLSID_CaptureGraphBuilder, &QUARTZ_CreateCaptureGraph },
{ &CLSID_CaptureGraphBuilder2, &QUARTZ_CreateCaptureGraph },
{ &CLSID_AudioRender, &QUARTZ_CreateAudioRenderer },
{ &CLSID_VideoRenderer, &QUARTZ_CreateVideoRenderer },
{ &CLSID_quartzWaveParser, &QUARTZ_CreateWaveParser },
{ &CLSID_AviSplitter, &QUARTZ_CreateAVISplitter },
{ &CLSID_MPEG1Splitter, &QUARTZ_CreateMPEG1Splitter },
{ &CLSID_MMSPLITTER, &QUARTZ_CreateMPEG2Splitter },
{ &CLSID_AsyncReader, &QUARTZ_CreateAsyncReader },
{ &CLSID_URLReader, &QUARTZ_CreateURLReader },
{ &CLSID_AVIDec, &QUARTZ_CreateAVIDec },
......
......@@ -702,14 +702,4 @@ HRESULT QUARTZ_CreateMPEG1Splitter(IUnknown* punkOuter,void** ppobj)
&CMPGParseImpl_Handlers );
}
HRESULT QUARTZ_CreateMPEG2Splitter(IUnknown* punkOuter,void** ppobj)
{
return QUARTZ_CreateParser(
punkOuter,ppobj,
&CLSID_MMSPLITTER,
QUARTZ_MPEG2Parser_Name,
QUARTZ_MPGParserInPin_Name,
&CMPGParseImpl_Handlers );
}
......@@ -181,7 +181,6 @@ HRESULT QUARTZ_CreateParserOutPin(
HRESULT QUARTZ_CreateWaveParser(IUnknown* punkOuter,void** ppobj);
HRESULT QUARTZ_CreateAVISplitter(IUnknown* punkOuter,void** ppobj);
HRESULT QUARTZ_CreateMPEG1Splitter(IUnknown* punkOuter,void** ppobj);
HRESULT QUARTZ_CreateMPEG2Splitter(IUnknown* punkOuter,void** ppobj);
HRESULT RIFF_GetNext(
......
......@@ -31,7 +31,7 @@ typedef struct CVideoRendererPinImpl CVideoRendererPinImpl;
typedef struct VidRen_IBasicVideo
{
ICOM_VFIELD(IBasicVideo2);
ICOM_VFIELD(IBasicVideo);
} VidRen_IBasicVideo;
typedef struct VidRen_IVideoWindow
......@@ -76,8 +76,8 @@ struct CVideoRendererPinImpl
#define CVideoRendererImpl_THIS(iface,member) CVideoRendererImpl* This = ((CVideoRendererImpl*)(((char*)iface)-offsetof(CVideoRendererImpl,member)))
#define CVideoRendererPinImpl_THIS(iface,member) CVideoRendererPinImpl* This = ((CVideoRendererPinImpl*)(((char*)iface)-offsetof(CVideoRendererPinImpl,member)))
HRESULT CVideoRendererImpl_InitIBasicVideo2( CVideoRendererImpl* This );
void CVideoRendererImpl_UninitIBasicVideo2( CVideoRendererImpl* This );
HRESULT CVideoRendererImpl_InitIBasicVideo( CVideoRendererImpl* This );
void CVideoRendererImpl_UninitIBasicVideo( CVideoRendererImpl* This );
HRESULT CVideoRendererImpl_InitIVideoWindow( CVideoRendererImpl* This );
void CVideoRendererImpl_UninitIVideoWindow( CVideoRendererImpl* This );
......
......@@ -22,10 +22,8 @@
/* forward decls. */
typedef struct IAMCollection IAMCollection;
typedef struct IAMStats IAMStats;
typedef struct IBasicAudio IBasicAudio;
typedef struct IBasicVideo IBasicVideo;
typedef struct IBasicVideo2 IBasicVideo2;
typedef struct IDeferredCommand IDeferredCommand;
typedef struct IFilterInfo IFilterInfo;
typedef struct IMediaControl IMediaControl;
......@@ -41,10 +39,8 @@ typedef struct IVideoWindow IVideoWindow;
/* GUIDs */
DEFINE_GUID(IID_IAMCollection,0x56A868B9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
DEFINE_GUID(IID_IAMStats,0xBC9BCF80,0xDCD2,0x11D2,0xAB,0xF6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
DEFINE_GUID(IID_IBasicAudio,0x56A868B3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
DEFINE_GUID(IID_IBasicVideo,0x56A868B5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
DEFINE_GUID(IID_IBasicVideo2,0x329BB360,0xF6EA,0x11D1,0x90,0x38,0x00,0xA0,0xC9,0x69,0x72,0x98);
DEFINE_GUID(IID_IDeferredCommand,0x56A868B8,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
DEFINE_GUID(IID_IFilterInfo,0x56A868BA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
DEFINE_GUID(IID_IMediaControl,0x56A868B1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
......@@ -103,45 +99,6 @@ ICOM_DEFINE(IAMCollection,IDispatch)
/**************************************************************************
*
* IAMStats interface
*
*/
#define ICOM_INTERFACE IAMStats
#define IAMStats_METHODS \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1(HRESULT,get_Count,LONG*,a1) \
ICOM_METHOD8(HRESULT,GetValueByIndex,long,a1,BSTR*,a2,long*,a3,double*,a4,double*,a5,double*,a6,double*,a7,double*,a8) \
ICOM_METHOD8(HRESULT,GetValueByName,BSTR,a1,long*,a2,long*,a3,double*,a4,double*,a5,double*,a6,double*,a7,double*,a8) \
ICOM_METHOD3(HRESULT,GetIndex,BSTR,a1,long,a2,long*,a3) \
ICOM_METHOD2(HRESULT,AddValue,long,a1,double,a2)
#define IAMStats_IMETHODS \
IDispatch_IMETHODS \
IAMStats_METHODS
ICOM_DEFINE(IAMStats,IDispatch)
#undef ICOM_INTERFACE
/*** IUnknown methods ***/
#define IAMStats_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
#define IAMStats_AddRef(p) ICOM_CALL (AddRef,p)
#define IAMStats_Release(p) ICOM_CALL (Release,p)
/*** IDispatch methods ***/
#define IAMStats_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
#define IAMStats_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
#define IAMStats_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
#define IAMStats_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
/*** IAMStats methods ***/
#define IAMStats_Reset(p) ICOM_CALL (Reset,p)
#define IAMStats_get_Count(p,a1) ICOM_CALL1(get_Count,p,a1)
#define IAMStats_GetValueByIndex(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(GetValueByIndex,p,a1,a2,a3,a4,a5,a6,a7,a8)
#define IAMStats_GetValueByName(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(GetValueByName,p,a1,a2,a3,a4,a5,a6,a7,a8)
#define IAMStats_GetIndex(p,a1,a2,a3) ICOM_CALL3(GetIndex,p,a1,a2,a3)
#define IAMStats_AddValue(p,a1,a2) ICOM_CALL2(AddValue,p,a1,a2)
/**************************************************************************
*
* IBasicAudio interface
*
*/
......@@ -268,68 +225,6 @@ ICOM_DEFINE(IBasicVideo,IDispatch)
/**************************************************************************
*
* IBasicVideo2 interface
*
*/
#define ICOM_INTERFACE IBasicVideo2
#define IBasicVideo2_METHODS \
ICOM_METHOD2(HRESULT,GetPreferredAspectRatio,long*,a1,long*,a2)
#define IBasicVideo2_IMETHODS \
IBasicVideo_IMETHODS \
IBasicVideo2_METHODS
ICOM_DEFINE(IBasicVideo2,IBasicVideo)
#undef ICOM_INTERFACE
/*** IUnknown methods ***/
#define IBasicVideo2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
#define IBasicVideo2_AddRef(p) ICOM_CALL (AddRef,p)
#define IBasicVideo2_Release(p) ICOM_CALL (Release,p)
/*** IDispatch methods ***/
#define IBasicVideo2_GetTypeInfoCount(p,a1) ICOM_CALL1(GetTypeInfoCount,p,a1)
#define IBasicVideo2_GetTypeInfo(p,a1,a2,a3) ICOM_CALL3(GetTypeInfo,p,a1,a2,a3)
#define IBasicVideo2_GetIDsOfNames(p,a1,a2,a3,a4,a5) ICOM_CALL5(GetIDsOfNames,p,a1,a2,a3,a4,a5)
#define IBasicVideo2_Invoke(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(Invoke,p,a1,a2,a3,a4,a5,a6,a7,a8)
/*** IBasicVideo methods ***/
#define IBasicVideo2_get_AvgTimePerFrame(p,a1) ICOM_CALL1(get_AvgTimePerFrame,p,a1)
#define IBasicVideo2_get_BitRate(p,a1) ICOM_CALL1(get_BitRate,p,a1)
#define IBasicVideo2_get_BitErrorRate(p,a1) ICOM_CALL1(get_BitErrorRate,p,a1)
#define IBasicVideo2_get_VideoWidth(p,a1) ICOM_CALL1(get_VideoWidth,p,a1)
#define IBasicVideo2_get_VideoHeight(p,a1) ICOM_CALL1(get_VideoHeight,p,a1)
#define IBasicVideo2_put_SourceLeft(p,a1) ICOM_CALL1(put_SourceLeft,p,a1)
#define IBasicVideo2_get_SourceLeft(p,a1) ICOM_CALL1(get_SourceLeft,p,a1)
#define IBasicVideo2_put_SourceWidth(p,a1) ICOM_CALL1(put_SourceWidth,p,a1)
#define IBasicVideo2_get_SourceWidth(p,a1) ICOM_CALL1(get_SourceWidth,p,a1)
#define IBasicVideo2_put_SourceTop(p,a1) ICOM_CALL1(put_SourceTop,p,a1)
#define IBasicVideo2_get_SourceTop(p,a1) ICOM_CALL1(get_SourceTop,p,a1)
#define IBasicVideo2_put_SourceHeight(p,a1) ICOM_CALL1(put_SourceHeight,p,a1)
#define IBasicVideo2_get_SourceHeight(p,a1) ICOM_CALL1(get_SourceHeight,p,a1)
#define IBasicVideo2_put_DestinationLeft(p,a1) ICOM_CALL1(put_DestinationLeft,p,a1)
#define IBasicVideo2_get_DestinationLeft(p,a1) ICOM_CALL1(get_DestinationLeft,p,a1)
#define IBasicVideo2_put_DestinationWidth(p,a1) ICOM_CALL1(put_DestinationWidth,p,a1)
#define IBasicVideo2_get_DestinationWidth(p,a1) ICOM_CALL1(get_DestinationWidth,p,a1)
#define IBasicVideo2_put_DestinationTop(p,a1) ICOM_CALL1(put_DestinationTop,p,a1)
#define IBasicVideo2_get_DestinationTop(p,a1) ICOM_CALL1(get_DestinationTop,p,a1)
#define IBasicVideo2_put_DestinationHeight(p,a1) ICOM_CALL1(put_DestinationHeight,p,a1)
#define IBasicVideo2_get_DestinationHeight(p,a1) ICOM_CALL1(get_DestinationHeight,p,a1)
#define IBasicVideo2_SetSourcePosition(p,a1,a2,a3,a4) ICOM_CALL4(SetSourcePosition,p,a1,a2,a3,a4)
#define IBasicVideo2_GetSourcePosition(p,a1,a2,a3,a4) ICOM_CALL4(GetSourcePosition,p,a1,a2,a3,a4)
#define IBasicVideo2_SetDefaultSourcePosition(p,a1) ICOM_CALL1(SetDefaultSourcePosition,p,a1)
#define IBasicVideo2_SetDestinationPosition(p,a1,a2,a3,a4) ICOM_CALL4(SetDestinationPosition,p,a1,a2,a3,a4)
#define IBasicVideo2_GetDestinationPosition(p,a1,a2,a3,a4) ICOM_CALL4(GetDestinationPosition,p,a1,a2,a3,a4)
#define IBasicVideo2_SetDefaultDestinationPosition(p,a1) ICOM_CALL1(SetDefaultDestinationPosition,p,a1)
#define IBasicVideo2_GetVideoSize(p,a1,a2) ICOM_CALL2(GetVideoSize,p,a1,a2)
#define IBasicVideo2_GetVideoPaletteEntries(p,a1,a2,a3,a4) ICOM_CALL4(GetVideoPaletteEntries,p,a1,a2,a3,a4)
#define IBasicVideo2_GetCurrentImage(p,a1,a2) ICOM_CALL2(GetCurrentImage,p,a1,a2)
#define IBasicVideo2_IsUsingDefaultSource(p,a1) ICOM_CALL1(IsUsingDefaultSource,p,a1)
#define IBasicVideo2_IsUsingDefaultDestination(p,a1) ICOM_CALL1(IsUsingDefaultDestination,p,a1)
/*** IBasicVideo2 methods ***/
#define IBasicVideo2_GetPreferredAspectRatio(p,a1,a2) ICOM_CALL2(GetPreferredAspectRatio,p,a1,a2)
/**************************************************************************
*
* IDeferredCommand interface
*
*/
......
......@@ -35,7 +35,6 @@
#define EC_QUALITY_CHANGE 0x0B
#define EC_SHUTTING_DOWN 0x0C
#define EC_CLOCK_CHANGED 0x0D
#define EC_PAUSED 0x0E
#define EC_OPENING_FILE 0x10
#define EC_BUFFERING_DATA 0x11
......@@ -52,18 +51,6 @@
#define EC_END_OF_SEGMENT 0x1C
#define EC_SEGMENT_STARTED 0x1D
#define EC_LENGTH_CHANGED 0x1E
#define EC_DEVICE_LOST 0x1F
#define EC_STEP_COMPLETE 0x24
#define EC_SKIP_FRAMES 0x25
#define EC_TIMECODE_AVAILABLE 0x30
#define EC_EXTDEVICE_MODE_CHANGE 0x31
#define EC_GRAPH_CHANGED 0x50
#define EC_CLOCK_UNSET 0x51
#define EC_WMT_EVENT_BASE 0x0251
#define EC_WMT_INDEX_EVENT EC_WMT_EVENT_BASE
#endif /* __WINE_EVCODE_H */
......@@ -43,8 +43,6 @@ OUR_GUID_ENTRY(MEDIATYPE_Text,0x73747874,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Midi,0x7364696D,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_URL_STREAM,0x736c7275,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Stream,
0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
......@@ -59,10 +57,6 @@ OUR_GUID_ENTRY(MEDIATYPE_DVD_ENCRYPTED_PACK,
/* --- Media SubType --- */
/* FourCC */
OUR_GUID_ENTRY(MEDIASUBTYPE_YUYV,0x56595559,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IYUV,0x56555949,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_YVU9,0x39555659,
0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Y411,0x31313459,
......@@ -95,8 +89,6 @@ OUR_GUID_ENTRY(MEDIASUBTYPE_RGB24,
0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32,
0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32,
0x773c9ac0,0x3274,0x11d0,0xb7,0x24,0x00,0xaa,0x00,0x6c,0x1a,0x01)
/* Audio */
OUR_GUID_ENTRY(MEDIASUBTYPE_PCM,0x00000001,
......@@ -180,8 +172,6 @@ OUR_GUID_ENTRY(FORMAT_DVD_LPCMAudio,
/* CaptureGraphBuilder */
OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder,
0xBF87B6E0,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5)
OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder2,
0xBF87B6E1,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5)
/* System Reference Clock */
OUR_GUID_ENTRY(CLSID_SystemClock,
......@@ -218,22 +208,13 @@ OUR_GUID_ENTRY(CLSID_URLReader,
/* Memory Allocator */
OUR_GUID_ENTRY(CLSID_MemoryAllocator,
0x1e651cc0,0xb199,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45)
/* QuickTime Parser */
OUR_GUID_ENTRY(CLSID_QuickTimeParser,
0xD51BD5A0,0x7548,0x11CF,0xA5,0x20,0x00,0x80,0xC7,0x7E,0xF5,0x8A)
/* MPEG-1 Parser */
OUR_GUID_ENTRY(CLSID_MPEG1Splitter,
0x336475D0,0x942A,0x11CE,0xA8,0x70,0x00,0xAA,0x00,0x2F,0xEA,0xB5)
/* MPEG-2 Splitter */
OUR_GUID_ENTRY(CLSID_MMSPLITTER,
0x3AE86B20,0x7BE8,0x11D1,0xAB,0xE6,0x00,0xA0,0xC9,0x05,0xF3,0x75)
/* AVI Decompressor */
OUR_GUID_ENTRY(CLSID_AVIDec,
0xCF49D4E0,0x1115,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70)
/* QuickTime Video Decoder */
OUR_GUID_ENTRY(CLSID_QTDec,
0xFDFE9681,0x74A3,0x11D0,0xAF,0xA7,0x00,0xAA,0x00,0xB6,0x7A,0x42)
/* MPEG-1 Video Decoder */
OUR_GUID_ENTRY(CLSID_CMpegVideoCodec,
0xFEB50740,0x7BEF,0x11CE,0x9B,0xD9,0x00,0x00,0xE2,0x02,0x59,0x9C)
......@@ -260,8 +241,6 @@ OUR_GUID_ENTRY(CLSID_DvdGraphBuilder,
0xFCC152B7,0xF372,0x11D0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B)
OUR_GUID_ENTRY(CLSID_DVDNavigator,
0x9B8C4620,0x2C1A,0x11D0,0x84,0x93,0x00,0xA0,0x24,0x38,0xAD,0x48)
OUR_GUID_ENTRY(CLSID_DVDState,
0xF963C5CF,0xA659,0x4A93,0x96,0x38,0xCA,0xF3,0xCD,0x27,0x7D,0x13)
OUR_GUID_ENTRY(CLSID_VfwCapture,
......@@ -284,14 +263,10 @@ OUR_GUID_ENTRY(CLSID_AudioInputDeviceCategory,
0x33D9A762,0x90C8,0x11D0,0xBD,0x43,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_AudioRendererCategory,
0xE0F158E1,0xCB04,0x11D0,0xBD,0x4E,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_DeviceControlCategory,
0xCC7BFB46,0xF175,0x11D1,0xA3,0x92,0x00,0xE0,0x29,0x1F,0x39,0x59)
OUR_GUID_ENTRY(CLSID_LegacyAmFilterCategory,
0x083863F1,0x70DE,0x11D0,0xBD,0x40,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_MidiRendererCategory,
0x4EFE2452,0x168A,0x11D1,0xBC,0x76,0x00,0xC0,0x4F,0xB9,0x45,0x3B)
OUR_GUID_ENTRY(CLSID_TransmitCategory,
0xCC7BFB41,0xF175,0x11D1,0xA3,0x92,0x00,0xE0,0x29,0x1F,0x39,0x59)
OUR_GUID_ENTRY(CLSID_VideoInputDeviceCategory,
0x860BB310,0x5D01,0x11D0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_VideoCompressorCategory,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment