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
bb3d0676
Commit
bb3d0676
authored
Mar 31, 2020
by
Nikolay Sivov
Committed by
Alexandre Julliard
Mar 31, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rtworkq: Add MMCSS-related stubs.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
83af1237
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
98 additions
and
10 deletions
+98
-10
mfplat.spec
dlls/mfplat/mfplat.spec
+6
-2
queue.c
dlls/rtworkq/queue.c
+57
-0
rtworkq.spec
dlls/rtworkq/rtworkq.spec
+8
-8
mfapi.h
include/mfapi.h
+7
-0
rtworkq.idl
include/rtworkq.idl
+20
-0
No files found.
dlls/mfplat/mfplat.spec
View file @
bb3d0676
...
...
@@ -24,6 +24,7 @@
@ stdcall MFBeginCreateFile(long long long wstr ptr ptr ptr)
@ stub MFBeginGetHostByName
@ stub MFBeginRegisterWorkQueueWithMMCSS
@ stdcall MFBeginRegisterWorkQueueWithMMCSSEx(long wstr long long ptr ptr) rtworkq.RtwqBeginRegisterWorkQueueWithMMCSS
@ stub MFBeginUnregisterWorkQueueWithMMCSS
@ stub MFBlockThread
@ stub MFCalculateBitmapImageSize
...
...
@@ -107,8 +108,9 @@
@ stdcall MFGetSystemTime()
@ stdcall MFGetTimerPeriodicity(ptr)
@ stub MFGetUncompressedVideoFormat
@ stub MFGetWorkQueueMMCSSClass
@ stub MFGetWorkQueueMMCSSTaskId
@ stdcall MFGetWorkQueueMMCSSClass(long ptr ptr) rtworkq.RtwqGetWorkQueueMMCSSClass
@ stdcall MFGetWorkQueueMMCSSTaskId(long ptr) rtworkq.RtwqGetWorkQueueMMCSSTaskId
@ stdcall MFGetWorkQueueMMCSSPriority(long ptr) rtworkq.RtwqGetWorkQueueMMCSSPriority
@ stdcall MFHeapAlloc(long long str long long)
@ stdcall MFHeapFree(ptr)
@ stub MFInitAMMediaTypeFromMFMediaType
...
...
@@ -135,6 +137,7 @@
@ stub MFRecordError
@ stdcall MFRegisterLocalByteStreamHandler(wstr wstr ptr)
@ stdcall MFRegisterLocalSchemeHandler(wstr ptr)
@ stdcall MFRegisterPlatformWithMMCSS(wstr ptr long) rtworkq.RtwqRegisterPlatformWithMMCSS
@ stdcall MFRemovePeriodicCallback(long) rtworkq.RtwqRemovePeriodicCallback
@ stdcall MFScheduleWorkItem(ptr ptr int64 ptr)
@ stdcall MFScheduleWorkItemEx(ptr int64 ptr) rtworkq.RtwqScheduleWorkItem
...
...
@@ -156,6 +159,7 @@
@ stdcall MFTUnregister(int128)
@ stdcall MFTUnregisterLocal(ptr)
@ stdcall MFTUnregisterLocalByCLSID(int128)
@ stdcall MFUnregisterPlatformFromMMCSS() rtworkq.RtwqUnregisterPlatformFromMMCSS
@ stub MFTraceError
@ stub MFTraceFuncEnter
@ stub MFUnblockThread
...
...
dlls/rtworkq/queue.c
View file @
bb3d0676
...
...
@@ -1485,3 +1485,60 @@ HRESULT WINAPI RtwqUnjoinWorkQueue(DWORD queue, HANDLE cookie)
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqGetWorkQueueMMCSSClass
(
DWORD
queue
,
WCHAR
*
class
,
DWORD
*
length
)
{
FIXME
(
"%#x, %p, %p.
\n
"
,
queue
,
class
,
length
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqGetWorkQueueMMCSSTaskId
(
DWORD
queue
,
DWORD
*
taskid
)
{
FIXME
(
"%#x, %p.
\n
"
,
queue
,
taskid
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqGetWorkQueueMMCSSPriority
(
DWORD
queue
,
LONG
*
priority
)
{
FIXME
(
"%#x, %p.
\n
"
,
queue
,
priority
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqRegisterPlatformWithMMCSS
(
const
WCHAR
*
class
,
DWORD
*
taskid
,
LONG
priority
)
{
FIXME
(
"%s, %p, %d.
\n
"
,
debugstr_w
(
class
),
taskid
,
priority
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqUnregisterPlatformFromMMCSS
(
void
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqBeginRegisterWorkQueueWithMMCSS
(
DWORD
queue
,
const
WCHAR
*
class
,
DWORD
taskid
,
LONG
priority
,
IRtwqAsyncCallback
*
callback
,
IUnknown
*
state
)
{
FIXME
(
"%#x, %s, %u, %d, %p, %p.
\n
"
,
queue
,
debugstr_w
(
class
),
taskid
,
priority
,
callback
,
state
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqRegisterPlatformEvents
(
IRtwqPlatformEvents
*
events
)
{
FIXME
(
"%p.
\n
"
,
events
);
return
E_NOTIMPL
;
}
HRESULT
WINAPI
RtwqUnregisterPlatformEvents
(
IRtwqPlatformEvents
*
events
)
{
FIXME
(
"%p.
\n
"
,
events
);
return
E_NOTIMPL
;
}
dlls/rtworkq/rtworkq.spec
View file @
bb3d0676
@ stdcall RtwqAddPeriodicCallback(ptr ptr ptr)
@ stdcall RtwqAllocateSerialWorkQueue(long ptr)
@ stdcall RtwqAllocateWorkQueue(long ptr)
@ st
ub RtwqBeginRegisterWorkQueueWithMMCSS
@ st
dcall RtwqBeginRegisterWorkQueueWithMMCSS(long wstr long long ptr ptr)
@ stub RtwqBeginUnregisterWorkQueueWithMMCSS
@ stdcall RtwqCancelDeadline(long)
@ stub RtwqCancelMultipleWaitingWorkItem
...
...
@@ -10,9 +10,9 @@
@ stub RtwqEndRegisterWorkQueueWithMMCSS
@ stub RtwqEndUnregisterWorkQueueWithMMCSS
@ stub RtwqGetPlatform
@ st
ub RtwqGetWorkQueueMMCSSClass
@ st
ub RtwqGetWorkQueueMMCSSPriority
@ st
ub RtwqGetWorkQueueMMCSSTaskId
@ st
dcall RtwqGetWorkQueueMMCSSClass(long ptr ptr)
@ st
dcall RtwqGetWorkQueueMMCSSPriority(long ptr)
@ st
dcall RtwqGetWorkQueueMMCSSTaskId(long ptr)
@ stdcall RtwqInvokeCallback(ptr)
@ stdcall RtwqJoinWorkQueue(long long ptr)
@ stdcall RtwqLockPlatform()
...
...
@@ -21,8 +21,8 @@
@ stub RtwqPutMultipleWaitingWorkItem
@ stdcall RtwqPutWaitingWorkItem(long long ptr ptr)
@ stdcall RtwqPutWorkItem(long long ptr)
@ st
ub RtwqRegisterPlatformEvents
@ st
ub RtwqRegisterPlatformWithMMCSS
@ st
dcall RtwqRegisterPlatformEvents(ptr)
@ st
dcall RtwqRegisterPlatformWithMMCSS(wstr ptr long)
@ stdcall RtwqRemovePeriodicCallback(long)
@ stdcall RtwqScheduleWorkItem(ptr int64 ptr)
@ stdcall RtwqSetDeadline(long int64 ptr)
...
...
@@ -33,5 +33,5 @@
@ stdcall RtwqUnjoinWorkQueue(long long)
@ stdcall RtwqUnlockPlatform()
@ stdcall RtwqUnlockWorkQueue(long)
@ st
ub RtwqUnregisterPlatformEvents
@ st
ub RtwqUnregisterPlatformFromMMCSS
@ st
dcall RtwqUnregisterPlatformEvents(ptr)
@ st
dcall RtwqUnregisterPlatformFromMMCSS()
include/mfapi.h
View file @
bb3d0676
...
...
@@ -488,6 +488,8 @@ HRESULT WINAPI MFAllocateWorkQueue(DWORD *queue);
HRESULT
WINAPI
MFAllocateWorkQueueEx
(
MFASYNC_WORKQUEUE_TYPE
queue_type
,
DWORD
*
queue
);
HRESULT
WINAPI
MFBeginCreateFile
(
MF_FILE_ACCESSMODE
access_mode
,
MF_FILE_OPENMODE
open_mode
,
MF_FILE_FLAGS
flags
,
const
WCHAR
*
path
,
IMFAsyncCallback
*
callback
,
IUnknown
*
state
,
IUnknown
**
cancel_cookie
);
HRESULT
WINAPI
MFBeginRegisterWorkQueueWithMMCSSEx
(
DWORD
queue
,
const
WCHAR
*
usage_class
,
DWORD
taskid
,
LONG
priority
,
IMFAsyncCallback
*
callback
,
IUnknown
*
state
);
HRESULT
WINAPI
MFCalculateImageSize
(
REFGUID
subtype
,
UINT32
width
,
UINT32
height
,
UINT32
*
size
);
HRESULT
WINAPI
MFCancelCreateFile
(
IUnknown
*
cancel_cookie
);
HRESULT
WINAPI
MFCancelWorkItem
(
MFWORKITEM_KEY
key
);
...
...
@@ -518,6 +520,9 @@ HRESULT WINAPI MFGetAttributesAsBlobSize(IMFAttributes *attributes, UINT32 *size
HRESULT
WINAPI
MFGetStrideForBitmapInfoHeader
(
DWORD
format
,
DWORD
width
,
LONG
*
stride
);
HRESULT
WINAPI
MFGetPlaneSize
(
DWORD
format
,
DWORD
width
,
DWORD
height
,
DWORD
*
size
);
HRESULT
WINAPI
MFGetTimerPeriodicity
(
DWORD
*
periodicity
);
HRESULT
WINAPI
MFGetWorkQueueMMCSSClass
(
DWORD
queue
,
WCHAR
*
class
,
DWORD
*
length
);
HRESULT
WINAPI
MFGetWorkQueueMMCSSPriority
(
DWORD
queue
,
LONG
*
priority
);
HRESULT
WINAPI
MFGetWorkQueueMMCSSTaskId
(
DWORD
queue
,
DWORD
*
taskid
);
HRESULT
WINAPI
MFTEnum
(
GUID
category
,
UINT32
flags
,
MFT_REGISTER_TYPE_INFO
*
input_type
,
MFT_REGISTER_TYPE_INFO
*
output_type
,
IMFAttributes
*
attributes
,
CLSID
**
pclsids
,
UINT32
*
pcount
);
...
...
@@ -535,6 +540,7 @@ HRESULT WINAPI MFPutWorkItemEx(DWORD queue, IMFAsyncResult *result);
HRESULT
WINAPI
MFPutWorkItemEx2
(
DWORD
queue
,
LONG
priority
,
IMFAsyncResult
*
result
);
HRESULT
WINAPI
MFRegisterLocalByteStreamHandler
(
const
WCHAR
*
extension
,
const
WCHAR
*
mime
,
IMFActivate
*
activate
);
HRESULT
WINAPI
MFRegisterLocalSchemeHandler
(
const
WCHAR
*
scheme
,
IMFActivate
*
activate
);
HRESULT
WINAPI
MFRegisterPlatformWithMMCSS
(
const
WCHAR
*
usage_class
,
DWORD
*
taskid
,
LONG
priority
);
HRESULT
WINAPI
MFScheduleWorkItem
(
IMFAsyncCallback
*
callback
,
IUnknown
*
state
,
INT64
timeout
,
MFWORKITEM_KEY
*
key
);
HRESULT
WINAPI
MFScheduleWorkItemEx
(
IMFAsyncResult
*
result
,
INT64
timeout
,
MFWORKITEM_KEY
*
key
);
HRESULT
WINAPI
MFTRegister
(
CLSID
clsid
,
GUID
category
,
LPWSTR
name
,
UINT32
flags
,
UINT32
cinput
,
...
...
@@ -551,6 +557,7 @@ HRESULT WINAPI MFShutdown(void);
HRESULT
WINAPI
MFStartup
(
ULONG
version
,
DWORD
flags
);
HRESULT
WINAPI
MFUnlockPlatform
(
void
);
HRESULT
WINAPI
MFUnlockWorkQueue
(
DWORD
queue
);
HRESULT
WINAPI
MFUnregisterPlatformFromMMCSS
(
void
);
HRESULT
WINAPI
MFTUnregister
(
CLSID
clsid
);
HRESULT
WINAPI
MFTUnregisterLocal
(
IClassFactory
*
factory
);
HRESULT
WINAPI
MFTUnregisterLocalByCLSID
(
CLSID
clsid
);
...
...
include/rtworkq.idl
View file @
bb3d0676
...
...
@@ -52,6 +52,18 @@ interface IRtwqAsyncCallback : IUnknown
HRESULT
Invoke
(
[
in
]
IRtwqAsyncResult
*
result
)
;
}
[
object
,
uuid
(
63
d9255a
-
7
ff1
-
4b61
-
8
faf
-
ed6460dacf2b
),
local
]
interface
IRtwqPlatformEvents
:
IUnknown
{
HRESULT
InitializationComplete
(
void
)
;
HRESULT
ShutdownStart
(
void
)
;
HRESULT
ShutdownComplete
(
void
)
;
}
cpp_quote
(
"#define RTWQ_E_ERROR(x) ((HRESULT)(0xc00d0000L+x))"
)
cpp_quote
(
"#define RTWQ_E_BUFFERTOOSMALL RTWQ_E_ERROR(14001)"
)
cpp_quote
(
"#define RTWQ_E_NOT_INITIALIZED RTWQ_E_ERROR(14006)"
)
...
...
@@ -80,9 +92,13 @@ cpp_quote("typedef void (WINAPI *RTWQPERIODICCALLBACK)(IUnknown *context);")
cpp_quote
(
"HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, IUnknown *context, DWORD *key);"
)
cpp_quote
(
"HRESULT WINAPI RtwqAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue);"
)
cpp_quote
(
"HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue);"
)
cpp_quote
(
"HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *class, DWORD taskid, LONG priority, IRtwqAsyncCallback *callback, IUnknown *state);"
)
cpp_quote
(
"HRESULT WINAPI RtwqCancelDeadline(HANDLE request);"
)
cpp_quote
(
"HRESULT WINAPI RtwqCancelWorkItem(RTWQWORKITEM_KEY key);"
)
cpp_quote
(
"HRESULT WINAPI RtwqCreateAsyncResult(IUnknown *object, IRtwqAsyncCallback *callback, IUnknown *state, IRtwqAsyncResult **result);"
)
cpp_quote
(
"HRESULT WINAPI RtwqGetWorkQueueMMCSSClass(DWORD queue, WCHAR *class, DWORD *length);"
)
cpp_quote
(
"HRESULT WINAPI RtwqGetWorkQueueMMCSSPriority(DWORD queue, LONG *priority);"
)
cpp_quote
(
"HRESULT WINAPI RtwqGetWorkQueueMMCSSTaskId(DWORD queue, DWORD *taskid);"
)
cpp_quote
(
"HRESULT WINAPI RtwqInvokeCallback(IRtwqAsyncResult *result);"
)
cpp_quote
(
"HRESULT WINAPI RtwqJoinWorkQueue(DWORD queue, HANDLE hFile, HANDLE *cookie);"
)
cpp_quote
(
"HRESULT WINAPI RtwqLockPlatform(void);"
)
...
...
@@ -90,6 +106,8 @@ cpp_quote("HRESULT WINAPI RtwqLockSharedWorkQueue(const WCHAR *usageclass, LONG
cpp_quote
(
"HRESULT WINAPI RtwqLockWorkQueue(DWORD queue);"
)
cpp_quote
(
"HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IRtwqAsyncResult *result, RTWQWORKITEM_KEY *key);"
)
cpp_quote
(
"HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result);"
)
cpp_quote
(
"HRESULT WINAPI RtwqRegisterPlatformEvents(IRtwqPlatformEvents *events);"
)
cpp_quote
(
"HRESULT WINAPI RtwqRegisterPlatformWithMMCSS(const WCHAR *class, DWORD *taskid, LONG priority);"
)
cpp_quote
(
"HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key);"
)
cpp_quote
(
"HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key);"
)
cpp_quote
(
"HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request);"
)
...
...
@@ -100,3 +118,5 @@ cpp_quote("HRESULT WINAPI RtwqStartup(void);")
cpp_quote
(
"HRESULT WINAPI RtwqUnjoinWorkQueue(DWORD queue, HANDLE cookie);"
)
cpp_quote
(
"HRESULT WINAPI RtwqUnlockPlatform(void);"
)
cpp_quote
(
"HRESULT WINAPI RtwqUnlockWorkQueue(DWORD queue);"
)
cpp_quote
(
"HRESULT WINAPI RtwqUnregisterPlatformEvents(IRtwqPlatformEvents *events);"
)
cpp_quote
(
"HRESULT WINAPI RtwqUnregisterPlatformFromMMCSS(void);"
)
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