OSDN Git Service

SlimDX から SharpDX へ機械的に移行。
[dtxmania/dtxmania.git] / FDK17プロジェクト / コード / 05.DirectShow / CDirectShow.cs
index adf7836..9b91b9c 100644 (file)
@@ -6,9 +6,9 @@ using System.IO;
 using System.Drawing;\r
 using System.Drawing.Imaging;\r
 using System.Threading;\r
-using SlimDX;\r
-using SlimDX.Direct3D9;\r
-using SlimDX.Multimedia;\r
+using SharpDX;\r
+using SharpDX.Direct3D9;\r
+using SharpDX.Multimedia;\r
 using DirectShowLib;\r
 \r
 namespace FDK\r
@@ -500,7 +500,7 @@ namespace FDK
                                {\r
                                        #region [ (A) ピッチが合うので、テクスチャに直接転送する。]\r
                                        //-----------------\r
-                                       hr = this.memoryRenderer.GetCurrentBuffer( dr.Data.DataPointer, this.nデータサイズbyte );\r
+                                       hr = this.memoryRenderer.GetCurrentBuffer( dr.DataPointer, this.nデータサイズbyte );\r
                                        DsError.ThrowExceptionForHR( hr );\r
                                        //-----------------\r
                                        #endregion\r
@@ -544,7 +544,7 @@ namespace FDK
 \r
                                        this.ptrSnap = (byte*) this.ip.ToPointer();\r
                                        var ptr = stackalloc UInt32*[ CDirectShow.n並列度 ]; // stackalloc(GC対象外、メソッド終了時に自動開放)は、スタック変数相手にしか使えない。\r
-                                       ptr[ 0 ] = (UInt32*) dr.Data.DataPointer.ToPointer();   //              ↓\r
+                                       ptr[ 0 ] = (UInt32*) dr.DataPointer.ToPointer();        //              ↓\r
                                        for( int i = 1; i < CDirectShow.n並列度; i++ )                       // スタック変数で確保、初期化して…\r
                                                ptr[ i ] = ptr[ i - 1 ] + this.n幅px;                          //              ↓\r
                                        this.ptrTexture = ptr;                                                                  // スタック変数をクラスメンバに渡す(これならOK)。\r
@@ -755,18 +755,12 @@ namespace FDK
                                DsError.ThrowExceptionForHR( hr );\r
                                try\r
                                {\r
-                                       wfx = new WaveFormat();\r
-\r
                                        #region [ type.formatPtr から wfx に、拡張領域を除くデータをコピーする。]\r
                                        //-----------------\r
                                        var wfxTemp = new WaveFormatEx();       // SlimDX.Multimedia.WaveFormat は Marshal.PtrToStructure() で使えないので、それが使える DirectShowLib.WaveFormatEx を介して取得する。(面倒…)\r
                                        Marshal.PtrToStructure( type.formatPtr, (object) wfxTemp );\r
-                                       wfx.AverageBytesPerSecond = wfxTemp.nAvgBytesPerSec;\r
-                                       wfx.BitsPerSample = wfxTemp.wBitsPerSample;\r
-                                       wfx.BlockAlignment = wfxTemp.nBlockAlign;\r
-                                       wfx.Channels = wfxTemp.nChannels;\r
-                                       wfx.FormatTag = (WaveFormatTag) ( (ushort) wfxTemp.wFormatTag );        // DirectShowLib.WaveFormatEx.wFormatTag は short だが、SlimDX.Mulrimedia.WaveFormat.FormatTag は ushort である。(面倒…)\r
-                                       wfx.SamplesPerSecond = wfxTemp.nSamplesPerSec;\r
+\r
+                                       wfx = WaveFormat.CreateCustomFormat( (WaveFormatEncoding) wfxTemp.wFormatTag, wfxTemp.nSamplesPerSec, wfxTemp.nChannels, wfxTemp.nAvgBytesPerSec, wfxTemp.nBlockAlign, wfxTemp.wBitsPerSample );\r
                                        //-----------------\r
                                        #endregion\r
                                        #region [ 拡張領域が存在するならそれを wfx拡張データ に格納する。 ]\r