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
b4c5dd49
Commit
b4c5dd49
authored
Feb 21, 2019
by
Nikolay Sivov
Committed by
Alexandre Julliard
Feb 21, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mfplat: Implement MFInvokeCallback().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
0f0d4b14
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
3 deletions
+59
-3
mfplat.spec
dlls/mfplat/mfplat.spec
+3
-3
queue.c
dlls/mfplat/queue.c
+54
-0
mfapi.h
include/mfapi.h
+2
-0
No files found.
dlls/mfplat/mfplat.spec
View file @
b4c5dd49
...
...
@@ -116,12 +116,12 @@
@ stub MFInitMediaTypeFromWaveFormatEx
@ stub MFInitVideoFormat
@ stub MFInitVideoFormat_RGB
@ st
ub MFInvokeCallback
@ st
dcall MFInvokeCallback(ptr)
@ stub MFJoinIoPort
@ stdcall MFLockPlatform()
@ stdcall MFLockWorkQueue(long)
@ st
ub MFPutWorkItem
@ st
ub MFPutWorkItemEx
@ st
dcall MFPutWorkItem(long ptr ptr)
@ st
dcall MFPutWorkItemEx(long ptr)
@ stub MFRecordError
@ stub MFRemovePeriodicCallback
@ stub MFScheduleWorkItem
...
...
dlls/mfplat/queue.c
View file @
b4c5dd49
...
...
@@ -331,3 +331,57 @@ HRESULT WINAPI MFUnlockWorkQueue(DWORD queue)
return
unlock_user_queue
(
queue
);
}
/***********************************************************************
* MFPutWorkItem (mfplat.@)
*/
HRESULT
WINAPI
MFPutWorkItem
(
DWORD
queue
,
IMFAsyncCallback
*
callback
,
IUnknown
*
state
)
{
IMFAsyncResult
*
result
;
HRESULT
hr
;
TRACE
(
"%#x, %p, %p.
\n
"
,
queue
,
callback
,
state
);
if
(
FAILED
(
hr
=
MFCreateAsyncResult
(
NULL
,
callback
,
state
,
&
result
)))
return
hr
;
hr
=
MFPutWorkItemEx
(
queue
,
result
);
IMFAsyncResult_Release
(
result
);
return
hr
;
}
/***********************************************************************
* MFPutWorkItemEx (mfplat.@)
*/
HRESULT
WINAPI
MFPutWorkItemEx
(
DWORD
queue
,
IMFAsyncResult
*
result
)
{
FIXME
(
"%#x, %p
\n
"
,
queue
,
result
);
return
E_NOTIMPL
;
}
/***********************************************************************
* MFInvokeCallback (mfplat.@)
*/
HRESULT
WINAPI
MFInvokeCallback
(
IMFAsyncResult
*
result
)
{
MFASYNCRESULT
*
result_data
=
(
MFASYNCRESULT
*
)
result
;
DWORD
queue
=
MFASYNC_CALLBACK_QUEUE_STANDARD
,
flags
;
HRESULT
hr
;
TRACE
(
"%p.
\n
"
,
result
);
if
(
FAILED
(
IMFAsyncCallback_GetParameters
(
result_data
->
pCallback
,
&
flags
,
&
queue
)))
queue
=
MFASYNC_CALLBACK_QUEUE_STANDARD
;
if
(
FAILED
(
MFLockWorkQueue
(
queue
)))
queue
=
MFASYNC_CALLBACK_QUEUE_STANDARD
;
hr
=
MFPutWorkItemEx
(
queue
,
result
);
MFUnlockWorkQueue
(
queue
);
return
hr
;
}
include/mfapi.h
View file @
b4c5dd49
...
...
@@ -102,6 +102,8 @@ HRESULT WINAPI MFTEnumEx(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_IN
UINT32
*
pcount
);
HRESULT
WINAPI
MFInvokeCallback
(
IMFAsyncResult
*
result
);
HRESULT
WINAPI
MFLockPlatform
(
void
);
HRESULT
WINAPI
MFPutWorkItem
(
DWORD
queue
,
IMFAsyncCallback
*
callback
,
IUnknown
*
state
);
HRESULT
WINAPI
MFPutWorkItemEx
(
DWORD
queue
,
IMFAsyncResult
*
result
);
HRESULT
WINAPI
MFTRegister
(
CLSID
clsid
,
GUID
category
,
LPWSTR
name
,
UINT32
flags
,
UINT32
cinput
,
MFT_REGISTER_TYPE_INFO
*
input_types
,
UINT32
coutput
,
MFT_REGISTER_TYPE_INFO
*
output_types
,
IMFAttributes
*
attributes
);
...
...
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