KSPROPERTY_RTAUDIO_SETWRITEPACKET

KSPROPERTY_RTAUDIO_SETWRITEPACKET は、OS が WaveRT バッファーに有効なデータを書き込んだことをドライバーに通知します。

用法の要点テーブル

Yammer の入手 設定 移行先 プロパティ記述子の種類 プロパティ値の種類
いいえ はい ピン留めする KSPROPERTY KSRTAUDIO_SETWRITEPACKET_INFO

プロパティ記述子 (インスタンス データ) は KSPROPERTY 構造体です。 要求を送信する前に、クライアントはパケット番号、パケット長、およびその他の情報を含む値を持つ構造体を読み込みます。

プロパティ値は、KSRTAUDIO_SETWRITEPACKET_INFO 型の構造体です。

戻り値

KSPROPERTY_RTAUDIO_SETWRITEPACKET プロパティ要求は、正常に完了したことを示すために STATUS_SUCCESS を返します。 それ以外の場合、要求は適切な失敗状態コードを返します。

解説

この KSPROPERTY がサポートされている場合、ドライバーは必要に応じて提供された情報を使用してハードウェア転送を最適化できます。 たとえば、ドライバーは DMA 転送を最適化したり、OS が別のパケットをドライバーに通知するためにこのルーチンを再度呼び出さない場合に、指定されたパケットの最後に転送を停止するようにハードウェアをプログラムする場合があります。 これにより、循環バッファーを繰り返すのではなく、可聴ギャップを導入するなど、アンダーフローの可聴効果を軽減できます。 ただし、ドライバーは、内部パケット カウンターを増やし、通知イベントをわずかなリアルタイム レートで通知する義務を引き続き負います。

OS が KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM フラグを指定する場合を除き、パケット サイズは、KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION に渡された NotificationCount で割った WaveRT バッファー サイズです。

ハードウェアの機能によっては、KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM フラグが指定されている場合、ハードウェアが EOS の位置を超えてデータを転送する場合に備えて、ドライバーは EOS パケットに続く WaveRT バッファーの一部を無音にする場合があります。

要件

バージョン

Windows 10 以降の Windows オペレーティング システムで使用できます。

ヘッダー

Ksmedia.h

関連項目

KSPROPERTY_RTAUDIO_GETREADPACKET

UsePositionLock