Added patches to improve stubs for AEV_{Get,Set}MasterVolumeLevel and AEV_{Get,Set}Mute.

This commit is contained in:
Sebastian Lackner 2015-02-15 14:53:01 +01:00
parent c3d4426edd
commit eab42cde10
8 changed files with 154 additions and 8 deletions

View File

@ -38,7 +38,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [9]:**
**Bugfixes and features included in the next upcoming release [11]:**
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
* Add stub for ntoskrnl.ExDeleteResourceLite
@ -49,6 +49,8 @@ Included bug fixes and improvements
* Do not access stack below ESP when restoring thread context.
* Implement D3DXGetShaderOutputSemantics
* Implement IApplicationAssociationRegistration::QueryCurrentDefault. ([Wine Bug #34654](https://bugs.winehq.org/show_bug.cgi?id=34654))
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
* Improve stubs for AEV_{Get,Set}Mute
**Bugs fixed in Wine Staging 1.7.36 [167]:**

2
debian/changelog vendored
View File

@ -11,6 +11,8 @@ wine-staging (1.7.37) UNRELEASED; urgency=low
* Added patch to add stub for ntoskrnl.ExDeleteResourceLite.
* Added patch to avoid accessing stack below ESP when restoring thread context.
* Added patch to implement IApplicationAssociationRegistration::QueryCurrentDefault.
* Added patch to improve stubs for AEV_{Get,Set}MasterVolumeLevel.
* Added patch to improve stubs for AEV_{Get,Set}Mute.
* Removed patches for UTF7 support (accepted upstream).
* Removed patches for SIO_ADDRESS_LIST_CHANGE ioctl (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 08 Feb 2015 20:29:38 +0100

View File

@ -1 +0,0 @@
Fixes: [35658] Improve stub for AEV_GetVolumeRange

View File

@ -0,0 +1,70 @@
From 6e92d3988f6678c45e8752000170f07d186d9c9e Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 8 Feb 2015 11:38:17 +0100
Subject: mmdevapi: Improve AEV_SetMasterVolumeLevel and
AEV_GetMasterVolumeLevel stubs.
---
dlls/mmdevapi/audiovolume.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/dlls/mmdevapi/audiovolume.c b/dlls/mmdevapi/audiovolume.c
index 4cc3226..4765935 100644
--- a/dlls/mmdevapi/audiovolume.c
+++ b/dlls/mmdevapi/audiovolume.c
@@ -47,6 +47,7 @@ static const IAudioEndpointVolumeExVtbl AEVImpl_Vtbl;
typedef struct AEVImpl {
IAudioEndpointVolumeEx IAudioEndpointVolumeEx_iface;
LONG ref;
+ float level;
} AEVImpl;
static inline AEVImpl *impl_from_IAudioEndpointVolumeEx(IAudioEndpointVolumeEx *iface)
@@ -63,6 +64,7 @@ HRESULT AudioEndpointVolume_Create(MMDevice *parent, IAudioEndpointVolume **ppv)
return E_OUTOFMEMORY;
This->IAudioEndpointVolumeEx_iface.lpVtbl = &AEVImpl_Vtbl;
This->ref = 1;
+ This->level = 1.0f;
return S_OK;
}
@@ -136,9 +138,13 @@ static HRESULT WINAPI AEV_GetChannelCount(IAudioEndpointVolumeEx *iface, UINT *c
static HRESULT WINAPI AEV_SetMasterVolumeLevel(IAudioEndpointVolumeEx *iface, float leveldb, const GUID *ctx)
{
- TRACE("(%p)->(%f,%s)\n", iface, leveldb, debugstr_guid(ctx));
- FIXME("stub\n");
- return E_NOTIMPL;
+ AEVImpl *This = impl_from_IAudioEndpointVolumeEx(iface);
+
+ FIXME("(%p)->(%f,%s): stub\n", iface, leveldb, debugstr_guid(ctx));
+
+ This->level = leveldb;
+
+ return S_OK;
}
static HRESULT WINAPI AEV_SetMasterVolumeLevelScalar(IAudioEndpointVolumeEx *iface, float level, const GUID *ctx)
@@ -150,11 +156,16 @@ static HRESULT WINAPI AEV_SetMasterVolumeLevelScalar(IAudioEndpointVolumeEx *ifa
static HRESULT WINAPI AEV_GetMasterVolumeLevel(IAudioEndpointVolumeEx *iface, float *leveldb)
{
- TRACE("(%p)->(%p)\n", iface, leveldb);
+ AEVImpl *This = impl_from_IAudioEndpointVolumeEx(iface);
+
+ FIXME("(%p)->(%p): stub\n", iface, leveldb);
+
if (!leveldb)
return E_POINTER;
- FIXME("stub\n");
- return E_NOTIMPL;
+
+ *leveldb = This->level;
+
+ return S_OK;
}
static HRESULT WINAPI AEV_GetMasterVolumeLevelScalar(IAudioEndpointVolumeEx *iface, float *level)
--
2.3.0

View File

@ -0,0 +1,66 @@
From ccdb37883bd0ceeaad872dcd90e0b17d6dc7fd85 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Tue, 10 Feb 2015 20:12:12 +0100
Subject: mmdevapi: Improve AEV_SetMute and AEV_GetMute stubs.
---
dlls/mmdevapi/audiovolume.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/dlls/mmdevapi/audiovolume.c b/dlls/mmdevapi/audiovolume.c
index 4765935..c7d7ebe 100644
--- a/dlls/mmdevapi/audiovolume.c
+++ b/dlls/mmdevapi/audiovolume.c
@@ -48,6 +48,7 @@ typedef struct AEVImpl {
IAudioEndpointVolumeEx IAudioEndpointVolumeEx_iface;
LONG ref;
float level;
+ BOOL mute;
} AEVImpl;
static inline AEVImpl *impl_from_IAudioEndpointVolumeEx(IAudioEndpointVolumeEx *iface)
@@ -65,6 +66,7 @@ HRESULT AudioEndpointVolume_Create(MMDevice *parent, IAudioEndpointVolume **ppv)
This->IAudioEndpointVolumeEx_iface.lpVtbl = &AEVImpl_Vtbl;
This->ref = 1;
This->level = 1.0f;
+ This->mute = FALSE;
return S_OK;
}
@@ -211,18 +213,27 @@ static HRESULT WINAPI AEV_GetChannelVolumeLevelScalar(IAudioEndpointVolumeEx *if
static HRESULT WINAPI AEV_SetMute(IAudioEndpointVolumeEx *iface, BOOL mute, const GUID *ctx)
{
- TRACE("(%p)->(%u,%s)\n", iface, mute, debugstr_guid(ctx));
- FIXME("stub\n");
- return E_NOTIMPL;
+ AEVImpl *This = impl_from_IAudioEndpointVolumeEx(iface);
+
+ FIXME("(%p)->(%u,%s): stub\n", iface, mute, debugstr_guid(ctx));
+
+ This->mute = mute;
+
+ return S_OK;
}
static HRESULT WINAPI AEV_GetMute(IAudioEndpointVolumeEx *iface, BOOL *mute)
{
- TRACE("(%p)->(%p)\n", iface, mute);
+ AEVImpl *This = impl_from_IAudioEndpointVolumeEx(iface);
+
+ FIXME("(%p)->(%p): stub\n", iface, mute);
+
if (!mute)
return E_POINTER;
- FIXME("stub\n");
- return E_NOTIMPL;
+
+ *mute = This->mute;
+
+ return S_OK;
}
static HRESULT WINAPI AEV_GetVolumeStepInfo(IAudioEndpointVolumeEx *iface, UINT *stepsize, UINT *stepcount)
--
2.3.0

View File

@ -0,0 +1,3 @@
Fixes: [35658] Improve stub for AEV_GetVolumeRange
Fixes: Improve stubs for AEV_{Get,Set}MasterVolumeLevel
Fixes: Improve stubs for AEV_{Get,Set}Mute

View File

@ -108,7 +108,7 @@ patch_enable_all ()
enable_kernel32_VerifyVersionInfo="$1"
enable_libs_Unicode_Collation="$1"
enable_makedep_PARENTSPEC="$1"
enable_mmdevapi_AEV_GetVolumeRange="$1"
enable_mmdevapi_AEV_Stubs="$1"
enable_msvcp90_basic_string_wchar_dtor="$1"
enable_msvcrt_atof_strtod="$1"
enable_msvfw32_Image_Size="$1"
@ -353,8 +353,8 @@ patch_enable ()
makedep-PARENTSPEC)
enable_makedep_PARENTSPEC="$2"
;;
mmdevapi-AEV_GetVolumeRange)
enable_mmdevapi_AEV_GetVolumeRange="$2"
mmdevapi-AEV_Stubs)
enable_mmdevapi_AEV_Stubs="$2"
;;
msvcp90-basic_string_wchar_dtor)
enable_msvcp90_basic_string_wchar_dtor="$2"
@ -1869,7 +1869,7 @@ if test "$enable_makedep_PARENTSPEC" -eq 1; then
) >> "$patchlist"
fi
# Patchset mmdevapi-AEV_GetVolumeRange
# Patchset mmdevapi-AEV_Stubs
# |
# | This patchset fixes the following Wine bugs:
# | * [#35658] Improve stub for AEV_GetVolumeRange
@ -1877,10 +1877,14 @@ fi
# | Modified files:
# | * dlls/mmdevapi/audiovolume.c
# |
if test "$enable_mmdevapi_AEV_GetVolumeRange" -eq 1; then
patch_apply mmdevapi-AEV_GetVolumeRange/0001-mmdevapi-Improve-AEV_GetVolumeRange-stub.patch
if test "$enable_mmdevapi_AEV_Stubs" -eq 1; then
patch_apply mmdevapi-AEV_Stubs/0001-mmdevapi-Improve-AEV_GetVolumeRange-stub.patch
patch_apply mmdevapi-AEV_Stubs/0002-mmdevapi-Improve-AEV_SetMasterVolumeLevel-and-AEV_Ge.patch
patch_apply mmdevapi-AEV_Stubs/0003-mmdevapi-Improve-AEV_SetMute-and-AEV_GetMute-stubs.patch
(
echo '+ { "Christian Costa", "mmdevapi: Improve AEV_GetVolumeRange stub.", 1 },';
echo '+ { "Christian Costa", "mmdevapi: Improve AEV_SetMasterVolumeLevel and AEV_GetMasterVolumeLevel stubs.", 1 },';
echo '+ { "Christian Costa", "mmdevapi: Improve AEV_SetMute and AEV_GetMute stubs.", 1 },';
) >> "$patchlist"
fi