番組情報の取得
カスタム ガイド ストア ローダーは、トランスポート ストリームから番組情報を取得する必要がある。そのためには、いくつかの方法がある。
- BDA MPEG-2 トランスポート情報フィルタ (TIF) から情報を取得する。
- MPEG-2 セクションおよびテーブル フィルタからセクションを取得する。
- 未処理の PSI セクション パケットを解析するカスタム フィルタを実装する。
同じクライアント内でこれらの方法を任意に組み合わせることができる。
TIF から番組情報を取得するには、コンポーネントに IGuideDataEvent インターフェイスを実装し、IConnectionPoint インターフェイスを使用して TIF との接続ポイントを設定する。
MPEG-2 セクションおよびテーブル フィルタの使い方については、「MPEG-2 PSI テーブルの取得」を参照すること。
3 つ目のオプションであるカスタム フィルタの実装は、推奨されない。MPEG-2 セクションおよびテーブル フィルタによって既に大幅に簡単な方法が提供されているからである。それでもこの方法を実行する場合は、追加の "CategoryOther" タイプを含むデフォルト コンポーネント タイプのリストを作成し、このリストをチューニング空間のデフォルトの優先コンポーネント リストとして設定する必要がある。そのようにすると、ネットワーク プロバイダ フィルタによって MPEG-2 デマルチプレクサ フィルタ上に追加の出力ピンが作成され、フィルタをグラフに接続できる。詳細については、「コンポーネント」を参照すること。
フィルタを接続したら、IBDA_TIF_REGISTRATION::RegisterTIFEx メソッドを呼び出してフィルタをネットワーク プロバイダに登録する。このメソッドは IMPEG2PIDMap インターフェイスへのポインタを返す。このインターフェイスを使って目的の PID を追加の出力ピンにマップする。(ネットワーク プロバイダに BDA グラフ内のすべての PID マッピングを通知しなければならないため、MPEG-2 デマルチプレクサの IMPEG2PIDMap インターフェイスは使用しないこと。このインターフェイスは呼び出しをデマルチプレクサに転送する。)フィルタを接続解除したら、IBDA_TIF_REGISTRATION::RegisterTIFEx メソッドを呼び出してネットワーク プロバイダから登録解除する。