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 |