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
a335f68b
Commit
a335f68b
authored
Jul 29, 2007
by
Maarten Lankhorst
Committed by
Alexandre Julliard
Jul 30, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dsound: Fix locking in mixer.
parent
8aaeb0d4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
3 deletions
+5
-3
mixer.c
dlls/dsound/mixer.c
+5
-3
No files found.
dlls/dsound/mixer.c
View file @
a335f68b
...
@@ -891,7 +891,7 @@ static void DSOUND_PerformMix(DirectSoundDevice *device)
...
@@ -891,7 +891,7 @@ static void DSOUND_PerformMix(DirectSoundDevice *device)
}
}
if
(
lock
)
if
(
lock
)
IDsDriverBuffer_Lock
(
device
->
hwbuf
,
&
buf1
,
&
size1
,
&
buf2
,
&
size2
,
device
->
mix
pos
,
maxq
,
0
);
IDsDriverBuffer_Lock
(
device
->
hwbuf
,
&
buf1
,
&
size1
,
&
buf2
,
&
size2
,
write
pos
,
maxq
,
0
);
/* do the mixing */
/* do the mixing */
frag
=
DSOUND_MixToPrimary
(
device
,
writepos
,
maxq
,
recover
,
&
all_stopped
);
frag
=
DSOUND_MixToPrimary
(
device
,
writepos
,
maxq
,
recover
,
&
all_stopped
);
...
@@ -960,9 +960,11 @@ static void DSOUND_PerformMix(DirectSoundDevice *device)
...
@@ -960,9 +960,11 @@ static void DSOUND_PerformMix(DirectSoundDevice *device)
}
else
{
}
else
{
/* update the wave queue if using wave system */
/* update the wave queue if using wave system */
if
(
device
->
hwbuf
==
NULL
)
{
if
(
device
->
hwbuf
==
NULL
)
DSOUND_WaveQueue
(
device
,
TRUE
);
DSOUND_WaveQueue
(
device
,
TRUE
);
}
else
/* Keep alsa happy, which needs GetPosition called once every 10 ms */
IDsDriverBuffer_GetPosition
(
device
->
hwbuf
,
NULL
,
NULL
);
/* in the DSSCL_WRITEPRIMARY mode, the app is totally in charge... */
/* in the DSSCL_WRITEPRIMARY mode, the app is totally in charge... */
if
(
device
->
state
==
STATE_STARTING
)
{
if
(
device
->
state
==
STATE_STARTING
)
{
...
...
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