Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
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
Иван Мажукин
mpd
Commits
0f39dc1e
Commit
0f39dc1e
authored
Mar 04, 2021
by
Shen-Ta Hsieh
Committed by
Max Kellermann
Mar 04, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
output/wasapi: use AUDCLNT_BUFFERFLAGS_SILENT for paused output
parent
dc9103be
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
4 deletions
+7
-4
WasapiOutputPlugin.cxx
src/output/plugins/WasapiOutputPlugin.cxx
+7
-4
No files found.
src/output/plugins/WasapiOutputPlugin.cxx
View file @
0f39dc1e
...
...
@@ -275,6 +275,7 @@ void WasapiOutputThread::Work() noexcept {
}
BYTE
*
data
;
DWORD
mode
=
0
;
result
=
render_client
->
GetBuffer
(
write_in_frames
,
&
data
);
if
(
FAILED
(
result
))
{
...
...
@@ -282,18 +283,20 @@ void WasapiOutputThread::Work() noexcept {
}
AtScopeExit
(
&
)
{
render_client
->
ReleaseBuffer
(
write_in_frames
,
0
);
render_client
->
ReleaseBuffer
(
write_in_frames
,
mode
);
};
const
UINT32
write_size
=
write_in_frames
*
frame_size
;
UINT32
new_data_size
=
0
;
if
(
current_state
==
Status
::
PLAY
)
{
const
UINT32
write_size
=
write_in_frames
*
frame_size
;
UINT32
new_data_size
=
0
;
new_data_size
=
spsc_buffer
.
pop
(
data
,
write_size
);
std
::
fill_n
(
data
+
new_data_size
,
write_size
-
new_data_size
,
0
);
}
else
{
mode
=
AUDCLNT_BUFFERFLAGS_SILENT
;
FormatDebug
(
wasapi_output_domain
,
"Working thread paused"
);
}
std
::
fill_n
(
data
+
new_data_size
,
write_size
-
new_data_size
,
0
);
}
catch
(...)
{
std
::
unique_lock
<
Mutex
>
lock
(
error
.
mutex
);
error
.
error_ptr
=
std
::
current_exception
();
...
...
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