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
105 OutputDebugString("UNIMPLEMENTED\n");
113 OutputDebugString("UNIMPLEMENTED\n");
120 REFERENCE_TIME tStart
)
122 OutputDebugString("UNIMPLEMENTED\n");
128 CVPConfig::SetSyncSource(
129 IReferenceClock
*pClock
)
131 OutputDebugString("UNIMPLEMENTED\n");
137 CVPConfig::NotifyGraphChange()
139 OutputDebugString("UNIMPLEMENTED\n");
143 //-------------------------------------------------------------------
148 CVPConfig::GetConnectInfo(
149 LPDWORD pdwNumConnectInfo
,
150 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
)
152 OutputDebugString("UNIMPLEMENTED\n");
158 CVPConfig::SetConnectInfo(
161 OutputDebugString("UNIMPLEMENTED\n");
167 CVPConfig::GetVPDataInfo(
168 LPAMVPDATAINFO pamvpDataInfo
)
170 OutputDebugString("UNIMPLEMENTED\n");
176 CVPConfig::GetMaxPixelRate(
177 LPAMVPSIZE pamvpSize
,
178 OUT LPDWORD pdwMaxPixelsPerSecond
)
180 OutputDebugString("UNIMPLEMENTED\n");
186 CVPConfig::InformVPInputFormats(
188 IN LPDDPIXELFORMAT pDDPixelFormats
)
190 OutputDebugString("UNIMPLEMENTED\n");
196 CVPConfig::GetVideoFormats(
197 LPDWORD pdwNumFormats
,
198 IN OUT LPDDPIXELFORMAT pddPixelFormats
)
200 OutputDebugString("UNIMPLEMENTED\n");
206 CVPConfig::SetVideoFormat(
209 OutputDebugString("UNIMPLEMENTED\n");
215 CVPConfig::SetInvertPolarity()
217 OutputDebugString("UNIMPLEMENTED\n");
223 CVPConfig::GetOverlaySurface(
224 LPDIRECTDRAWSURFACE
* ppddOverlaySurface
)
226 OutputDebugString("UNIMPLEMENTED\n");
232 CVPConfig::SetDirectDrawKernelHandle(
233 ULONG_PTR dwDDKernelHandle
)
235 OutputDebugString("UNIMPLEMENTED\n");
241 CVPConfig::SetVideoPortID(
242 IN DWORD dwVideoPortID
)
244 OutputDebugString("UNIMPLEMENTED\n");
251 CVPConfig::SetDDSurfaceKernelHandles(
253 IN ULONG_PTR
*rgDDKernelHandles
)
255 OutputDebugString("UNIMPLEMENTED\n");
262 CVPConfig::SetSurfaceParameters(
267 OutputDebugString("UNIMPLEMENTED\n");
271 //-------------------------------------------------------------------
277 CVPConfig::IsVPDecimationAllowed(
278 LPBOOL pbIsDecimationAllowed
)
280 OutputDebugString("UNIMPLEMENTED\n");
286 CVPConfig::SetScalingFactors(
287 LPAMVPSIZE pamvpSize
)
289 OutputDebugString("UNIMPLEMENTED\n");
298 CVPConfig_Constructor(
299 IUnknown
* pUnkOuter
,
303 OutputDebugStringW(L
"CVPConfig_Constructor\n");
305 CVPConfig
* handler
= new CVPConfig();
308 return E_OUTOFMEMORY
;
310 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
314 return E_NOINTERFACE
;