次の方法で共有


IAudioOutputEndpointRT::ReleaseOutputDataPointer メソッド (audioengineendpoint.h)

ReleaseOutputDataPointer メソッドは、出力バッファーへのポインターを解放します。

構文

void ReleaseOutputDataPointer(
  [in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);

パラメーター

[in] pConnectionProperty

APO_CONNECTION_PROPERTY構造体へのポインター。 構造体の値は変更しないでください。 呼び出し元は、次のようにメンバーを設定します。

  • pBuffer は、 IAudioOutputEndpointRT::GetOutputDataPointer メソッドによって返される出力データ バッファーへのポインターに設定されます。
  • u32ValidFrameCount は、オーディオ エンジンによって生成されたフレームの実際の数に設定されます。 この値は、GetOutputDataPointer メソッドの u32FrameCount パラメーターで渡されるフレーム数と同じでない場合があります。
  • pBuffer メンバーが指す出力バッファーに有効なデータが含まれている場合、u32BufferFlagsBUFFER_VALID に設定されます。 出力バッファーにサイレント データのみが含まれている場合、u32BufferFlagsBUFFER_SILENT に設定されます。 バッファー内のデータは実際には無音である必要はありませんが、 pBuffer メンバーで指定されたバッファーは、 u32ValidFrameCount メンバーに含まれるすべての無音フレームを保持できる必要があります。 したがって、 BUFFER_SILENT が指定されている場合、エンドポイントは出力バッファーに無音を書き込む必要があります。

戻り値

なし

解説

ReleaseOutputDataPointer は、オーディオ エンジンが出力バッファーにデータを書き込むタスクを完了し、データ ポインターが不要になったことをエンドポイントに通知します。 このメソッドは、出力バッファー内のオーディオ サンプルに対応する時間、オーディオ エンジンによって生成されたフレームの数、バッファーが有効なデータまたは無音データでいっぱいかどうかなどの情報も中継します。 この情報に基づいて、ループされたバッファーを表し、オーディオ エンジンの出力に接続されているエンドポイントは、バッファー内の書き込み位置を進めることができます。 GetOutputDataPointer メソッドの u32FrameCount パラメーターの値 0 は、オーディオ エンジンが出力バッファーに有効なデータを書き込まなかったことを示します。 u32FrameCount パラメーターの値は、GetOutputDataPointer で指定されたフレーム数以下である必要があります。 エンドポイントは、 GetOutputDataPointer によって要求されたすべてのデータが実際に生成されたと想定することはできません。

このメソッドは、リアルタイム処理スレッドから呼び出すことができます。 このメソッドの実装では、ページングされたメモリをブロックしたり、ページ メモリにアクセスしたり、ブロックしているシステム ルーチンを呼び出したりすることはできません。

リモート デスクトップ サービス AudioEndpoint API は、リモート デスクトップ シナリオで使用されます。クライアント アプリケーション用ではありません。

要件

要件
サポートされている最小のクライアント Windows 7
サポートされている最小のサーバー Windows Server 2008 R2
対象プラットフォーム Windows
ヘッダー audioengineendpoint.h

こちらもご覧ください

IAudioOutputEndpointRT