CRI Sofdec
Last Updated: 2024-09-25 20:36 p
日本語
English
中文
ムービー再生用のリソース消費タイミングについて
複数同時ムービー再生
にて、ムービー再生に必要なリソースを紹介しました。
本ページでは実際にリソースの確保や解放が行われるタイミングについて説明します。
デコーダーリソースの確保・解放タイミング
<確保タイミング>
CriManaLibConfig.max_decoder_handles
で指定しているリソースは、具体的には以下のタイミングで確保されます。
再生準備状態(CRIMANAPLAYER_STATUS_PREP)になる瞬間
より厳密には、CRIMANAPLAYER_STATUS_WAIT_PREP状態のプレーヤーに対し、::criMana_ExecuteMain /
criManaPlayer_ExecuteMain
関数を呼び出したタイミングです。
ヘッダー解析だけを行った場合には消費されません。
<解放タイミング>
以下のタイミングのいずれかです。
criManaPlayer_Destroy
関数でハンドルを破棄した場合
criManaPlayer_FreePlaybackWork
関数で明示的に再生リソースを解放した場合
プレーヤーハンドルを使いまわし、次のムービーの再生準備が始まるタイミング
デコーダー内部でデコード結果のバッファーを保持しています。再生終了後もデコードバッファー (最終フレーム)へのアクセスを許すため、再生終了のタイミングではデコーダーを破棄しない仕様となっています。
CriFsLoaderの確保・解放タイミング
CriFsLoaderリソースと
CriManaPlayerHn
の生存期間は一緒です。
CriManaPlayerHn
を一つ生成すると内部でCriFsLoaderが一つ作成されます。
ファイルオープン・クロースのタイミング
ムービー再生においてファイルディスクリプタが消費されるのは、ストリーミング再生を行っている間です。
再生が終わるとファイルはクローズされます。
Copyright (c) CRI Middleware Co., Ltd. 1.9.1