2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WDM Streaming ActiveMovie Proxy
4 * FILE: dll/directx/ksproxy/cvpconfig.cpp
5 * PURPOSE: IVPConfig interface
7 * PROGRAMMERS: Johannes Anderwald (janderwald@reactos.org)
11 class CVPConfig
: public IVPConfig
,
12 public IDistributorNotify
15 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
17 STDMETHODIMP_(ULONG
) AddRef()
19 InterlockedIncrement(&m_Ref
);
22 STDMETHODIMP_(ULONG
) Release()
24 InterlockedDecrement(&m_Ref
);
34 // IDistributorNotify interface
35 HRESULT STDMETHODCALLTYPE
Stop();
36 HRESULT STDMETHODCALLTYPE
Pause();
37 HRESULT STDMETHODCALLTYPE
Run(REFERENCE_TIME tStart
);
38 HRESULT STDMETHODCALLTYPE
SetSyncSource(IReferenceClock
*pClock
);
39 HRESULT STDMETHODCALLTYPE
NotifyGraphChange();
42 HRESULT STDMETHODCALLTYPE
GetConnectInfo(LPDWORD pdwNumConnectInfo
, IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
);
43 HRESULT STDMETHODCALLTYPE
SetConnectInfo(DWORD dwChosenEntry
);
44 HRESULT STDMETHODCALLTYPE
GetVPDataInfo(LPAMVPDATAINFO pamvpDataInfo
);
45 HRESULT STDMETHODCALLTYPE
GetMaxPixelRate(LPAMVPSIZE pamvpSize
, OUT LPDWORD pdwMaxPixelsPerSecond
);
46 HRESULT STDMETHODCALLTYPE
InformVPInputFormats(DWORD dwNumFormats
, IN LPDDPIXELFORMAT pDDPixelFormats
);
47 HRESULT STDMETHODCALLTYPE
GetVideoFormats(LPDWORD pdwNumFormats
, IN OUT LPDDPIXELFORMAT pddPixelFormats
);
48 HRESULT STDMETHODCALLTYPE
SetVideoFormat(DWORD dwChosenEntry
);
49 HRESULT STDMETHODCALLTYPE
SetInvertPolarity();
50 HRESULT STDMETHODCALLTYPE
GetOverlaySurface(LPDIRECTDRAWSURFACE
* ppddOverlaySurface
);
51 HRESULT STDMETHODCALLTYPE
SetDirectDrawKernelHandle(ULONG_PTR dwDDKernelHandle
);
52 HRESULT STDMETHODCALLTYPE
SetVideoPortID(IN DWORD dwVideoPortID
);
53 HRESULT STDMETHODCALLTYPE
SetDDSurfaceKernelHandles(DWORD cHandles
, IN ULONG_PTR
*rgDDKernelHandles
);
54 HRESULT STDMETHODCALLTYPE
SetSurfaceParameters(DWORD dwPitch
, IN DWORD dwXOrigin
, IN DWORD dwYOrigin
);
56 HRESULT STDMETHODCALLTYPE
IsVPDecimationAllowed(LPBOOL pbIsDecimationAllowed
);
57 HRESULT STDMETHODCALLTYPE
SetScalingFactors(LPAMVPSIZE pamvpSize
);
59 CVPConfig() : m_Ref(0){}
60 virtual ~CVPConfig(){}
69 CVPConfig::QueryInterface(
73 if (IsEqualGUID(refiid
, IID_IUnknown
))
75 *Output
= PVOID(this);
76 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
79 if (IsEqualGUID(refiid
, IID_IDistributorNotify
))
81 *Output
= (IDistributorNotify
*)(this);
82 reinterpret_cast<IDistributorNotify
*>(*Output
)->AddRef();
86 if (IsEqualGUID(refiid
, IID_IVPConfig
))
88 *Output
= (IVPConfig
*)(this);
89 reinterpret_cast<IVPConfig
*>(*Output
)->AddRef();
96 //-------------------------------------------------------------------
97 // IDistributorNotify interface
106 OutputDebugStringW(L
"UNIMPLEMENTED\n");
116 OutputDebugStringW(L
"UNIMPLEMENTED\n");
124 REFERENCE_TIME tStart
)
127 OutputDebugStringW(L
"UNIMPLEMENTED\n");
134 CVPConfig::SetSyncSource(
135 IReferenceClock
*pClock
)
138 OutputDebugStringW(L
"UNIMPLEMENTED\n");
145 CVPConfig::NotifyGraphChange()
148 OutputDebugStringW(L
"UNIMPLEMENTED\n");
153 //-------------------------------------------------------------------
158 CVPConfig::GetConnectInfo(
159 LPDWORD pdwNumConnectInfo
,
160 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
)
163 OutputDebugStringW(L
"UNIMPLEMENTED\n");
170 CVPConfig::SetConnectInfo(
174 OutputDebugStringW(L
"UNIMPLEMENTED\n");
181 CVPConfig::GetVPDataInfo(
182 LPAMVPDATAINFO pamvpDataInfo
)
185 OutputDebugStringW(L
"UNIMPLEMENTED\n");
192 CVPConfig::GetMaxPixelRate(
193 LPAMVPSIZE pamvpSize
,
194 OUT LPDWORD pdwMaxPixelsPerSecond
)
197 OutputDebugStringW(L
"UNIMPLEMENTED\n");
204 CVPConfig::InformVPInputFormats(
206 IN LPDDPIXELFORMAT pDDPixelFormats
)
209 OutputDebugStringW(L
"UNIMPLEMENTED\n");
216 CVPConfig::GetVideoFormats(
217 LPDWORD pdwNumFormats
,
218 IN OUT LPDDPIXELFORMAT pddPixelFormats
)
221 OutputDebugStringW(L
"UNIMPLEMENTED\n");
228 CVPConfig::SetVideoFormat(
232 OutputDebugStringW(L
"UNIMPLEMENTED\n");
239 CVPConfig::SetInvertPolarity()
242 OutputDebugStringW(L
"UNIMPLEMENTED\n");
249 CVPConfig::GetOverlaySurface(
250 LPDIRECTDRAWSURFACE
* ppddOverlaySurface
)
253 OutputDebugStringW(L
"UNIMPLEMENTED\n");
260 CVPConfig::SetDirectDrawKernelHandle(
261 ULONG_PTR dwDDKernelHandle
)
264 OutputDebugStringW(L
"UNIMPLEMENTED\n");
271 CVPConfig::SetVideoPortID(
272 IN DWORD dwVideoPortID
)
275 OutputDebugStringW(L
"UNIMPLEMENTED\n");
283 CVPConfig::SetDDSurfaceKernelHandles(
285 IN ULONG_PTR
*rgDDKernelHandles
)
288 OutputDebugStringW(L
"UNIMPLEMENTED\n");
296 CVPConfig::SetSurfaceParameters(
302 OutputDebugStringW(L
"UNIMPLEMENTED\n");
307 //-------------------------------------------------------------------
313 CVPConfig::IsVPDecimationAllowed(
314 LPBOOL pbIsDecimationAllowed
)
317 OutputDebugStringW(L
"UNIMPLEMENTED\n");
324 CVPConfig::SetScalingFactors(
325 LPAMVPSIZE pamvpSize
)
328 OutputDebugStringW(L
"UNIMPLEMENTED\n");
336 CVPConfig_Constructor(
337 IUnknown
* pUnkOuter
,
342 OutputDebugStringW(L
"CVPConfig_Constructor\n");
345 CVPConfig
* handler
= new CVPConfig();
348 return E_OUTOFMEMORY
;
350 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
354 return E_NOINTERFACE
;