リビジョン | a7c21e08c54e71b89f3abf85a1fd32f7d77e60f9 (tree) |
---|---|
日時 | 2019-01-31 23:25:04 |
作者 | yyagi <yyagi.dtxmania@gmai...> |
コミッター | yyagi |
#37271 ミキシング高速化ではないが、各サウンドストリームのバッファ更新に用いるスレッド数を増やした。(1→論理コア数)。これで多少はサウンド処理の負荷が軽減するはず。
#xxxxx WASAPI/ASIO使用時にRIFF chunked MP3のファイルを開いたときのログ出力を見直した。それとわかるような詳しめの情報を出力するように変更。
@@ -350,7 +350,13 @@ namespace FDK | ||
350 | 350 | //} |
351 | 351 | if ( soundDeviceType == ESoundDeviceType.ExclusiveWASAPI || soundDeviceType == ESoundDeviceType.ASIO || soundDeviceType == ESoundDeviceType.SharedWASAPI ) |
352 | 352 | { |
353 | - //Bass.BASS_SetConfig( BASSConfig.BASS_CONFIG_UPDATETHREADS, 4 ); | |
353 | + #region [ CPU論理コア数の取得 (HT含む) ] | |
354 | + CWin32.SYSTEM_INFO sysInfo = new CWin32.SYSTEM_INFO(); | |
355 | + CWin32.GetSystemInfo(ref sysInfo); | |
356 | + int nCPUCores = (int)sysInfo.dwNumberOfProcessors; | |
357 | + #endregion | |
358 | + | |
359 | + Bass.BASS_SetConfig( BASSConfig.BASS_CONFIG_UPDATETHREADS, nCPUCores ); | |
354 | 360 | //Bass.BASS_SetConfig( BASSConfig.BASS_CONFIG_UPDATEPERIOD, 0 ); |
355 | 361 | |
356 | 362 | Trace.TraceInformation( "BASS_CONFIG_UpdatePeriod=" + Bass.BASS_GetConfig( BASSConfig.BASS_CONFIG_UPDATEPERIOD ) ); |
@@ -1715,14 +1721,19 @@ Debug.WriteLine("更に再生に失敗: " + Path.GetFileName(this.strファイ | ||
1715 | 1721 | } |
1716 | 1722 | } |
1717 | 1723 | } |
1724 | + // 以下、SharpDX.Multimedia.SoundStreamの生成に失敗した場合の処置 | |
1718 | 1725 | catch ( InvalidDataException e) |
1719 | 1726 | { |
1720 | - // DirectShowでのデコードに失敗したら、次はACMでのデコードを試すことになるため、ここではエラーログを出さない。 | |
1721 | 1727 | Trace.TraceWarning( "Warning: {0}: デコードに失敗しました。別の方法でデコードします。({1})", Path.GetFileName(strファイル名), e.Message ); |
1722 | 1728 | } |
1723 | - catch ( Exception e) | |
1729 | + catch ( InvalidOperationException e) // RIFF chunked mp3の場合は、ここに来る | |
1724 | 1730 | { |
1725 | 1731 | // DirectShowでのデコードに失敗したら、次はACMでのデコードを試すことになるため、ここではエラーログを出さない。 |
1732 | + Trace.TraceWarning("Warning: {0}: RIFF Chunked MP3はSharpDXで扱えないため、別の方法でデコードします。({1})", Path.GetFileName(strファイル名), e.Message ); | |
1733 | + | |
1734 | + } | |
1735 | + catch ( Exception e) | |
1736 | + { | |
1726 | 1737 | Trace.TraceWarning( "Warning: {0}: 読み込みに失敗しました。別の方法でデコードします。({1})", Path.GetFileName( strファイル名 ), e.Message ); |
1727 | 1738 | } |
1728 | 1739 | #endregion |