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
6cd1c4e6
Commit
6cd1c4e6
authored
Sep 05, 2023
by
Rémi Bernon
Committed by
Alexandre Julliard
Sep 18, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
parent
eedde528
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
7 deletions
+18
-7
performance.c
dlls/dmime/performance.c
+18
-7
No files found.
dlls/dmime/performance.c
View file @
6cd1c4e6
...
...
@@ -74,7 +74,6 @@ struct DMUS_PMSGItem {
DMUS_PMSGItem
*
next
;
DMUS_PMSGItem
*
prev
;
REFERENCE_TIME
rtItemTime
;
BOOL
bInUse
;
DWORD
cb
;
DMUS_PMSG
pMsg
;
...
...
@@ -141,14 +140,14 @@ static DWORD WINAPI ProcessMsgThread(LPVOID lpParam) {
it
=
it_next
;
}
for
(
it
=
This
->
head
;
NULL
!=
it
&&
it
->
rtItem
Time
<
rtCurTime
+
dwDec
;
)
{
for
(
it
=
This
->
head
;
NULL
!=
it
&&
it
->
pMsg
.
rt
Time
<
rtCurTime
+
dwDec
;
)
{
it_next
=
it
->
next
;
cur
=
ProceedMsg
(
This
,
it
);
free
(
cur
);
it
=
it_next
;
}
if
(
NULL
!=
it
)
{
timeOut
=
(
it
->
rtItem
Time
-
rtCurTime
)
+
This
->
rtLatencyTime
;
timeOut
=
(
it
->
pMsg
.
rt
Time
-
rtCurTime
)
+
This
->
rtLatencyTime
;
}
outrefresh:
...
...
@@ -425,11 +424,22 @@ static HRESULT WINAPI performance_SendPMsg(IDirectMusicPerformance8 *iface, DMUS
hr
=
DMUS_E_ALREADY_SENT
;
else
{
/* TODO: Valid Flags */
/* TODO: DMUS_PMSGF_MUSICTIME */
message
->
rtItemTime
=
msg
->
rtTime
;
if
(
!
(
msg
->
dwFlags
&
DMUS_PMSGF_MUSICTIME
))
{
if
(
FAILED
(
hr
=
IDirectMusicPerformance8_ReferenceToMusicTime
(
iface
,
msg
->
rtTime
,
&
msg
->
mtTime
)))
goto
done
;
msg
->
dwFlags
|=
DMUS_PMSGF_MUSICTIME
;
}
if
(
!
(
msg
->
dwFlags
&
DMUS_PMSGF_REFTIME
))
{
if
(
FAILED
(
hr
=
IDirectMusicPerformance8_MusicToReferenceTime
(
iface
,
msg
->
mtTime
,
&
msg
->
rtTime
)))
goto
done
;
msg
->
dwFlags
|=
DMUS_PMSGF_REFTIME
;
}
for
(
it
=
*
queue
;
NULL
!=
it
&&
it
->
rtItemTime
<
message
->
rtItem
Time
;
it
=
it
->
next
)
for
(
it
=
*
queue
;
NULL
!=
it
&&
it
->
pMsg
.
rtTime
<
message
->
pMsg
.
rt
Time
;
it
=
it
->
next
)
prev_it
=
it
;
if
(
!
prev_it
)
...
...
@@ -452,6 +462,7 @@ static HRESULT WINAPI performance_SendPMsg(IDirectMusicPerformance8 *iface, DMUS
hr
=
S_OK
;
}
done:
LeaveCriticalSection
(
&
This
->
safe
);
return
hr
;
...
...
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