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
e5917001
Commit
e5917001
authored
Dec 01, 2010
by
Maarten Lankhorst
Committed by
Alexandre Julliard
Dec 01, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quartz: Fill up sound buffer while in paused state.
parent
6e69cd4d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
7 deletions
+6
-7
dsoundrender.c
dlls/quartz/dsoundrender.c
+6
-7
No files found.
dlls/quartz/dsoundrender.c
View file @
e5917001
...
...
@@ -146,7 +146,9 @@ static HRESULT DSoundRender_GetWritePos(DSoundRenderImpl *This, DWORD *ret_write
DSoundRender_UpdatePositions
(
This
,
&
writepos
,
&
min_writepos
);
playpos
=
This
->
last_playpos
;
if
(
This
->
filter
.
pClock
==
(
IReferenceClock
*
)
&
This
->
IReferenceClock_vtbl
)
{
if
(
This
->
filter
.
state
==
State_Paused
)
{
write_at
=
cur
=
-
1
;
}
else
if
(
This
->
filter
.
pClock
==
(
IReferenceClock
*
)
&
This
->
IReferenceClock_vtbl
)
{
max_lag
=
min_lag
;
cur
=
This
->
play_time
+
time_from_pos
(
This
,
playpos
);
cur
-=
This
->
filter
.
rtStreamStart
;
...
...
@@ -226,12 +228,10 @@ static HRESULT DSoundRender_SendSampleData(DSoundRenderImpl* This, REFERENCE_TIM
DWORD
writepos
,
skip
=
0
,
free
,
size1
,
size2
,
ret
;
BYTE
*
buf1
,
*
buf2
;
if
(
This
->
filter
.
state
==
State_Running
)
hr
=
DSoundRender_GetWritePos
(
This
,
&
writepos
,
tStart
,
&
free
,
&
skip
);
else
hr
=
S_FALSE
;
hr
=
DSoundRender_GetWritePos
(
This
,
&
writepos
,
tStart
,
&
free
,
&
skip
);
if
(
hr
!=
S_OK
)
{
SetEvent
(
This
->
state_change
);
This
->
in_loop
=
1
;
LeaveCriticalSection
(
&
This
->
filter
.
csFilter
);
ret
=
WaitForSingleObject
(
This
->
blocked
,
10
);
...
...
@@ -251,7 +251,7 @@ static HRESULT DSoundRender_SendSampleData(DSoundRenderImpl* This, REFERENCE_TIM
if
(
skip
)
FIXME
(
"Sample dropped %u of %u bytes
\n
"
,
skip
,
size
);
if
(
skip
>=
size
)
return
S_OK
;
break
;
data
+=
skip
;
size
-=
skip
;
...
...
@@ -362,7 +362,6 @@ static HRESULT WINAPI DSoundRender_Receive(BaseInputPin *pin, IMediaSample * pSa
cbSrcStream
=
IMediaSample_GetActualDataLength
(
pSample
);
TRACE
(
"Sample data ptr = %p, size = %d
\n
"
,
pbSrcStream
,
cbSrcStream
);
SetEvent
(
This
->
state_change
);
hr
=
DSoundRender_SendSampleData
(
This
,
tStart
,
tStop
,
pbSrcStream
,
cbSrcStream
);
LeaveCriticalSection
(
&
This
->
filter
.
csFilter
);
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