(C)Copyright 2000 NTT Cyber Space Laboratories
class CHeaderManager {
public:
// 初期化・デストラクタ
static CHeaderManager*
Create(CChunkChunk& twinChunk); // 初期化用スタティックメンバ関数
virtual ~CHeaderManager();
// デストラクタ
// 機能メンバ関数
const std::string
GetID(); // TwinVQ
データの ID を取得
CChunk GetPrimaryChunk(std::string
chunkID); //
通常チャンクの情報を取得する
CChunk GetSecondaryChunk(std::string
chunkID); //
補助チャンクの情報を取得する
// 例外
class err_FailGetChunk; //
チャンクの取得に失敗
}
CHeaderManager
は、与えられたビットストリームヘッダを保管し、ヘッダ情報をデータベースとして機能します。初期化時に、CChunkChunk
クラスオブジェクトに格納されたヘッダ情報
twinChunk
を読み込みヘッダ情報データベースを構築します。構築後は、GetPrimaryChunk()
および GetSecondaryChunk()
メンバ関数を使って、ヘッダ情報をチャンク単位に取得できます。Create()
スタティックメンバ関数を使って生成・初期化します。この初期化関数はヘッダ情報
twinChunk を読み込み、CHeaderChunk クラスオブジェクトへのポインタを戻します。twinChunk
のフォーマットが正しくないと生成に失敗し、この場合
Create()
関数は NULL ポインタを戻します。TvqGetBsHeaderInfo()
関数を使って作成しています。theHeaderManager
)。
CChunkChunk *twinChunk = TvqGetBsHeaderInfo(bfp); CHeaderManager *theHeaderManager = CHeaderManager::Create(*twinChunk);
std::string GetID()
CChunk GetPrimaryChunk( std::string chunkID)
err_FailGetChunk
を発生します。CChunk GetSecondaryChunk(std::string chunkID)
err_FailGetChunk
を発生します。CHeaderManager.h
HeaderManager.cxx
TvqGetBsHeaderInfo()
, CChunk