home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Development
General Development (no feature request here!)
FFDShow Audio Post-pocessing
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="~ok|" data-source="post: 45152"><p>hi everyone,</p><p></p><p>something i really miss in mediaportal is the ability to normalize sound volume on the fly (i.e. while listening to tv channels, music files, video files, vcd and dvd).</p><p>Video post-processing using ffdshow is really convenient and i wanted to add audio post-processing, still backed by ffdshow, using "ffdshow Audio Processor".</p><p></p><p>Here is a diff file against CVS from 01-04-2006 20:31:10. The patch does *NOT* work as-is, the filter does not connect properly most of the time and I don't know why (manually created graphs do). If anyone may find some time to fix this please do, this is the first time i try to play with directshow...</p><p></p><p>[code]</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj.orig D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj</p><p>--- D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj.orig 2006-04-01 19:30:59.984375000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj 2006-04-01 21:53:11.000000000 +0200</p><p>@@ -288,6 +288,9 @@</p><p> <Compile Include="SectionSettings.cs"></p><p> <SubType>UserControl</SubType></p><p> </Compile></p><p>+ <Compile Include="Sections\MusicPostProcessing.cs"></p><p>+ <SubType>UserControl</SubType></p><p>+ </Compile></p><p> <Compile Include="Sections\EncoderFilters.cs"></p><p> <SubType>UserControl</SubType></p><p> </Compile></p><p>@@ -567,6 +570,7 @@</p><p> </EmbeddedResource></p><p> <EmbeddedResource Include="ParameterForm.resx"></p><p> <DependentUpon>ParameterForm.cs</DependentUpon></p><p>+ <SubType>Designer</SubType></p><p> </EmbeddedResource></p><p> <EmbeddedResource Include="Properties\Resources.resx"></p><p> <SubType>Designer</SubType></p><p>@@ -580,6 +584,10 @@</p><p> <DependentUpon>SectionSettings.cs</DependentUpon></p><p> <SubType>Designer</SubType></p><p> </EmbeddedResource></p><p>+ <EmbeddedResource Include="Sections\MusicPostProcessing.resx"></p><p>+ <DependentUpon>MusicPostProcessing.cs</DependentUpon></p><p>+ <SubType>Designer</SubType></p><p>+ </EmbeddedResource></p><p> <EmbeddedResource Include="Sections\EncoderFilters.resx"></p><p> <SubType>Designer</SubType></p><p> <DependentUpon>EncoderFilters.cs</DependentUpon></p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs.orig 2006-04-01 19:30:59.281250000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs 2006-04-01 21:53:10.718750000 +0200</p><p>@@ -35,6 +35,7 @@</p><p> {</p><p> private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3;</p><p> private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox;</p><p>+ private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox;</p><p> private MediaPortal.UserInterface.Controls.MPLabel label3;</p><p> private System.ComponentModel.IContainer components = null;</p><p> </p><p>@@ -57,6 +58,7 @@</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("dvdplayer", "ffdshow", false);</p><p>+ ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("dvdplayer", "ffdshowaudio", false);</p><p> }</p><p> }</p><p> </p><p>@@ -65,6 +67,7 @@</p><p> using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> xmlwriter.SetValueAsBool("dvdplayer", "ffdshow", ffdshowCheckBox.Checked);</p><p>+ xmlwriter.SetValueAsBool("dvdplayer", "ffdshowaudio", ffdshowAudioCheckBox.Checked);</p><p> }</p><p> }</p><p> </p><p>@@ -90,55 +93,69 @@</p><p> /// </summary></p><p> private void InitializeComponent()</p><p> {</p><p>- this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox();</p><p>- this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p>- this.label3 = new MediaPortal.UserInterface.Controls.MPLabel();</p><p>- this.mpGroupBox3.SuspendLayout();</p><p>- this.SuspendLayout();</p><p>- // </p><p>- // mpGroupBox3</p><p>- // </p><p>- this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)</p><p>- | System.Windows.Forms.AnchorStyles.Right)));</p><p>- this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox);</p><p>- this.mpGroupBox3.Controls.Add(this.label3);</p><p>- this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>- this.mpGroupBox3.Location = new System.Drawing.Point(0, 0);</p><p>- this.mpGroupBox3.Name = "mpGroupBox3";</p><p>- this.mpGroupBox3.Size = new System.Drawing.Size(472, 96);</p><p>- this.mpGroupBox3.TabIndex = 0;</p><p>- this.mpGroupBox3.TabStop = false;</p><p>- this.mpGroupBox3.Text = "Settings";</p><p>- // </p><p>- // ffdshowCheckBox</p><p>- // </p><p>- this.ffdshowCheckBox.AutoSize = true;</p><p>- this.ffdshowCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>- this.ffdshowCheckBox.Location = new System.Drawing.Point(16, 64);</p><p>- this.ffdshowCheckBox.Name = "ffdshowCheckBox";</p><p>- this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17);</p><p>- this.ffdshowCheckBox.TabIndex = 1;</p><p>- this.ffdshowCheckBox.Text = "Enable FFDshow post processing";</p><p>- // </p><p>- // label3</p><p>- // </p><p>- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)</p><p>- | System.Windows.Forms.AnchorStyles.Right)));</p><p>- this.label3.Location = new System.Drawing.Point(16, 24);</p><p>- this.label3.Name = "label3";</p><p>- this.label3.Size = new System.Drawing.Size(440, 32);</p><p>- this.label3.TabIndex = 0;</p><p>- this.label3.Text = "Note that you need to install ffdshow separately to make any this option work. Pl" +</p><p>- "ease read the MediaPortal documentation for more information.";</p><p>- // </p><p>- // DVDPostProcessing</p><p>- // </p><p>- this.Controls.Add(this.mpGroupBox3);</p><p>- this.Name = "DVDPostProcessing";</p><p>- this.Size = new System.Drawing.Size(472, 408);</p><p>- this.mpGroupBox3.ResumeLayout(false);</p><p>- this.mpGroupBox3.PerformLayout();</p><p>- this.ResumeLayout(false);</p><p>+ this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox();</p><p>+ this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p>+ this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p>+ this.label3 = new MediaPortal.UserInterface.Controls.MPLabel();</p><p>+ this.mpGroupBox3.SuspendLayout();</p><p>+ this.SuspendLayout();</p><p>+ // </p><p>+ // mpGroupBox3</p><p>+ // </p><p>+ this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)</p><p>+ | System.Windows.Forms.AnchorStyles.Right)));</p><p>+ this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox);</p><p>+ this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox);</p><p>+ this.mpGroupBox3.Controls.Add(this.label3);</p><p>+ this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>+ this.mpGroupBox3.Location = new System.Drawing.Point(0, 0);</p><p>+ this.mpGroupBox3.Name = "mpGroupBox3";</p><p>+ this.mpGroupBox3.Size = new System.Drawing.Size(472, 112);</p><p>+ this.mpGroupBox3.TabIndex = 0;</p><p>+ this.mpGroupBox3.TabStop = false;</p><p>+ this.mpGroupBox3.Text = "Settings";</p><p>+ // </p><p>+ // ffdshowCheckBox</p><p>+ // </p><p>+ this.ffdshowCheckBox.AutoSize = true;</p><p>+ this.ffdshowCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>+ this.ffdshowCheckBox.Location = new System.Drawing.Point(16, 64);</p><p>+ this.ffdshowCheckBox.Name = "ffdshowCheckBox";</p><p>+ this.ffdshowCheckBox.Size = new System.Drawing.Size(211, 17);</p><p>+ this.ffdshowCheckBox.TabIndex = 1;</p><p>+ this.ffdshowCheckBox.Text = "Enable FFDshow video post processing";</p><p>+ this.ffdshowCheckBox.UseVisualStyleBackColor = true;</p><p>+ // </p><p>+ // ffdshowAudioCheckBox</p><p>+ // </p><p>+ this.ffdshowAudioCheckBox.AutoSize = true;</p><p>+ this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>+ this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80);</p><p>+ this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox";</p><p>+ this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(211, 17);</p><p>+ this.ffdshowAudioCheckBox.TabIndex = 1;</p><p>+ this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing";</p><p>+ this.ffdshowAudioCheckBox.UseVisualStyleBackColor = true;</p><p>+ // </p><p>+ // label3</p><p>+ // </p><p>+ this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)</p><p>+ | System.Windows.Forms.AnchorStyles.Right)));</p><p>+ this.label3.Location = new System.Drawing.Point(16, 24);</p><p>+ this.label3.Name = "label3";</p><p>+ this.label3.Size = new System.Drawing.Size(440, 32);</p><p>+ this.label3.TabIndex = 0;</p><p>+ this.label3.Text = "Note that you need to install ffdshow separately to make any this option work. Pl" +</p><p>+ "ease read the MediaPortal documentation for more information.";</p><p>+ // </p><p>+ // DVDPostProcessing</p><p>+ // </p><p>+ this.Controls.Add(this.mpGroupBox3);</p><p>+ this.Name = "DVDPostProcessing";</p><p>+ this.Size = new System.Drawing.Size(472, 408);</p><p>+ this.mpGroupBox3.ResumeLayout(false);</p><p>+ this.mpGroupBox3.PerformLayout();</p><p>+ this.ResumeLayout(false);</p><p> </p><p> }</p><p> #endregion</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs.orig 2006-04-01 19:30:58.515625000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs 2006-04-01 21:48:27.328125000 +0200</p><p>@@ -35,6 +35,7 @@</p><p> {</p><p> private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3;</p><p> private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox;</p><p>+ private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox;</p><p> private MediaPortal.UserInterface.Controls.MPLabel label3;</p><p> private System.ComponentModel.IContainer components = null;</p><p> </p><p>@@ -57,6 +58,7 @@</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("movieplayer", "ffdshow", false);</p><p>+ ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false);</p><p> }</p><p> }</p><p> </p><p>@@ -65,6 +67,7 @@</p><p> using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> xmlwriter.SetValueAsBool("movieplayer", "ffdshow", ffdshowCheckBox.Checked);</p><p>+ xmlwriter.SetValueAsBool("movieplayer", "ffdshowaudio", ffdshowAudioCheckBox.Checked);</p><p> }</p><p> }</p><p> </p><p>@@ -93,6 +96,7 @@</p><p> this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox();</p><p> this.label3 = new MediaPortal.UserInterface.Controls.MPLabel();</p><p> this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p>+ this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p> this.mpGroupBox3.SuspendLayout();</p><p> this.SuspendLayout();</p><p> // </p><p>@@ -102,10 +106,11 @@</p><p> | System.Windows.Forms.AnchorStyles.Right)));</p><p> this.mpGroupBox3.Controls.Add(this.label3);</p><p> this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox);</p><p>+ this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox);</p><p> this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p> this.mpGroupBox3.Location = new System.Drawing.Point(0, 0);</p><p> this.mpGroupBox3.Name = "mpGroupBox3";</p><p>- this.mpGroupBox3.Size = new System.Drawing.Size(472, 96);</p><p>+ this.mpGroupBox3.Size = new System.Drawing.Size(472, 112);</p><p> this.mpGroupBox3.TabIndex = 0;</p><p> this.mpGroupBox3.TabStop = false;</p><p> this.mpGroupBox3.Text = "Settings";</p><p>@@ -129,7 +134,17 @@</p><p> this.ffdshowCheckBox.Name = "ffdshowCheckBox";</p><p> this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17);</p><p> this.ffdshowCheckBox.TabIndex = 1;</p><p>- this.ffdshowCheckBox.Text = "Enable FFDshow post processing";</p><p>+ this.ffdshowCheckBox.Text = "Enable FFDshow video post processing";</p><p>+ // </p><p>+ // ffdshowAudioCheckBox</p><p>+ // </p><p>+ this.ffdshowAudioCheckBox.AutoSize = true;</p><p>+ this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>+ this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80);</p><p>+ this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox";</p><p>+ this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(182, 17);</p><p>+ this.ffdshowAudioCheckBox.TabIndex = 1;</p><p>+ this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing";</p><p> // </p><p> // MoviePostProcessing</p><p> // </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs.orig 2006-04-01 19:30:59.375000000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs 2006-04-01 21:53:10.921875000 +0200</p><p>@@ -35,6 +35,7 @@</p><p> {</p><p> private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3;</p><p> private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox;</p><p>+ private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox;</p><p> private MediaPortal.UserInterface.Controls.MPLabel label3;</p><p> private System.ComponentModel.IContainer components = null;</p><p> </p><p>@@ -57,6 +58,7 @@</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> }</p><p> }</p><p> </p><p>@@ -65,6 +67,7 @@</p><p> using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> xmlwriter.SetValueAsBool("mytv", "ffdshow", ffdshowCheckBox.Checked);</p><p>+ xmlwriter.SetValueAsBool("mytv", "ffdshowaudio", ffdshowAudioCheckBox.Checked);</p><p> }</p><p> }</p><p> </p><p>@@ -92,6 +95,7 @@</p><p> {</p><p> this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox();</p><p> this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p>+ this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox();</p><p> this.label3 = new MediaPortal.UserInterface.Controls.MPLabel();</p><p> this.mpGroupBox3.SuspendLayout();</p><p> this.SuspendLayout();</p><p>@@ -101,11 +105,12 @@</p><p> this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)</p><p> | System.Windows.Forms.AnchorStyles.Right)));</p><p> this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox);</p><p>+ this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox);</p><p> this.mpGroupBox3.Controls.Add(this.label3);</p><p> this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p> this.mpGroupBox3.Location = new System.Drawing.Point(0, 0);</p><p> this.mpGroupBox3.Name = "mpGroupBox3";</p><p>- this.mpGroupBox3.Size = new System.Drawing.Size(472, 96);</p><p>+ this.mpGroupBox3.Size = new System.Drawing.Size(472, 112);</p><p> this.mpGroupBox3.TabIndex = 0;</p><p> this.mpGroupBox3.TabStop = false;</p><p> this.mpGroupBox3.Text = "Settings";</p><p>@@ -118,7 +123,17 @@</p><p> this.ffdshowCheckBox.Name = "ffdshowCheckBox";</p><p> this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17);</p><p> this.ffdshowCheckBox.TabIndex = 1;</p><p>- this.ffdshowCheckBox.Text = "Enable FFDshow post processing";</p><p>+ this.ffdshowCheckBox.Text = "Enable FFDshow video post processing";</p><p>+ // </p><p>+ // ffdshowAudioCheckBox</p><p>+ // </p><p>+ this.ffdshowAudioCheckBox.AutoSize = true;</p><p>+ this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;</p><p>+ this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80);</p><p>+ this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox";</p><p>+ this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(182, 17);</p><p>+ this.ffdshowAudioCheckBox.TabIndex = 1;</p><p>+ this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing";</p><p> // </p><p> // label3</p><p> // </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs.orig 2006-04-01 19:30:59.890625000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs 2006-04-01 22:05:52.093750000 +0200</p><p>@@ -175,6 +175,8 @@</p><p> Log.Write(" add music import section");</p><p> AddChildSection(music, new MusicImport());</p><p> AddChildSection(music, new MusicSort());</p><p>+ Log.Write(" add music postprocessing section");</p><p>+ AddChildSection(music, new MusicPostProcessing());</p><p> </p><p> Log.Write(" add music misc section");</p><p> AddChildSection(music, new MusicMisc());</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs.orig 2006-04-01 19:26:52.093750000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs 2006-04-01 23:29:59.734375000 +0200</p><p>@@ -62,6 +62,8 @@</p><p> private IBasicAudio basicAudio;</p><p> private const int WM_GRAPHNOTIFY = 0x00008001; // message from graph</p><p> </p><p>+ protected IBaseFilter ffdShowFilterAudio = null;</p><p>+</p><p> private const int WS_CHILD = 0x40000000; // attributes for video window</p><p> private const int WS_CLIPCHILDREN = 0x02000000;</p><p> private const int WS_CLIPSIBLINGS = 0x04000000;</p><p>@@ -340,6 +342,12 @@</p><p> {</p><p> graphBuilder = (IGraphBuilder)new FilterGraph();</p><p> iStage = 5;</p><p>+ bool bAddFFDshowAudio = false;</p><p>+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p>+ {</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("musicplayer", "ffdshowaudio", false);</p><p>+ }</p><p>+ if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor");</p><p> int hr = graphBuilder.RenderFile(m_strCurrentFile, null);</p><p> if (hr != 0)</p><p> {</p><p>@@ -409,6 +417,8 @@</p><p> mediaPos = null;</p><p> basicAudio = null;</p><p> </p><p>+ if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null;</p><p>+</p><p> if (graphBuilder != null)</p><p> Marshal.ReleaseComObject(graphBuilder); graphBuilder = null;</p><p> </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs.orig 2006-04-01 19:26:51.937500000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs 2006-04-01 22:20:59.328125000 +0200</p><p>@@ -91,6 +91,7 @@</p><p> protected IBaseFilter _audioCodecFilter = null;</p><p> protected IBaseFilter _audioRendererFilter = null;</p><p> protected IBaseFilter _ffdShowFilter = null;</p><p>+ protected IBaseFilter _ffdShowFilterAudio = null;</p><p> /// <summary> control interface. </summary></p><p> protected IMediaControl _mediaCtrl = null;</p><p> </p><p>@@ -1118,9 +1119,11 @@</p><p> string strAudioCodec = "";</p><p> string strAudiorenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudiorenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p>@@ -1134,6 +1137,7 @@</p><p> }</p><p> if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec);</p><p> if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec);</p><p>+ if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudiorenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudiorenderer, false);</p><p> if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter");</p><p> </p><p>@@ -1246,6 +1250,11 @@</p><p> while ((hr = Marshal.ReleaseComObject(_ffdShowFilter)) > 0) ;</p><p> _ffdShowFilter = null;</p><p> }</p><p>+ if (_ffdShowFilterAudio != null)</p><p>+ {</p><p>+ while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ;</p><p>+ _ffdShowFilterAudio = null;</p><p>+ }</p><p> if (streamConfig2 != null)</p><p> {</p><p> while ((hr = Marshal.ReleaseComObject(streamConfig2)) > 0) ;</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs.orig 2006-04-01 19:26:51.734375000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs 2006-04-01 22:20:59.421875000 +0200</p><p>@@ -83,6 +83,7 @@</p><p> protected IBaseFilter _audioCodecFilter = null;</p><p> protected IBaseFilter _audioRendererFilter = null;</p><p> protected IBaseFilter _ffdShowFilter = null;</p><p>+ protected IBaseFilter _ffdShowFilterAudio = null;</p><p> /// <summary> control interface. </summary></p><p> protected IMediaControl _mediaCtrl = null;</p><p> </p><p>@@ -1059,9 +1060,11 @@</p><p> string strAudioCodec = "";</p><p> string strAudiorenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudiorenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p>@@ -1075,6 +1078,7 @@</p><p> }</p><p> if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec);</p><p> if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec);</p><p>+ if (bAddFFDshowAudio) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudiorenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudiorenderer, false);</p><p> if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter");</p><p> </p><p>@@ -1180,6 +1184,11 @@</p><p> while ((hr = Marshal.ReleaseComObject(_ffdShowFilter)) > 0) ;</p><p> _ffdShowFilter = null;</p><p> }</p><p>+ if (_ffdShowFilterAudio != null)</p><p>+ {</p><p>+ while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ;</p><p>+ _ffdShowFilterAudio = null;</p><p>+ }</p><p> if (_fileSource != null)</p><p> {</p><p> while ((hr = Marshal.ReleaseComObject(_fileSource)) > 0) ;</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs.orig 2006-04-01 19:26:51.843750000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs 2006-04-01 22:20:59.500000000 +0200</p><p>@@ -117,6 +117,7 @@</p><p> protected IBaseFilter _audioCodecFilter=null;</p><p> protected IBaseFilter _audioRendererFilter=null;</p><p> protected IBaseFilter _ffdShowFilter=null;</p><p>+ protected IBaseFilter _ffdShowFilterAudio = null;</p><p> </p><p> VMR7Util _vmr7 = null;</p><p> protected int _speed=1;</p><p>@@ -532,6 +533,12 @@</p><p> _ffdShowFilter=null;</p><p> }</p><p> </p><p>+ if (_ffdShowFilterAudio != null)</p><p>+ {</p><p>+ while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ;</p><p>+ _ffdShowFilterAudio = null;</p><p>+ }</p><p>+</p><p> if( _dvdbasefilter != null )</p><p> {</p><p> while ((hr=Marshal.ReleaseComObject( _dvdbasefilter))>0); </p><p>@@ -1946,15 +1953,18 @@</p><p> string strAudioCodec="";</p><p> string strAudiorenderer="";</p><p> bool bAddFFDshow=false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow=xmlreader.GetValueAsBool("dvdplayer","ffdshow",false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("dvdplayer", "ffdshowaudio", false);</p><p> strVideoCodec=xmlreader.GetValueAsString("dvdplayer","videocodec","");</p><p> strAudioCodec=xmlreader.GetValueAsString("dvdplayer","audiocodec","");</p><p> strAudiorenderer=xmlreader.GetValueAsString("dvdplayer","audiorenderer","");</p><p> }</p><p> if (strVideoCodec.Length>0) _videoCodecFilter= DirectShowUtil.AddFilterToGraph(_graphBuilder,strVideoCodec);</p><p> if (strAudioCodec.Length>0) _audioCodecFilter= DirectShowUtil.AddFilterToGraph(_graphBuilder,strAudioCodec);</p><p>+ if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudiorenderer.Length>0) _audioRendererFilter=DirectShowUtil.AddAudioRendererToGraph(_graphBuilder,strAudiorenderer,false);</p><p> if (bAddFFDshow) _ffdShowFilter=DirectShowUtil.AddFilterToGraph(_graphBuilder,"ffdshow raw video filter");</p><p> </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs.orig 2006-04-01 19:26:51.796875000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs 2006-04-01 21:08:27.562500000 +0200</p><p>@@ -272,6 +272,11 @@</p><p> _ffdShowFilter=null;</p><p> }</p><p> </p><p>+ if (_ffdShowFilterAudio != null)</p><p>+ {</p><p>+ while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ;</p><p>+ _ffdShowFilterAudio = null;</p><p>+ }</p><p> </p><p> if( _cmdOption!= null )</p><p> Marshal.ReleaseComObject( _cmdOption ); </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs.orig 2006-04-01 19:26:51.906250000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs 2006-04-01 22:20:59.625000000 +0200</p><p>@@ -153,9 +153,11 @@</p><p> string strAudioCodec = "";</p><p> string strAudioRenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p>@@ -170,6 +172,7 @@</p><p> }</p><p> if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec);</p><p> if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec);</p><p>+ if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudioRenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false);</p><p> if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter");</p><p> </p><p>@@ -305,6 +308,12 @@</p><p> _ffdShowFilter = null;</p><p> }</p><p> </p><p>+ if (_ffdShowFilterAudio != null)</p><p>+ {</p><p>+ while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ;</p><p>+ _ffdShowFilterAudio = null;</p><p>+ }</p><p>+</p><p> DirectShowUtil.RemoveFilters(_graphBuilder);</p><p> </p><p> if (_rotEntry != null)</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs.orig 2006-04-01 19:26:52.046875000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs 2006-04-01 22:20:59.671875000 +0200</p><p>@@ -125,9 +125,11 @@</p><p> string strAudioCodec = "";</p><p> string strAudioRenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p>@@ -142,6 +144,7 @@</p><p> }</p><p> if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec);</p><p> if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec);</p><p>+ if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudioRenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false);</p><p> if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter");</p><p> </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs.orig 2006-04-01 19:26:52.000000000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs 2006-04-01 22:20:59.718750000 +0200</p><p>@@ -153,6 +153,7 @@</p><p> protected IBaseFilter audioCodecFilter=null;</p><p> protected IBaseFilter audioRendererFilter=null;</p><p> protected IBaseFilter ffdShowFilter=null;</p><p>+ protected IBaseFilter ffdShowFilterAudio = null;</p><p> </p><p> protected IDirectVobSub vobSub;</p><p> DateTime elapsedTimer=DateTime.Now;</p><p>@@ -827,10 +828,12 @@</p><p> string strAudioCodec="";</p><p> string strAudiorenderer="";</p><p> bool bAddFFDshow=false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> string defaultLanguage;</p><p> using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow=xmlreader.GetValueAsBool("movieplayer","ffdshow",false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false);</p><p> strVideoCodec=xmlreader.GetValueAsString("movieplayer","mpeg2videocodec","");</p><p> strAudioCodec=xmlreader.GetValueAsString("movieplayer","mpeg2audiocodec","");</p><p> strAudiorenderer=xmlreader.GetValueAsString("movieplayer","audiorenderer","");</p><p>@@ -844,6 +847,7 @@</p><p> if (strAudioCodec.Length>0) audioCodecFilter=DirectShowUtil.AddFilterToGraph(graphBuilder,strAudioCodec);</p><p> }</p><p> if (bAddFFDshow) ffdShowFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,"ffdshow raw video filter");</p><p>+ if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudiorenderer.Length>0) audioRendererFilter= DirectShowUtil.AddAudioRendererToGraph(graphBuilder,strAudiorenderer,false);</p><p> </p><p> </p><p>@@ -962,6 +966,7 @@</p><p> if (audioCodecFilter!=null) Marshal.ReleaseComObject(audioCodecFilter); audioCodecFilter=null;</p><p> if (audioRendererFilter!=null) Marshal.ReleaseComObject(audioRendererFilter); audioRendererFilter=null;</p><p> if (ffdShowFilter!=null) Marshal.ReleaseComObject(ffdShowFilter); ffdShowFilter=null;</p><p>+ if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null;</p><p> if( vobSub != null )</p><p> {</p><p> while((hr=Marshal.ReleaseComObject( vobSub))>0); </p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs.orig 2006-04-01 19:26:52.031250000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs 2006-04-01 22:20:59.781250000 +0200</p><p>@@ -83,9 +83,11 @@</p><p> string strAudioCodec="";</p><p> string strAudiorenderer="";</p><p> bool bAddFFDshow=false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow=xmlreader.GetValueAsBool("movieplayer","ffdshow",false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false);</p><p> strVideoCodec=xmlreader.GetValueAsString("movieplayer","mpeg2videocodec","");</p><p> strAudioCodec=xmlreader.GetValueAsString("movieplayer","mpeg2audiocodec","");</p><p> strAudiorenderer=xmlreader.GetValueAsString("movieplayer","audiorenderer","");</p><p>@@ -97,6 +99,7 @@</p><p> if (strAudioCodec.Length>0) audioCodecFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,strAudioCodec);</p><p> }</p><p> if (bAddFFDshow) ffdShowFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,"ffdshow raw video filter");</p><p>+ if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor");</p><p> if (strAudiorenderer.Length>0) audioRendererFilter= DirectShowUtil.AddAudioRendererToGraph(graphBuilder,strAudiorenderer,false);</p><p> </p><p> </p><p>@@ -258,6 +261,7 @@</p><p> if (audioCodecFilter!=null) Marshal.ReleaseComObject(audioCodecFilter); audioCodecFilter=null;</p><p> if (audioRendererFilter!=null) Marshal.ReleaseComObject(audioRendererFilter); audioRendererFilter=null;</p><p> if (ffdShowFilter!=null) Marshal.ReleaseComObject(ffdShowFilter); ffdShowFilter=null;</p><p>+ if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null;</p><p> </p><p> if( vobSub != null )</p><p> {</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs.orig D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs.orig 2006-04-01 19:26:04.046875000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs 2006-04-01 22:21:03.968750000 +0200</p><p>@@ -782,16 +782,19 @@</p><p> string strAudioCodec = "";</p><p> string strAudioRenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> </p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p> }</p><p> if (video && strVideoCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, strVideoCodec);</p><p> if (audio && strAudioCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, strAudioCodec);</p><p>+ if (audio && bAddFFDshowAudio) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, "ffdshow Audio Processor");</p><p> if (audio && strAudioRenderer.Length > 0) DirectShowUtil.AddAudioRendererToGraph(_graphBuilderInterface, strAudioRenderer, false);</p><p> if (video && bAddFFDshow) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, "ffdshow raw video filter");</p><p> }</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs.orig D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs</p><p>--- D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs.orig 2006-04-01 19:26:05.812500000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs 2006-04-01 22:21:04.093750000 +0200</p><p>@@ -1221,15 +1221,18 @@</p><p> string strAudioCodec = "";</p><p> string strAudioRenderer = "";</p><p> bool bAddFFDshow = false;</p><p>+ bool bAddFFDshowAudio = false;</p><p> using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))</p><p> {</p><p> bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false);</p><p>+ bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false);</p><p> strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", "");</p><p> strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", "");</p><p> strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", "");</p><p> }</p><p> if (video && strVideoCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec);</p><p> if (audio && strAudioCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec);</p><p>+ if (audio && bAddFFDshowAudio) DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor");</p><p> if (audio && strAudioRenderer.Length > 0) DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false);</p><p> if (video && bAddFFDshow) DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter");</p><p> }//void AddPreferredCodecs()</p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml.orig D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml</p><p>--- D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml.orig 2006-04-01 19:30:29.203125000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml 2006-04-01 23:31:07.046875000 +0200</p><p>@@ -1,6 +1,6 @@</p><p> <?xml version="1.0" encoding="iso-8859-1"?></p><p> </p><p>-</p><p>+</p><p> <keymap></p><p> <global></p><p> <action></p><p>diff -u -r D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj.orig D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj</p><p>--- D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj.orig 2006-04-01 19:30:30.218750000 +0200</p><p>+++ D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj 2006-04-01 21:59:08.093750000 +0200</p><p>@@ -270,6 +270,7 @@</p><p> <Compile Include="ThreadMessageFilter.cs" /></p><p> <EmbeddedResource Include="CodecsForm.resx"></p><p> <DependentUpon>CodecsForm.cs</DependentUpon></p><p>+ <SubType>Designer</SubType></p><p> </EmbeddedResource></p><p> <EmbeddedResource Include="d3dapp.resx"></p><p> <DependentUpon>d3dapp.cs</DependentUpon></p><p></p><p>[/code]</p></blockquote><p></p>
[QUOTE="~ok|, post: 45152"] hi everyone, something i really miss in mediaportal is the ability to normalize sound volume on the fly (i.e. while listening to tv channels, music files, video files, vcd and dvd). Video post-processing using ffdshow is really convenient and i wanted to add audio post-processing, still backed by ffdshow, using "ffdshow Audio Processor". Here is a diff file against CVS from 01-04-2006 20:31:10. The patch does *NOT* work as-is, the filter does not connect properly most of the time and I don't know why (manually created graphs do). If anyone may find some time to fix this please do, this is the first time i try to play with directshow... [code] diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj.orig D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj --- D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj.orig 2006-04-01 19:30:59.984375000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Configuration/MediaPortal.Configuration.csproj 2006-04-01 21:53:11.000000000 +0200 @@ -288,6 +288,9 @@ <Compile Include="SectionSettings.cs"> <SubType>UserControl</SubType> </Compile> + <Compile Include="Sections\MusicPostProcessing.cs"> + <SubType>UserControl</SubType> + </Compile> <Compile Include="Sections\EncoderFilters.cs"> <SubType>UserControl</SubType> </Compile> @@ -567,6 +570,7 @@ </EmbeddedResource> <EmbeddedResource Include="ParameterForm.resx"> <DependentUpon>ParameterForm.cs</DependentUpon> + <SubType>Designer</SubType> </EmbeddedResource> <EmbeddedResource Include="Properties\Resources.resx"> <SubType>Designer</SubType> @@ -580,6 +584,10 @@ <DependentUpon>SectionSettings.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Sections\MusicPostProcessing.resx"> + <DependentUpon>MusicPostProcessing.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> <EmbeddedResource Include="Sections\EncoderFilters.resx"> <SubType>Designer</SubType> <DependentUpon>EncoderFilters.cs</DependentUpon> diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs --- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs.orig 2006-04-01 19:30:59.281250000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/DVDPostProcessing.cs 2006-04-01 21:53:10.718750000 +0200 @@ -35,6 +35,7 @@ { private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3; private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox; + private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox; private MediaPortal.UserInterface.Controls.MPLabel label3; private System.ComponentModel.IContainer components = null; @@ -57,6 +58,7 @@ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("dvdplayer", "ffdshow", false); + ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("dvdplayer", "ffdshowaudio", false); } } @@ -65,6 +67,7 @@ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml")) { xmlwriter.SetValueAsBool("dvdplayer", "ffdshow", ffdshowCheckBox.Checked); + xmlwriter.SetValueAsBool("dvdplayer", "ffdshowaudio", ffdshowAudioCheckBox.Checked); } } @@ -90,55 +93,69 @@ /// </summary> private void InitializeComponent() { - this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox(); - this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); - this.label3 = new MediaPortal.UserInterface.Controls.MPLabel(); - this.mpGroupBox3.SuspendLayout(); - this.SuspendLayout(); - // - // mpGroupBox3 - // - this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox); - this.mpGroupBox3.Controls.Add(this.label3); - this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.mpGroupBox3.Location = new System.Drawing.Point(0, 0); - this.mpGroupBox3.Name = "mpGroupBox3"; - this.mpGroupBox3.Size = new System.Drawing.Size(472, 96); - this.mpGroupBox3.TabIndex = 0; - this.mpGroupBox3.TabStop = false; - this.mpGroupBox3.Text = "Settings"; - // - // ffdshowCheckBox - // - this.ffdshowCheckBox.AutoSize = true; - this.ffdshowCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.ffdshowCheckBox.Location = new System.Drawing.Point(16, 64); - this.ffdshowCheckBox.Name = "ffdshowCheckBox"; - this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17); - this.ffdshowCheckBox.TabIndex = 1; - this.ffdshowCheckBox.Text = "Enable FFDshow post processing"; - // - // label3 - // - this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.label3.Location = new System.Drawing.Point(16, 24); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(440, 32); - this.label3.TabIndex = 0; - this.label3.Text = "Note that you need to install ffdshow separately to make any this option work. Pl" + - "ease read the MediaPortal documentation for more information."; - // - // DVDPostProcessing - // - this.Controls.Add(this.mpGroupBox3); - this.Name = "DVDPostProcessing"; - this.Size = new System.Drawing.Size(472, 408); - this.mpGroupBox3.ResumeLayout(false); - this.mpGroupBox3.PerformLayout(); - this.ResumeLayout(false); + this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox(); + this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.label3 = new MediaPortal.UserInterface.Controls.MPLabel(); + this.mpGroupBox3.SuspendLayout(); + this.SuspendLayout(); + // + // mpGroupBox3 + // + this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox); + this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox); + this.mpGroupBox3.Controls.Add(this.label3); + this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.mpGroupBox3.Location = new System.Drawing.Point(0, 0); + this.mpGroupBox3.Name = "mpGroupBox3"; + this.mpGroupBox3.Size = new System.Drawing.Size(472, 112); + this.mpGroupBox3.TabIndex = 0; + this.mpGroupBox3.TabStop = false; + this.mpGroupBox3.Text = "Settings"; + // + // ffdshowCheckBox + // + this.ffdshowCheckBox.AutoSize = true; + this.ffdshowCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.ffdshowCheckBox.Location = new System.Drawing.Point(16, 64); + this.ffdshowCheckBox.Name = "ffdshowCheckBox"; + this.ffdshowCheckBox.Size = new System.Drawing.Size(211, 17); + this.ffdshowCheckBox.TabIndex = 1; + this.ffdshowCheckBox.Text = "Enable FFDshow video post processing"; + this.ffdshowCheckBox.UseVisualStyleBackColor = true; + // + // ffdshowAudioCheckBox + // + this.ffdshowAudioCheckBox.AutoSize = true; + this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80); + this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox"; + this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(211, 17); + this.ffdshowAudioCheckBox.TabIndex = 1; + this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing"; + this.ffdshowAudioCheckBox.UseVisualStyleBackColor = true; + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label3.Location = new System.Drawing.Point(16, 24); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(440, 32); + this.label3.TabIndex = 0; + this.label3.Text = "Note that you need to install ffdshow separately to make any this option work. Pl" + + "ease read the MediaPortal documentation for more information."; + // + // DVDPostProcessing + // + this.Controls.Add(this.mpGroupBox3); + this.Name = "DVDPostProcessing"; + this.Size = new System.Drawing.Size(472, 408); + this.mpGroupBox3.ResumeLayout(false); + this.mpGroupBox3.PerformLayout(); + this.ResumeLayout(false); } #endregion diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs --- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs.orig 2006-04-01 19:30:58.515625000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/MoviePostProcessing.cs 2006-04-01 21:48:27.328125000 +0200 @@ -35,6 +35,7 @@ { private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3; private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox; + private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox; private MediaPortal.UserInterface.Controls.MPLabel label3; private System.ComponentModel.IContainer components = null; @@ -57,6 +58,7 @@ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("movieplayer", "ffdshow", false); + ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false); } } @@ -65,6 +67,7 @@ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml")) { xmlwriter.SetValueAsBool("movieplayer", "ffdshow", ffdshowCheckBox.Checked); + xmlwriter.SetValueAsBool("movieplayer", "ffdshowaudio", ffdshowAudioCheckBox.Checked); } } @@ -93,6 +96,7 @@ this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox(); this.label3 = new MediaPortal.UserInterface.Controls.MPLabel(); this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.mpGroupBox3.SuspendLayout(); this.SuspendLayout(); // @@ -102,10 +106,11 @@ | System.Windows.Forms.AnchorStyles.Right))); this.mpGroupBox3.Controls.Add(this.label3); this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox); + this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox); this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.mpGroupBox3.Location = new System.Drawing.Point(0, 0); this.mpGroupBox3.Name = "mpGroupBox3"; - this.mpGroupBox3.Size = new System.Drawing.Size(472, 96); + this.mpGroupBox3.Size = new System.Drawing.Size(472, 112); this.mpGroupBox3.TabIndex = 0; this.mpGroupBox3.TabStop = false; this.mpGroupBox3.Text = "Settings"; @@ -129,7 +134,17 @@ this.ffdshowCheckBox.Name = "ffdshowCheckBox"; this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17); this.ffdshowCheckBox.TabIndex = 1; - this.ffdshowCheckBox.Text = "Enable FFDshow post processing"; + this.ffdshowCheckBox.Text = "Enable FFDshow video post processing"; + // + // ffdshowAudioCheckBox + // + this.ffdshowAudioCheckBox.AutoSize = true; + this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80); + this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox"; + this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(182, 17); + this.ffdshowAudioCheckBox.TabIndex = 1; + this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing"; // // MoviePostProcessing // diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs --- D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs.orig 2006-04-01 19:30:59.375000000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Configuration/Sections/TVPostProcessing.cs 2006-04-01 21:53:10.921875000 +0200 @@ -35,6 +35,7 @@ { private MediaPortal.UserInterface.Controls.MPGroupBox mpGroupBox3; private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowCheckBox; + private MediaPortal.UserInterface.Controls.MPCheckBox ffdshowAudioCheckBox; private MediaPortal.UserInterface.Controls.MPLabel label3; private System.ComponentModel.IContainer components = null; @@ -57,6 +58,7 @@ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { ffdshowCheckBox.Checked = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + ffdshowAudioCheckBox.Checked = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); } } @@ -65,6 +67,7 @@ using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings("MediaPortal.xml")) { xmlwriter.SetValueAsBool("mytv", "ffdshow", ffdshowCheckBox.Checked); + xmlwriter.SetValueAsBool("mytv", "ffdshowaudio", ffdshowAudioCheckBox.Checked); } } @@ -92,6 +95,7 @@ { this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox(); this.ffdshowCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.ffdshowAudioCheckBox = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.label3 = new MediaPortal.UserInterface.Controls.MPLabel(); this.mpGroupBox3.SuspendLayout(); this.SuspendLayout(); @@ -101,11 +105,12 @@ this.mpGroupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.mpGroupBox3.Controls.Add(this.ffdshowCheckBox); + this.mpGroupBox3.Controls.Add(this.ffdshowAudioCheckBox); this.mpGroupBox3.Controls.Add(this.label3); this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.mpGroupBox3.Location = new System.Drawing.Point(0, 0); this.mpGroupBox3.Name = "mpGroupBox3"; - this.mpGroupBox3.Size = new System.Drawing.Size(472, 96); + this.mpGroupBox3.Size = new System.Drawing.Size(472, 112); this.mpGroupBox3.TabIndex = 0; this.mpGroupBox3.TabStop = false; this.mpGroupBox3.Text = "Settings"; @@ -118,7 +123,17 @@ this.ffdshowCheckBox.Name = "ffdshowCheckBox"; this.ffdshowCheckBox.Size = new System.Drawing.Size(182, 17); this.ffdshowCheckBox.TabIndex = 1; - this.ffdshowCheckBox.Text = "Enable FFDshow post processing"; + this.ffdshowCheckBox.Text = "Enable FFDshow video post processing"; + // + // ffdshowAudioCheckBox + // + this.ffdshowAudioCheckBox.AutoSize = true; + this.ffdshowAudioCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.ffdshowAudioCheckBox.Location = new System.Drawing.Point(16, 80); + this.ffdshowAudioCheckBox.Name = "ffdshowAudioCheckBox"; + this.ffdshowAudioCheckBox.Size = new System.Drawing.Size(182, 17); + this.ffdshowAudioCheckBox.TabIndex = 1; + this.ffdshowAudioCheckBox.Text = "Enable FFDshow audio post processing"; // // label3 // diff -u -r D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs.orig D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs --- D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs.orig 2006-04-01 19:30:59.890625000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Configuration/SettingsForm.cs 2006-04-01 22:05:52.093750000 +0200 @@ -175,6 +175,8 @@ Log.Write(" add music import section"); AddChildSection(music, new MusicImport()); AddChildSection(music, new MusicSort()); + Log.Write(" add music postprocessing section"); + AddChildSection(music, new MusicPostProcessing()); Log.Write(" add music misc section"); AddChildSection(music, new MusicMisc()); diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs.orig 2006-04-01 19:26:52.093750000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/AudioPlayerVMR.cs 2006-04-01 23:29:59.734375000 +0200 @@ -62,6 +62,8 @@ private IBasicAudio basicAudio; private const int WM_GRAPHNOTIFY = 0x00008001; // message from graph + protected IBaseFilter ffdShowFilterAudio = null; + private const int WS_CHILD = 0x40000000; // attributes for video window private const int WS_CLIPCHILDREN = 0x02000000; private const int WS_CLIPSIBLINGS = 0x04000000; @@ -340,6 +342,12 @@ { graphBuilder = (IGraphBuilder)new FilterGraph(); iStage = 5; + bool bAddFFDshowAudio = false; + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) + { + bAddFFDshowAudio = xmlreader.GetValueAsBool("musicplayer", "ffdshowaudio", false); + } + if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor"); int hr = graphBuilder.RenderFile(m_strCurrentFile, null); if (hr != 0) { @@ -409,6 +417,8 @@ mediaPos = null; basicAudio = null; + if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null; + if (graphBuilder != null) Marshal.ReleaseComObject(graphBuilder); graphBuilder = null; diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs.orig 2006-04-01 19:26:51.937500000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/BaseStreamBufferPlayer.cs 2006-04-01 22:20:59.328125000 +0200 @@ -91,6 +91,7 @@ protected IBaseFilter _audioCodecFilter = null; protected IBaseFilter _audioRendererFilter = null; protected IBaseFilter _ffdShowFilter = null; + protected IBaseFilter _ffdShowFilterAudio = null; /// <summary> control interface. </summary> protected IMediaControl _mediaCtrl = null; @@ -1118,9 +1119,11 @@ string strAudioCodec = ""; string strAudiorenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudiorenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); @@ -1134,6 +1137,7 @@ } if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec); if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec); + if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (strAudiorenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudiorenderer, false); if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter"); @@ -1246,6 +1250,11 @@ while ((hr = Marshal.ReleaseComObject(_ffdShowFilter)) > 0) ; _ffdShowFilter = null; } + if (_ffdShowFilterAudio != null) + { + while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ; + _ffdShowFilterAudio = null; + } if (streamConfig2 != null) { while ((hr = Marshal.ReleaseComObject(streamConfig2)) > 0) ; diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs.orig 2006-04-01 19:26:51.734375000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/BaseTStreamBufferPlayer.cs 2006-04-01 22:20:59.421875000 +0200 @@ -83,6 +83,7 @@ protected IBaseFilter _audioCodecFilter = null; protected IBaseFilter _audioRendererFilter = null; protected IBaseFilter _ffdShowFilter = null; + protected IBaseFilter _ffdShowFilterAudio = null; /// <summary> control interface. </summary> protected IMediaControl _mediaCtrl = null; @@ -1059,9 +1060,11 @@ string strAudioCodec = ""; string strAudiorenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudiorenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); @@ -1075,6 +1078,7 @@ } if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec); if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec); + if (bAddFFDshowAudio) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (strAudiorenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudiorenderer, false); if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter"); @@ -1180,6 +1184,11 @@ while ((hr = Marshal.ReleaseComObject(_ffdShowFilter)) > 0) ; _ffdShowFilter = null; } + if (_ffdShowFilterAudio != null) + { + while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ; + _ffdShowFilterAudio = null; + } if (_fileSource != null) { while ((hr = Marshal.ReleaseComObject(_fileSource)) > 0) ; diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs.orig 2006-04-01 19:26:51.843750000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer.cs 2006-04-01 22:20:59.500000000 +0200 @@ -117,6 +117,7 @@ protected IBaseFilter _audioCodecFilter=null; protected IBaseFilter _audioRendererFilter=null; protected IBaseFilter _ffdShowFilter=null; + protected IBaseFilter _ffdShowFilterAudio = null; VMR7Util _vmr7 = null; protected int _speed=1; @@ -532,6 +533,12 @@ _ffdShowFilter=null; } + if (_ffdShowFilterAudio != null) + { + while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ; + _ffdShowFilterAudio = null; + } + if( _dvdbasefilter != null ) { while ((hr=Marshal.ReleaseComObject( _dvdbasefilter))>0); @@ -1946,15 +1953,18 @@ string strAudioCodec=""; string strAudiorenderer=""; bool bAddFFDshow=false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow=xmlreader.GetValueAsBool("dvdplayer","ffdshow",false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("dvdplayer", "ffdshowaudio", false); strVideoCodec=xmlreader.GetValueAsString("dvdplayer","videocodec",""); strAudioCodec=xmlreader.GetValueAsString("dvdplayer","audiocodec",""); strAudiorenderer=xmlreader.GetValueAsString("dvdplayer","audiorenderer",""); } if (strVideoCodec.Length>0) _videoCodecFilter= DirectShowUtil.AddFilterToGraph(_graphBuilder,strVideoCodec); if (strAudioCodec.Length>0) _audioCodecFilter= DirectShowUtil.AddFilterToGraph(_graphBuilder,strAudioCodec); + if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (strAudiorenderer.Length>0) _audioRendererFilter=DirectShowUtil.AddAudioRendererToGraph(_graphBuilder,strAudiorenderer,false); if (bAddFFDshow) _ffdShowFilter=DirectShowUtil.AddFilterToGraph(_graphBuilder,"ffdshow raw video filter"); diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs.orig 2006-04-01 19:26:51.796875000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/DVDPlayer9.cs 2006-04-01 21:08:27.562500000 +0200 @@ -272,6 +272,11 @@ _ffdShowFilter=null; } + if (_ffdShowFilterAudio != null) + { + while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ; + _ffdShowFilterAudio = null; + } if( _cmdOption!= null ) Marshal.ReleaseComObject( _cmdOption ); diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs.orig 2006-04-01 19:26:51.906250000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/StreamBufferPlayer9.cs 2006-04-01 22:20:59.625000000 +0200 @@ -153,9 +153,11 @@ string strAudioCodec = ""; string strAudioRenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); @@ -170,6 +172,7 @@ } if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec); if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec); + if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (strAudioRenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false); if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter"); @@ -305,6 +308,12 @@ _ffdShowFilter = null; } + if (_ffdShowFilterAudio != null) + { + while ((hr = Marshal.ReleaseComObject(_ffdShowFilterAudio)) > 0) ; + _ffdShowFilterAudio = null; + } + DirectShowUtil.RemoveFilters(_graphBuilder); if (_rotEntry != null) diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs.orig 2006-04-01 19:26:52.046875000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/TSStreamBufferPlayer9.cs 2006-04-01 22:20:59.671875000 +0200 @@ -125,9 +125,11 @@ string strAudioCodec = ""; string strAudioRenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); @@ -142,6 +144,7 @@ } if (strVideoCodec.Length > 0) _videoCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec); if (strAudioCodec.Length > 0) _audioCodecFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec); + if (bAddFFDshowAudio) _ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (strAudioRenderer.Length > 0) _audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false); if (bAddFFDshow) _ffdShowFilter = DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter"); diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs.orig 2006-04-01 19:26:52.000000000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR7.cs 2006-04-01 22:20:59.718750000 +0200 @@ -153,6 +153,7 @@ protected IBaseFilter audioCodecFilter=null; protected IBaseFilter audioRendererFilter=null; protected IBaseFilter ffdShowFilter=null; + protected IBaseFilter ffdShowFilterAudio = null; protected IDirectVobSub vobSub; DateTime elapsedTimer=DateTime.Now; @@ -827,10 +828,12 @@ string strAudioCodec=""; string strAudiorenderer=""; bool bAddFFDshow=false; + bool bAddFFDshowAudio = false; string defaultLanguage; using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow=xmlreader.GetValueAsBool("movieplayer","ffdshow",false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false); strVideoCodec=xmlreader.GetValueAsString("movieplayer","mpeg2videocodec",""); strAudioCodec=xmlreader.GetValueAsString("movieplayer","mpeg2audiocodec",""); strAudiorenderer=xmlreader.GetValueAsString("movieplayer","audiorenderer",""); @@ -844,6 +847,7 @@ if (strAudioCodec.Length>0) audioCodecFilter=DirectShowUtil.AddFilterToGraph(graphBuilder,strAudioCodec); } if (bAddFFDshow) ffdShowFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,"ffdshow raw video filter"); + if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor"); if (strAudiorenderer.Length>0) audioRendererFilter= DirectShowUtil.AddAudioRendererToGraph(graphBuilder,strAudiorenderer,false); @@ -962,6 +966,7 @@ if (audioCodecFilter!=null) Marshal.ReleaseComObject(audioCodecFilter); audioCodecFilter=null; if (audioRendererFilter!=null) Marshal.ReleaseComObject(audioRendererFilter); audioRendererFilter=null; if (ffdShowFilter!=null) Marshal.ReleaseComObject(ffdShowFilter); ffdShowFilter=null; + if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null; if( vobSub != null ) { while((hr=Marshal.ReleaseComObject( vobSub))>0); diff -u -r D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs.orig D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs --- D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs.orig 2006-04-01 19:26:52.031250000 +0200 +++ D:\Data\Sources\trunk\mediaportal/Core/Player/VideoPlayerVMR9.cs 2006-04-01 22:20:59.781250000 +0200 @@ -83,9 +83,11 @@ string strAudioCodec=""; string strAudiorenderer=""; bool bAddFFDshow=false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader=new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow=xmlreader.GetValueAsBool("movieplayer","ffdshow",false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("movieplayer", "ffdshowaudio", false); strVideoCodec=xmlreader.GetValueAsString("movieplayer","mpeg2videocodec",""); strAudioCodec=xmlreader.GetValueAsString("movieplayer","mpeg2audiocodec",""); strAudiorenderer=xmlreader.GetValueAsString("movieplayer","audiorenderer",""); @@ -97,6 +99,7 @@ if (strAudioCodec.Length>0) audioCodecFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,strAudioCodec); } if (bAddFFDshow) ffdShowFilter= DirectShowUtil.AddFilterToGraph(graphBuilder,"ffdshow raw video filter"); + if (bAddFFDshowAudio) ffdShowFilterAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, "ffdshow Audio Processor"); if (strAudiorenderer.Length>0) audioRendererFilter= DirectShowUtil.AddAudioRendererToGraph(graphBuilder,strAudiorenderer,false); @@ -258,6 +261,7 @@ if (audioCodecFilter!=null) Marshal.ReleaseComObject(audioCodecFilter); audioCodecFilter=null; if (audioRendererFilter!=null) Marshal.ReleaseComObject(audioRendererFilter); audioRendererFilter=null; if (ffdShowFilter!=null) Marshal.ReleaseComObject(ffdShowFilter); ffdShowFilter=null; + if (ffdShowFilterAudio != null) Marshal.ReleaseComObject(ffdShowFilterAudio); ffdShowFilterAudio = null; if( vobSub != null ) { diff -u -r D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs.orig D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs --- D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs.orig 2006-04-01 19:26:04.046875000 +0200 +++ D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/Analog/SinkGraph.cs 2006-04-01 22:21:03.968750000 +0200 @@ -782,16 +782,19 @@ string strAudioCodec = ""; string strAudioRenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); } if (video && strVideoCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, strVideoCodec); if (audio && strAudioCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, strAudioCodec); + if (audio && bAddFFDshowAudio) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, "ffdshow Audio Processor"); if (audio && strAudioRenderer.Length > 0) DirectShowUtil.AddAudioRendererToGraph(_graphBuilderInterface, strAudioRenderer, false); if (video && bAddFFDshow) DirectShowUtil.AddFilterToGraph(_graphBuilderInterface, "ffdshow raw video filter"); } diff -u -r D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs.orig D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs --- D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs.orig 2006-04-01 19:26:05.812500000 +0200 +++ D:\Data\Sources\trunk\mediaportal/TVCapture/Graphs/DVB/DVBGraphBase.cs 2006-04-01 22:21:04.093750000 +0200 @@ -1221,15 +1221,18 @@ string strAudioCodec = ""; string strAudioRenderer = ""; bool bAddFFDshow = false; + bool bAddFFDshowAudio = false; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { bAddFFDshow = xmlreader.GetValueAsBool("mytv", "ffdshow", false); + bAddFFDshowAudio = xmlreader.GetValueAsBool("mytv", "ffdshowaudio", false); strVideoCodec = xmlreader.GetValueAsString("mytv", "videocodec", ""); strAudioCodec = xmlreader.GetValueAsString("mytv", "audiocodec", ""); strAudioRenderer = xmlreader.GetValueAsString("mytv", "audiorenderer", ""); } if (video && strVideoCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilder, strVideoCodec); if (audio && strAudioCodec.Length > 0) DirectShowUtil.AddFilterToGraph(_graphBuilder, strAudioCodec); + if (audio && bAddFFDshowAudio) DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow Audio Processor"); if (audio && strAudioRenderer.Length > 0) DirectShowUtil.AddAudioRendererToGraph(_graphBuilder, strAudioRenderer, false); if (video && bAddFFDshow) DirectShowUtil.AddFilterToGraph(_graphBuilder, "ffdshow raw video filter"); }//void AddPreferredCodecs() diff -u -r D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml.orig D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml --- D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml.orig 2006-04-01 19:30:29.203125000 +0200 +++ D:\Data\Sources\trunk\mediaportal/xbmc/bin/Release/keymap.xml 2006-04-01 23:31:07.046875000 +0200 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> - + <keymap> <global> <action> diff -u -r D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj.orig D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj --- D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj.orig 2006-04-01 19:30:30.218750000 +0200 +++ D:\Data\Sources\trunk\mediaportal/xbmc/MediaPortal.csproj 2006-04-01 21:59:08.093750000 +0200 @@ -270,6 +270,7 @@ <Compile Include="ThreadMessageFilter.cs" /> <EmbeddedResource Include="CodecsForm.resx"> <DependentUpon>CodecsForm.cs</DependentUpon> + <SubType>Designer</SubType> </EmbeddedResource> <EmbeddedResource Include="d3dapp.resx"> <DependentUpon>d3dapp.cs</DependentUpon> [/code] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Development
General Development (no feature request here!)
FFDShow Audio Post-pocessing
Contact us
RSS
Top
Bottom