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
65381d1c
Commit
65381d1c
authored
Dec 01, 2011
by
Andrew Eikum
Committed by
Alexandre Julliard
Dec 01, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wineoss.drv: Remove volume setting support.
parent
191bc054
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
95 deletions
+10
-95
mmdevdrv.c
dlls/wineoss.drv/mmdevdrv.c
+10
-95
No files found.
dlls/wineoss.drv/mmdevdrv.c
View file @
65381d1c
...
...
@@ -165,7 +165,6 @@ static CRITICAL_SECTION g_sessions_lock = { &g_sessions_lock_debug, -1, 0, 0, 0,
static
struct
list
g_sessions
=
LIST_INIT
(
g_sessions
);
static
AudioSessionWrapper
*
AudioSessionWrapper_Create
(
ACImpl
*
client
);
static
HRESULT
oss_setvol
(
ACImpl
*
This
,
UINT32
index
);
static
const
IAudioClientVtbl
AudioClient_Vtbl
;
static
const
IAudioRenderClientVtbl
AudioRenderClient_Vtbl
;
...
...
@@ -993,8 +992,6 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
This
->
initted
=
TRUE
;
oss_setvol
(
This
,
-
1
);
LeaveCriticalSection
(
&
This
->
lock
);
return
S_OK
;
...
...
@@ -2405,83 +2402,6 @@ static const IAudioSessionControl2Vtbl AudioSessionControl2_Vtbl =
AudioSessionControl_SetDuckingPreference
};
/* index == -1 means set all channels, otherwise sets only the given channel */
static
HRESULT
oss_setvol
(
ACImpl
*
This
,
UINT32
index
)
{
int
setreq
,
getreq
;
unsigned
int
vol
;
unsigned
short
l
;
float
level
;
if
(
index
==
(
UINT32
)
-
1
){
HRESULT
ret
=
S_OK
;
UINT32
i
;
for
(
i
=
0
;
i
<
This
->
fmt
->
nChannels
;
++
i
){
HRESULT
hr
;
hr
=
oss_setvol
(
This
,
i
);
if
(
FAILED
(
hr
))
ret
=
hr
;
}
return
ret
;
}
if
(
index
>
1
)
/* OSS doesn't support volume control past the first two channels */
return
S_OK
;
if
(
This
->
dataflow
==
eRender
){
setreq
=
SNDCTL_DSP_SETPLAYVOL
;
getreq
=
SNDCTL_DSP_GETPLAYVOL
;
}
else
if
(
This
->
dataflow
==
eCapture
){
setreq
=
SNDCTL_DSP_SETRECVOL
;
getreq
=
SNDCTL_DSP_GETRECVOL
;
}
else
return
E_UNEXPECTED
;
if
(
ioctl
(
This
->
fd
,
getreq
,
&
vol
)
<
0
){
if
(
errno
==
EINVAL
)
/* device doesn't support this call */
return
S_OK
;
WARN
(
"GET[REC|PLAY]VOL failed: %d (%s)
\n
"
,
errno
,
strerror
(
errno
));
return
E_FAIL
;
}
level
=
This
->
session
->
master_vol
*
This
->
session
->
channel_vols
[
index
]
*
This
->
vols
[
index
];
l
=
level
*
100
;
if
(
index
==
0
)
vol
=
l
|
(
vol
&
0xFF00
);
else
vol
=
(
vol
&
0xFF
)
|
(
l
<<
8
);
if
(
ioctl
(
This
->
fd
,
setreq
,
&
vol
)
<
0
){
if
(
errno
==
EINVAL
)
/* device doesn't support this call */
return
S_OK
;
WARN
(
"SET[REC|PLAY]VOL failed: %d (%s)
\n
"
,
errno
,
strerror
(
errno
));
return
E_FAIL
;
}
return
S_OK
;
}
static
HRESULT
oss_session_setvol
(
AudioSession
*
session
,
UINT32
index
)
{
HRESULT
ret
=
S_OK
;
ACImpl
*
client
;
LIST_FOR_EACH_ENTRY
(
client
,
&
session
->
clients
,
ACImpl
,
entry
){
HRESULT
hr
;
hr
=
oss_setvol
(
client
,
index
);
if
(
FAILED
(
hr
))
ret
=
hr
;
}
return
ret
;
}
static
HRESULT
WINAPI
SimpleAudioVolume_QueryInterface
(
ISimpleAudioVolume
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
...
...
@@ -2520,7 +2440,6 @@ static HRESULT WINAPI SimpleAudioVolume_SetMasterVolume(
{
AudioSessionWrapper
*
This
=
impl_from_ISimpleAudioVolume
(
iface
);
AudioSession
*
session
=
This
->
session
;
HRESULT
ret
;
TRACE
(
"(%p)->(%f, %s)
\n
"
,
session
,
level
,
wine_dbgstr_guid
(
context
));
...
...
@@ -2534,11 +2453,11 @@ static HRESULT WINAPI SimpleAudioVolume_SetMasterVolume(
session
->
master_vol
=
level
;
ret
=
oss_session_setvol
(
session
,
-
1
);
TRACE
(
"OSS doesn't support setting volume
\n
"
);
LeaveCriticalSection
(
&
session
->
lock
);
return
ret
;
return
S_OK
;
}
static
HRESULT
WINAPI
SimpleAudioVolume_GetMasterVolume
(
...
...
@@ -2667,7 +2586,6 @@ static HRESULT WINAPI AudioStreamVolume_SetChannelVolume(
IAudioStreamVolume
*
iface
,
UINT32
index
,
float
level
)
{
ACImpl
*
This
=
impl_from_IAudioStreamVolume
(
iface
);
HRESULT
ret
;
TRACE
(
"(%p)->(%d, %f)
\n
"
,
This
,
index
,
level
);
...
...
@@ -2681,11 +2599,11 @@ static HRESULT WINAPI AudioStreamVolume_SetChannelVolume(
This
->
vols
[
index
]
=
level
;
ret
=
oss_setvol
(
This
,
index
);
TRACE
(
"OSS doesn't support setting volume
\n
"
);
LeaveCriticalSection
(
&
This
->
lock
);
return
ret
;
return
S_OK
;
}
static
HRESULT
WINAPI
AudioStreamVolume_GetChannelVolume
(
...
...
@@ -2711,7 +2629,6 @@ static HRESULT WINAPI AudioStreamVolume_SetAllVolumes(
{
ACImpl
*
This
=
impl_from_IAudioStreamVolume
(
iface
);
int
i
;
HRESULT
ret
;
TRACE
(
"(%p)->(%d, %p)
\n
"
,
This
,
count
,
levels
);
...
...
@@ -2726,11 +2643,11 @@ static HRESULT WINAPI AudioStreamVolume_SetAllVolumes(
for
(
i
=
0
;
i
<
count
;
++
i
)
This
->
vols
[
i
]
=
levels
[
i
];
ret
=
oss_setvol
(
This
,
-
1
);
TRACE
(
"OSS doesn't support setting volume
\n
"
);
LeaveCriticalSection
(
&
This
->
lock
);
return
ret
;
return
S_OK
;
}
static
HRESULT
WINAPI
AudioStreamVolume_GetAllVolumes
(
...
...
@@ -2824,7 +2741,6 @@ static HRESULT WINAPI ChannelAudioVolume_SetChannelVolume(
{
AudioSessionWrapper
*
This
=
impl_from_IChannelAudioVolume
(
iface
);
AudioSession
*
session
=
This
->
session
;
HRESULT
ret
;
TRACE
(
"(%p)->(%d, %f, %s)
\n
"
,
session
,
index
,
level
,
wine_dbgstr_guid
(
context
));
...
...
@@ -2842,11 +2758,11 @@ static HRESULT WINAPI ChannelAudioVolume_SetChannelVolume(
session
->
channel_vols
[
index
]
=
level
;
ret
=
oss_session_setvol
(
session
,
index
);
TRACE
(
"OSS doesn't support setting volume
\n
"
);
LeaveCriticalSection
(
&
session
->
lock
);
return
ret
;
return
S_OK
;
}
static
HRESULT
WINAPI
ChannelAudioVolume_GetChannelVolume
(
...
...
@@ -2875,7 +2791,6 @@ static HRESULT WINAPI ChannelAudioVolume_SetAllVolumes(
AudioSessionWrapper
*
This
=
impl_from_IChannelAudioVolume
(
iface
);
AudioSession
*
session
=
This
->
session
;
int
i
;
HRESULT
ret
;
TRACE
(
"(%p)->(%d, %p, %s)
\n
"
,
session
,
count
,
levels
,
wine_dbgstr_guid
(
context
));
...
...
@@ -2894,11 +2809,11 @@ static HRESULT WINAPI ChannelAudioVolume_SetAllVolumes(
for
(
i
=
0
;
i
<
count
;
++
i
)
session
->
channel_vols
[
i
]
=
levels
[
i
];
ret
=
oss_session_setvol
(
session
,
-
1
);
TRACE
(
"OSS doesn't support setting volume
\n
"
);
LeaveCriticalSection
(
&
session
->
lock
);
return
ret
;
return
S_OK
;
}
static
HRESULT
WINAPI
ChannelAudioVolume_GetAllVolumes
(
...
...
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