Skip to main content

SetShapeDmaReadPointer

Direct Memory Access (DMA) 読み取りポインターを設定します。

構文

パラメーター

context   _Inout_
型: SHAPE_DMA_CONTEXT*
SHAPE_DMA_CONTEXT 構造体へのポインター。 readPointer   
型: UINT32
フレーム単位 (128 サンプル ブロック) で表される、読み取りポインターの値。

戻り値

型: HRESULT HRESULT の成功またはエラー コード。

解説

DMA バッファーのサイズは次の式で計算できます。
読み取りポインターと書き込みポインターは次のようにインクリメントされます。
オーディオ バッファー内のアドレスは次のように計算します。
オーディオ バッファーが十分に大きく、データがバッファー サイズに応じた一定間隔でストリーミングされるようにすることで、DMA コマンドのブロックを防ぐことができます。たとえば、一度に 4 個のハードウェア フレームをストリーミングしている場合、そのフレームの倍数 (少なくとも 8 フレームでダブル バッファリング) をバッファーに確保し、タイトルの読み取りポインターより先行してハードウェアが書き込めるようにしてください。あるいは、次のフローグラフを送信する前にバッファーを空にすること (消費、DMA 読み取りポインターの更新、その後フローグラフの送信) を強制することもできます。詳細については、SHAPE の概要Blocked commands を参照してください。 フローグラフは、永続または非永続として処理するように送信できます。永続フローグラフは、処理された後もそのままメモリ上に残り、読み書きポインターが進み、他のコンテキスト情報が更新された次のフレームで再度処理を繰り返します。

要件

ヘッダー: shapedmacontext.h サポートされるプラットフォーム: XBOX One ファミリ本体および XBOX Series 本体

関連項目

ShapeDmaContext
最終更新日 2026年8月24日