Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
7d5c4ec1
Commit
7d5c4ec1
authored
Apr 20, 2012
by
Aric Stewart
Committed by
Alexandre Julliard
Apr 20, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
strmbase: Have BaseControlVideo use BaseDispatch.
parent
c7b12c10
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
15 deletions
+26
-15
videorenderer.c
dlls/quartz/videorenderer.c
+1
-0
video.c
dlls/strmbase/video.c
+23
-15
strmbase.h
include/wine/strmbase.h
+2
-0
No files found.
dlls/quartz/videorenderer.c
View file @
7d5c4ec1
...
...
@@ -753,6 +753,7 @@ static ULONG WINAPI VideoRendererInner_Release(IUnknown * iface)
if
(
!
refCount
)
{
BaseControlWindow_Destroy
(
&
This
->
baseControlWindow
);
BaseControlVideo_Destroy
(
&
This
->
baseControlVideo
);
PostThreadMessageW
(
This
->
ThreadID
,
WM_QUIT
,
0
,
0
);
WaitForSingleObject
(
This
->
hThread
,
INFINITE
);
CloseHandle
(
This
->
hThread
);
...
...
dlls/strmbase/video.c
View file @
7d5c4ec1
...
...
@@ -43,43 +43,51 @@ HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBas
pControlVideo
->
pPin
=
pPin
;
pControlVideo
->
pFuncsTable
=
pFuncsTable
;
BaseDispatch_Init
(
&
pControlVideo
->
baseDispatch
,
&
IID_IBasicVideo
);
return
S_OK
;
}
HRESULT
WINAPI
BaseControlVideo
Impl_GetTypeInfoCount
(
IBasicVideo
*
iface
,
UINT
*
pctinf
o
)
HRESULT
WINAPI
BaseControlVideo
_Destroy
(
BaseControlVideo
*
pControlVide
o
)
{
BaseControlVideo
*
This
=
impl_from_IBasicVideo
(
iface
);
return
BaseDispatch_Destroy
(
&
pControlVideo
->
baseDispatch
);
}
FIXME
(
"(%p/%p)->(%p): stub !!!
\n
"
,
This
,
iface
,
pctinfo
);
HRESULT
WINAPI
BaseControlVideoImpl_GetTypeInfoCount
(
IBasicVideo
*
iface
,
UINT
*
pctinfo
)
{
BaseControlVideo
*
This
=
impl_from_IBasicVideo
(
iface
);
return
S_OK
;
return
BaseDispatchImpl_GetTypeInfoCount
(
&
This
->
baseDispatch
,
pctinfo
)
;
}
HRESULT
WINAPI
BaseControlVideoImpl_GetTypeInfo
(
IBasicVideo
*
iface
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
)
HRESULT
WINAPI
BaseControlVideoImpl_GetTypeInfo
(
IBasicVideo
*
iface
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
)
{
BaseControlVideo
*
This
=
impl_from_IBasicVideo
(
iface
);
FIXME
(
"(%p/%p)->(%d, %d, %p): stub !!!
\n
"
,
This
,
iface
,
iTInfo
,
lcid
,
ppTInfo
);
return
S_OK
;
return
BaseDispatchImpl_GetTypeInfo
(
&
This
->
baseDispatch
,
&
IID_NULL
,
iTInfo
,
lcid
,
ppTInfo
);
}
HRESULT
WINAPI
BaseControlVideoImpl_GetIDsOfNames
(
IBasicVideo
*
iface
,
REFIID
riid
,
LPOLESTR
*
rgszNames
,
UINT
cNames
,
LCID
lcid
,
DISPID
*
rgDispId
)
HRESULT
WINAPI
BaseControlVideoImpl_GetIDsOfNames
(
IBasicVideo
*
iface
,
REFIID
riid
,
LPOLESTR
*
rgszNames
,
UINT
cNames
,
LCID
lcid
,
DISPID
*
rgDispId
)
{
BaseControlVideo
*
This
=
impl_from_IBasicVideo
(
iface
);
FIXME
(
"(%p/%p)->(%s (%p), %p, %d, %d, %p): stub !!!
\n
"
,
This
,
iface
,
debugstr_guid
(
riid
),
riid
,
rgszNames
,
cNames
,
lcid
,
rgDispId
);
return
S_OK
;
return
BaseDispatchImpl_GetIDsOfNames
(
&
This
->
baseDispatch
,
riid
,
rgszNames
,
cNames
,
lcid
,
rgDispId
);
}
HRESULT
WINAPI
BaseControlVideoImpl_Invoke
(
IBasicVideo
*
iface
,
DISPID
dispIdMember
,
REFIID
riid
,
LCID
lcid
,
WORD
wFlags
,
DISPPARAMS
*
pDispParams
,
VARIANT
*
pVarResult
,
EXCEPINFO
*
pExepInfo
,
UINT
*
puArgErr
)
HRESULT
WINAPI
BaseControlVideoImpl_Invoke
(
IBasicVideo
*
iface
,
DISPID
dispIdMember
,
REFIID
riid
,
LCID
lcid
,
WORD
wFlags
,
DISPPARAMS
*
pDispParams
,
VARIANT
*
pVarResult
,
EXCEPINFO
*
pExepInfo
,
UINT
*
puArgErr
)
{
BaseControlVideo
*
This
=
impl_from_IBasicVideo
(
iface
);
HRESULT
hr
=
S_OK
;
ITypeInfo
*
pTypeInfo
;
FIXME
(
"(%p/%p)->(%d, %s (%p), %d, %04x, %p, %p, %p, %p): stub !!!
\n
"
,
This
,
iface
,
dispIdMember
,
debugstr_guid
(
riid
),
riid
,
lcid
,
wFlags
,
pDispParams
,
pVarResult
,
pExepInfo
,
puArgErr
);
hr
=
BaseDispatchImpl_GetTypeInfo
(
&
This
->
baseDispatch
,
riid
,
1
,
lcid
,
&
pTypeInfo
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
ITypeInfo_Invoke
(
pTypeInfo
,
&
This
->
IBasicVideo_iface
,
dispIdMember
,
wFlags
,
pDispParams
,
pVarResult
,
pExepInfo
,
puArgErr
);
ITypeInfo_Release
(
pTypeInfo
);
}
return
S_OK
;
return
hr
;
}
HRESULT
WINAPI
BaseControlVideoImpl_get_AvgTimePerFrame
(
IBasicVideo
*
iface
,
REFTIME
*
pAvgTimePerFrame
)
...
...
include/wine/strmbase.h
View file @
7d5c4ec1
...
...
@@ -483,6 +483,7 @@ HRESULT WINAPI BaseControlWindowImpl_IsCursorHidden(IVideoWindow *iface, LONG *C
typedef
struct
tagBaseControlVideo
{
IBasicVideo
IBasicVideo_iface
;
BaseDispatch
baseDispatch
;
BaseFilter
*
pFilter
;
CRITICAL_SECTION
*
pInterfaceLock
;
...
...
@@ -517,6 +518,7 @@ typedef struct BaseControlVideoFuncTable {
}
BaseControlVideoFuncTable
;
HRESULT
WINAPI
BaseControlVideo_Init
(
BaseControlVideo
*
pControlVideo
,
const
IBasicVideoVtbl
*
lpVtbl
,
BaseFilter
*
owner
,
CRITICAL_SECTION
*
lock
,
BasePin
*
pPin
,
const
BaseControlVideoFuncTable
*
pFuncsTable
);
HRESULT
WINAPI
BaseControlVideo_Destroy
(
BaseControlVideo
*
pControlVideo
);
HRESULT
WINAPI
BaseControlVideoImpl_GetTypeInfoCount
(
IBasicVideo
*
iface
,
UINT
*
pctinfo
);
HRESULT
WINAPI
BaseControlVideoImpl_GetTypeInfo
(
IBasicVideo
*
iface
,
UINT
iTInfo
,
LCID
lcid
,
ITypeInfo
**
ppTInfo
);
...
...
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