From a1b8f56b7f2c6b0a4a4bcd16849dbf7008f13b15 Mon Sep 17 00:00:00 2001 From: Sascha Lange Date: Tue, 5 Mar 2024 15:11:10 +0100 Subject: [PATCH] - Fix wrong sound volume control - Upgraded to .NET Framework 4.8 - Test Application with x64 support --- Source/DirectShow/MediaPlayers/BaseClasses.cs | 19 +++++++--- Source/Properties/AssemblyInfo.cs | 4 +-- Source/Properties/Resources.Designer.cs | 4 +-- Source/Properties/Settings.Designer.cs | 4 +-- Source/WPF MediaKit.csproj | 2 +- Test Application/EVRPresenter32.dll | Bin 39424 -> 42496 bytes Test Application/EVRPresenter64.dll | Bin 0 -> 54272 bytes Test Application/Properties/AssemblyInfo.cs | 2 +- .../Properties/Resources.Designer.cs | 16 ++++----- .../Properties/Settings.Designer.cs | 10 +++--- Test Application/Test Application.csproj | 34 ++++++++++++++++-- Test Application/app.config | 2 +- nuget/Package.nuspec | 4 +-- 13 files changed, 71 insertions(+), 30 deletions(-) create mode 100644 Test Application/EVRPresenter64.dll diff --git a/Source/DirectShow/MediaPlayers/BaseClasses.cs b/Source/DirectShow/MediaPlayers/BaseClasses.cs index b3cb7d3..f0bd23c 100644 --- a/Source/DirectShow/MediaPlayers/BaseClasses.cs +++ b/Source/DirectShow/MediaPlayers/BaseClasses.cs @@ -391,8 +391,16 @@ public virtual double Volume m_basicAudio.get_Volume(out dShowVolume); /* Do calulations to convert to a base of 0 for silence */ - dShowVolume -= DSHOW_VOLUME_SILENCE; - return (double)dShowVolume / -DSHOW_VOLUME_SILENCE; + if (dShowVolume <= DSHOW_VOLUME_SILENCE) + return 0.0; + else if (dShowVolume >= DSHOW_VOLUME_MAX) + return 1.0; + else + { + return Math.Pow(10, ((double)dShowVolume / 20 / 100)); + } + + } set { @@ -413,7 +421,10 @@ public virtual double Volume * for silence and DSHOW_VOLUME_MAX for full volume * so we calculate that here based off an input of 0 of silence and 1.0 * for full audio */ - int dShowVolume = (int)((1 - value) * DSHOW_VOLUME_SILENCE); + + //int dShowVolume = (int)((1 - value) * DSHOW_VOLUME_SILENCE); + + int dShowVolume = (int)(20 * Math.Log10(value) * 100); m_basicAudio.put_Volume(dShowVolume); } } @@ -857,7 +868,7 @@ private IBaseFilter CreateEnhancedVideoRenderer(IGraphBuilder graph, int streamC { var evr = new EnhancedVideoRenderer(); filter = evr as IBaseFilter; - + int hr = graph.AddFilter(filter, string.Format("Renderer: {0}", VideoRendererType.EnhancedVideoRenderer)); DsError.ThrowExceptionForHR(hr); diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index be08fa5..734b99d 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("WPF MediaKit Team")] [assembly: AssemblyProduct("WPF MediaKit")] -[assembly: AssemblyCopyright("Copyright © 2015-2017 by WPF MediaKit Team")] +[assembly: AssemblyCopyright("Copyright © 2015-2024 by WPF MediaKit Team")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -25,4 +25,4 @@ -[assembly: AssemblyVersion("2.2.0")] +[assembly: AssemblyVersion("2.3.0")] diff --git a/Source/Properties/Resources.Designer.cs b/Source/Properties/Resources.Designer.cs index 546f1fc..2346eeb 100644 --- a/Source/Properties/Resources.Designer.cs +++ b/Source/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Runtime version:4.0.30319.42000 +// Laufzeitversion:4.0.30319.42000 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. @@ -19,7 +19,7 @@ namespace WPFMediaKit.Properties { // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/Source/Properties/Settings.Designer.cs b/Source/Properties/Settings.Designer.cs index 4cfa0a6..298dce6 100644 --- a/Source/Properties/Settings.Designer.cs +++ b/Source/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Runtime version:4.0.30319.42000 +// Laufzeitversion:4.0.30319.42000 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. @@ -12,7 +12,7 @@ namespace WPFMediaKit.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/Source/WPF MediaKit.csproj b/Source/WPF MediaKit.csproj index 91efed2..8194fa2 100644 --- a/Source/WPF MediaKit.csproj +++ b/Source/WPF MediaKit.csproj @@ -9,7 +9,7 @@ Properties WPFMediaKit WPFMediaKit - v4.5 + v4.8 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 diff --git a/Test Application/EVRPresenter32.dll b/Test Application/EVRPresenter32.dll index 9d952976cc0c389d98694938b8ff3139f28b2c9b..3354e6054ba1253666a2d835ad7a523dc5e51c69 100644 GIT binary patch literal 42496 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 Fz!%!_!S?_F delta 20286 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 Kc56U4`1^0T`xce} diff --git a/Test Application/EVRPresenter64.dll b/Test Application/EVRPresenter64.dll new file mode 100644 index 0000000000000000000000000000000000000000..67f7e7ff05ec86606a13069294ec2f770ec1eca3 GIT binary patch literal 54272 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 literal 0 HcmV?d00001 diff --git a/Test Application/Properties/AssemblyInfo.cs b/Test Application/Properties/AssemblyInfo.cs index 56409f5..2e33e65 100644 --- a/Test Application/Properties/AssemblyInfo.cs +++ b/Test Application/Properties/AssemblyInfo.cs @@ -12,7 +12,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Test Application")] -[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/Test Application/Properties/Resources.Designer.cs b/Test Application/Properties/Resources.Designer.cs index cd3601e..1479238 100644 --- a/Test Application/Properties/Resources.Designer.cs +++ b/Test Application/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Runtime version:4.0.30319.42000 +// Laufzeitversion:4.0.30319.42000 // -// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn -// der Code neu generiert wird. +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. // //------------------------------------------------------------------------------ @@ -15,11 +15,11 @@ namespace Test_Application.Properties { /// /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. /// - // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse - // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -48,7 +48,7 @@ internal Resources() { /// /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { diff --git a/Test Application/Properties/Settings.Designer.cs b/Test Application/Properties/Settings.Designer.cs index a4752ba..0bd7c65 100644 --- a/Test Application/Properties/Settings.Designer.cs +++ b/Test Application/Properties/Settings.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime version:4.0.30319.42000 +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. // //------------------------------------------------------------------------------ @@ -12,7 +12,7 @@ namespace Test_Application.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/Test Application/Test Application.csproj b/Test Application/Test Application.csproj index 8a44e78..f36044b 100644 --- a/Test Application/Test Application.csproj +++ b/Test Application/Test Application.csproj @@ -9,14 +9,29 @@ Properties Test_Application Test Application - v4.5 + v4.8 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true - x86 + AnyCPU true full false @@ -106,6 +121,21 @@ PreserveNewest + + PreserveNewest + + + + + False + Microsoft .NET Framework 4.8 %28x86 und x64%29 + true + + + False + .NET Framework 3.5 SP1 + false +