mirror of
https://github.com/reactos/wine.git
synced 2025-02-17 11:27:49 +00:00
quartz: Add stubbed IAMCertifiedOutputProtection interface.
This commit is contained in:
parent
ab925b39b4
commit
217faec5f5
@ -52,6 +52,7 @@ struct quartz_vmr
|
||||
BaseControlVideo baseControlVideo;
|
||||
|
||||
IUnknown IUnknown_inner;
|
||||
IAMCertifiedOutputProtection IAMCertifiedOutputProtection_iface;
|
||||
IAMFilterMiscFlags IAMFilterMiscFlags_iface;
|
||||
IVMRFilterConfig IVMRFilterConfig_iface;
|
||||
IVMRFilterConfig9 IVMRFilterConfig9_iface;
|
||||
@ -120,6 +121,11 @@ static inline struct quartz_vmr *impl_from_IBasicVideo(IBasicVideo *iface)
|
||||
return CONTAINING_RECORD(iface, struct quartz_vmr, baseControlVideo.IBasicVideo_iface);
|
||||
}
|
||||
|
||||
static inline struct quartz_vmr *impl_from_IAMCertifiedOutputProtection(IAMCertifiedOutputProtection *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, struct quartz_vmr, IAMCertifiedOutputProtection_iface);
|
||||
}
|
||||
|
||||
static inline struct quartz_vmr *impl_from_IAMFilterMiscFlags(IAMFilterMiscFlags *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, struct quartz_vmr, IAMFilterMiscFlags_iface);
|
||||
@ -753,6 +759,8 @@ static HRESULT WINAPI VMR9Inner_QueryInterface(IUnknown * iface, REFIID riid, LP
|
||||
*ppv = &This->baseControlWindow.IVideoWindow_iface;
|
||||
else if (IsEqualIID(riid, &IID_IBasicVideo))
|
||||
*ppv = &This->baseControlVideo.IBasicVideo_iface;
|
||||
else if (IsEqualIID(riid, &IID_IAMCertifiedOutputProtection))
|
||||
*ppv = &This->IAMCertifiedOutputProtection_iface;
|
||||
else if (IsEqualIID(riid, &IID_IAMFilterMiscFlags))
|
||||
*ppv = &This->IAMFilterMiscFlags_iface;
|
||||
else if (IsEqualIID(riid, &IID_IVMRFilterConfig))
|
||||
@ -1086,6 +1094,74 @@ static const IBasicVideoVtbl IBasicVideo_VTable =
|
||||
BaseControlVideoImpl_IsUsingDefaultDestination
|
||||
};
|
||||
|
||||
static HRESULT WINAPI AMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
return VMR9_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI AMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection *iface)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
return VMR9_AddRef(&This->renderer.filter.IBaseFilter_iface);
|
||||
}
|
||||
|
||||
static ULONG WINAPI AMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection *iface)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
return VMR9_Release(&This->renderer.filter.IBaseFilter_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection *iface,
|
||||
GUID* pRandom, BYTE** VarLenCertGH,
|
||||
DWORD* pdwLengthCertGH)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%p, %p, %p) stub\n", iface, This, pRandom, VarLenCertGH, pdwLengthCertGH);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection *iface,
|
||||
AMCOPPSignature* pSig)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%p) stub\n", iface, This, pSig);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection *iface,
|
||||
const AMCOPPCommand* cmd)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%p) stub\n", iface, This, cmd);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection *iface,
|
||||
const AMCOPPStatusInput* pStatusInput,
|
||||
AMCOPPStatusOutput* pStatusOutput)
|
||||
{
|
||||
struct quartz_vmr *This = impl_from_IAMCertifiedOutputProtection(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%p, %p) stub\n", iface, This, pStatusInput, pStatusOutput);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IAMCertifiedOutputProtectionVtbl IAMCertifiedOutputProtection_Vtbl =
|
||||
{
|
||||
AMCertifiedOutputProtection_QueryInterface,
|
||||
AMCertifiedOutputProtection_AddRef,
|
||||
AMCertifiedOutputProtection_Release,
|
||||
AMCertifiedOutputProtection_KeyExchange,
|
||||
AMCertifiedOutputProtection_SessionSequenceStart,
|
||||
AMCertifiedOutputProtection_ProtectionCommand,
|
||||
AMCertifiedOutputProtection_ProtectionStatus
|
||||
};
|
||||
|
||||
static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv) {
|
||||
struct quartz_vmr *This = impl_from_IAMFilterMiscFlags(iface);
|
||||
return VMR9_QueryInterface(&This->renderer.filter.IBaseFilter_iface, riid, ppv);
|
||||
@ -2183,6 +2259,7 @@ static HRESULT vmr_create(IUnknown *outer_unk, LPVOID *ppv, const CLSID *clsid)
|
||||
pVMR->bUnkOuterValid = FALSE;
|
||||
pVMR->bAggregatable = FALSE;
|
||||
pVMR->IUnknown_inner.lpVtbl = &IInner_VTable;
|
||||
pVMR->IAMCertifiedOutputProtection_iface.lpVtbl = &IAMCertifiedOutputProtection_Vtbl;
|
||||
pVMR->IAMFilterMiscFlags_iface.lpVtbl = &IAMFilterMiscFlags_Vtbl;
|
||||
|
||||
pVMR->mode = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user