このサンプルプログラムでは、ADXと同時にストリーミング再生を行う場合に調整すべきポイントを紹介しています。
調整が必要なパラメーター
ADXとの同時ストリーミング再生で調整すべきパラメーターは下記の二つです。
- CRI File Systemライブラリの初期化設定構造体 (CriFsConfig)の設定
- ADXのD-BAS作成パラメーター構造体 (CriDbasConfig)の設定
1.CRI File Systemライブラリの初期化設定構造体 (CriFsConfig)の設定
config_fs.thread_model = CRIFS_THREAD_MODEL_MULTI;
config_fs.num_binders = 1;
config_fs.num_loaders = NUM_VOICES +
NUM_MOVIES;
config_fs.num_group_loaders = 0;
config_fs.num_stdio_handles = 0;
config_fs.num_installers = 0;
config_fs.max_binds = 1;
config_fs.max_files = 1+1;
config_fs.max_path = CRIFS_CONFIG_DEFAULT_MAX_PATH;
criAtomEx_SetDefaultConfig_PC(&config_atom);
config_atom.atom_ex.fs_config = &config_fs;
criAtomEx_Initialize_PC(&config_atom, NULL, 0);
CRI Manaライブラリでは、Manaプレーヤーハンドル作成につき、ストリーミング再生時にCriFileSystemのライブラリのcriFsLoaderハンドルを一つ消費します。 それ以外のリソースは使用しませんが、最大同時ファイルオープン数にムービーファイルもカウントされますので注意してください。
ADXと同時にストリーミング再生をする場合は、このManaプレーヤーハンドル側のリソース消費も加味した上で、その使用状況に応じてCriFsConfig構造体を調整してください。
2.ADXのD-BAS作成パラメーター構造体 (CriDbasConfig)の設定
config_dbas.identifier = 0;
config_dbas.max_bps = AUDIO_MAXBPS + MOVIE_MAXBPS;
config_dbas.max_streams = NUM_VOICES + NUM_MOVIES;
app_obj->dbas_id = criAtomDbas_Create(&config_dbas, NULL, 0);
app_obj->dbas_size = criAtomDbas_CalculateWorkSize(&config_dbas);
ADXのD-BASのバッファーサイズに対しても、ムービーのストリーミング再生を考慮する必要があります。
CriAtomDbasConfig構造体に対して、同時に再生するムービーの最大ビットレートとストリーム本数を足し合わせます。 ムービーをメモリ再生する場合には考慮する必要はありません。
[備考]
ADXとSofdecを併用についての詳細は「ADXマニュアル」の「Tips」で説明しています。