Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
aa44879a
Commit
aa44879a
authored
May 27, 2020
by
Zebediah Figura
Committed by
Alexandre Julliard
May 27, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quartz/vmr9: Don't expose IVMRSurfaceAllocatorEx9 from the default presenter.
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
39489e4d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
29 deletions
+29
-29
vmr9.c
dlls/quartz/vmr9.c
+29
-29
No files found.
dlls/quartz/vmr9.c
View file @
aa44879a
...
...
@@ -174,7 +174,7 @@ static inline struct quartz_vmr *impl_from_IVMRWindowlessControl9(IVMRWindowless
struct
default_presenter
{
IVMRImagePresenter9
IVMRImagePresenter9_iface
;
IVMRSurfaceAllocator
Ex9
IVMRSurfaceAllocatorEx
9_iface
;
IVMRSurfaceAllocator
9
IVMRSurfaceAllocator
9_iface
;
LONG
refCount
;
...
...
@@ -195,9 +195,9 @@ static inline struct default_presenter *impl_from_IVMRImagePresenter9(IVMRImageP
return
CONTAINING_RECORD
(
iface
,
struct
default_presenter
,
IVMRImagePresenter9_iface
);
}
static
inline
struct
default_presenter
*
impl_from_IVMRSurfaceAllocator
Ex9
(
IVMRSurfaceAllocatorEx
9
*
iface
)
static
inline
struct
default_presenter
*
impl_from_IVMRSurfaceAllocator
9
(
IVMRSurfaceAllocator
9
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
default_presenter
,
IVMRSurfaceAllocator
Ex
9_iface
);
return
CONTAINING_RECORD
(
iface
,
struct
default_presenter
,
IVMRSurfaceAllocator9_iface
);
}
static
HRESULT
VMR9DefaultAllocatorPresenterImpl_create
(
struct
quartz_vmr
*
parent
,
LPVOID
*
ppv
);
...
...
@@ -1367,7 +1367,8 @@ static HRESULT WINAPI VMR9FilterConfig_SetRenderingMode(IVMRFilterConfig9 *iface
hr
=
VMR9DefaultAllocatorPresenterImpl_create
(
This
,
(
LPVOID
*
)
&
This
->
presenter
);
if
(
SUCCEEDED
(
hr
))
hr
=
IVMRImagePresenter9_QueryInterface
(
This
->
presenter
,
&
IID_IVMRSurfaceAllocatorEx9
,
(
LPVOID
*
)
&
This
->
allocator
);
hr
=
IVMRImagePresenter9_QueryInterface
(
This
->
presenter
,
&
IID_IVMRSurfaceAllocator9
,
(
void
**
)
&
This
->
allocator
);
if
(
FAILED
(
hr
))
{
ERR
(
"Unable to find Presenter interface
\n
"
);
...
...
@@ -2530,8 +2531,8 @@ static HRESULT WINAPI VMR9_ImagePresenter_QueryInterface(IVMRImagePresenter9 *if
if
(
IsEqualIID
(
riid
,
&
IID_IUnknown
)
||
IsEqualIID
(
riid
,
&
IID_IVMRImagePresenter9
))
*
ppv
=
&
This
->
IVMRImagePresenter9_iface
;
else
if
(
IsEqualIID
(
riid
,
&
IID_IVMRSurfaceAllocator
Ex
9
))
*
ppv
=
&
This
->
IVMRSurfaceAllocator
Ex
9_iface
;
else
if
(
IsEqualIID
(
riid
,
&
IID_IVMRSurfaceAllocator9
))
*
ppv
=
&
This
->
IVMRSurfaceAllocator9_iface
;
if
(
*
ppv
)
{
...
...
@@ -2667,25 +2668,22 @@ static const IVMRImagePresenter9Vtbl VMR9_ImagePresenter =
VMR9_ImagePresenter_PresentImage
};
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_QueryInterface
(
IVMRSurfaceAllocator
Ex9
*
iface
,
REFIID
riid
,
LPVOID
*
ppv
)
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_QueryInterface
(
IVMRSurfaceAllocator
9
*
iface
,
REFIID
iid
,
void
**
out
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocatorEx9
(
iface
);
return
VMR9_ImagePresenter_QueryInterface
(
&
This
->
IVMRImagePresenter9_iface
,
riid
,
ppv
);
struct
default_presenter
*
presenter
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
return
IVMRImagePresenter9_QueryInterface
(
&
presenter
->
IVMRImagePresenter9_iface
,
iid
,
out
);
}
static
ULONG
WINAPI
VMR9_SurfaceAllocator_AddRef
(
IVMRSurfaceAllocator
Ex
9
*
iface
)
static
ULONG
WINAPI
VMR9_SurfaceAllocator_AddRef
(
IVMRSurfaceAllocator9
*
iface
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocatorEx9
(
iface
);
return
VMR9_ImagePresenter_AddRef
(
&
This
->
IVMRImagePresenter9_iface
);
struct
default_presenter
*
presenter
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
return
IVMRImagePresenter9_AddRef
(
&
presenter
->
IVMRImagePresenter9_iface
);
}
static
ULONG
WINAPI
VMR9_SurfaceAllocator_Release
(
IVMRSurfaceAllocator
Ex
9
*
iface
)
static
ULONG
WINAPI
VMR9_SurfaceAllocator_Release
(
IVMRSurfaceAllocator9
*
iface
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocatorEx9
(
iface
);
return
VMR9_ImagePresenter_Release
(
&
This
->
IVMRImagePresenter9_iface
);
struct
default_presenter
*
presenter
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
return
IVMRImagePresenter9_Release
(
&
presenter
->
IVMRImagePresenter9_iface
);
}
static
HRESULT
VMR9_SurfaceAllocator_SetAllocationSettings
(
struct
default_presenter
*
This
,
VMR9AllocationInfo
*
allocinfo
)
...
...
@@ -2827,9 +2825,10 @@ static BOOL CreateRenderingWindow(struct default_presenter *This, VMR9Allocation
return
TRUE
;
}
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_InitializeDevice
(
IVMRSurfaceAllocatorEx9
*
iface
,
DWORD_PTR
id
,
VMR9AllocationInfo
*
allocinfo
,
DWORD
*
numbuffers
)
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_InitializeDevice
(
IVMRSurfaceAllocator9
*
iface
,
DWORD_PTR
cookie
,
VMR9AllocationInfo
*
allocinfo
,
DWORD
*
numbuffers
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator
Ex
9
(
iface
);
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
This
->
info
=
*
allocinfo
;
...
...
@@ -2842,16 +2841,17 @@ static HRESULT WINAPI VMR9_SurfaceAllocator_InitializeDevice(IVMRSurfaceAllocato
return
S_OK
;
}
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_TerminateDevice
(
IVMRSurfaceAllocator
Ex9
*
iface
,
DWORD_PTR
id
)
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_TerminateDevice
(
IVMRSurfaceAllocator
9
*
iface
,
DWORD_PTR
cookie
)
{
TRACE
(
"iface %p,
id %#lx.
\n
"
,
iface
,
id
);
TRACE
(
"iface %p,
cookie %#lx.
\n
"
,
iface
,
cookie
);
return
S_OK
;
}
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_GetSurface
(
IVMRSurfaceAllocatorEx9
*
iface
,
DWORD_PTR
id
,
DWORD
surfaceindex
,
DWORD
flags
,
IDirect3DSurface9
**
surface
)
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_GetSurface
(
IVMRSurfaceAllocator9
*
iface
,
DWORD_PTR
cookie
,
DWORD
surfaceindex
,
DWORD
flags
,
IDirect3DSurface9
**
surface
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator
Ex
9
(
iface
);
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
/* Update everything first, this is needed because the surface might be destroyed in the reset */
if
(
!
This
->
d3d9_dev
)
...
...
@@ -2871,9 +2871,10 @@ static HRESULT WINAPI VMR9_SurfaceAllocator_GetSurface(IVMRSurfaceAllocatorEx9 *
return
S_OK
;
}
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_AdviseNotify
(
IVMRSurfaceAllocatorEx9
*
iface
,
IVMRSurfaceAllocatorNotify9
*
allocnotify
)
static
HRESULT
WINAPI
VMR9_SurfaceAllocator_AdviseNotify
(
IVMRSurfaceAllocator9
*
iface
,
IVMRSurfaceAllocatorNotify9
*
allocnotify
)
{
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator
Ex
9
(
iface
);
struct
default_presenter
*
This
=
impl_from_IVMRSurfaceAllocator9
(
iface
);
TRACE
(
"(%p/%p)->(...)
\n
"
,
iface
,
This
);
...
...
@@ -2882,7 +2883,7 @@ static HRESULT WINAPI VMR9_SurfaceAllocator_AdviseNotify(IVMRSurfaceAllocatorEx9
return
S_OK
;
}
static
const
IVMRSurfaceAllocator
Ex
9Vtbl
VMR9_SurfaceAllocator
=
static
const
IVMRSurfaceAllocator9Vtbl
VMR9_SurfaceAllocator
=
{
VMR9_SurfaceAllocator_QueryInterface
,
VMR9_SurfaceAllocator_AddRef
,
...
...
@@ -2891,7 +2892,6 @@ static const IVMRSurfaceAllocatorEx9Vtbl VMR9_SurfaceAllocator =
VMR9_SurfaceAllocator_TerminateDevice
,
VMR9_SurfaceAllocator_GetSurface
,
VMR9_SurfaceAllocator_AdviseNotify
,
NULL
/* This isn't the SurfaceAllocatorEx type yet, working on it */
};
static
IDirect3D9
*
init_d3d9
(
HMODULE
d3d9_handle
)
...
...
@@ -2940,7 +2940,7 @@ static HRESULT VMR9DefaultAllocatorPresenterImpl_create(struct quartz_vmr *paren
}
object
->
IVMRImagePresenter9_iface
.
lpVtbl
=
&
VMR9_ImagePresenter
;
object
->
IVMRSurfaceAllocator
Ex
9_iface
.
lpVtbl
=
&
VMR9_SurfaceAllocator
;
object
->
IVMRSurfaceAllocator9_iface
.
lpVtbl
=
&
VMR9_SurfaceAllocator
;
object
->
refCount
=
1
;
object
->
pVMR9
=
parent
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment