QDSAudio

QDSAudio は、Ogg Vorbis および TTA ファイルを再生するための、DirectShow コンポーネント である。

DirectShow の API を使用して再生を行うので、Windows アプリケーションに容易に再生処理を 組み込むことができる。

フィルターコンポーネントの仕様

ソースフィルターとして実装され、出力ピン "Audio" を1つ備える。

出力ピンは、オーディオレンダラーへ直結されることを想定している。

出力ピンのメディアフォーマットは、16 bit PCM, 1 or 2 ch, サンプリングレートは、 ソースファイルに準ずる。

IMediaSeeking インターフェイスをサポートし、基本的なシーク機能を実装している。

API

  1. HRESULT QDSA_CreateOggVorbisDecoder(
  2. LPCWSTR path,
  3. IBaseFilter** ppFilter);
  4. HRESULT QDSA_CreateOggVorbisDecoder_IStream(
  5. IStream* p,
  6. IBaseFilter** ppFilter);
  7. HRESULT QDSA_CreateTTADecoder(
  8. LPCWSTR path,
  9. IBaseFilter** ppFilter);
  10. HRESULT QDSA_CreateTTADecoder_IStream(
  11. IStream* p,
  12. IBaseFilter** ppFilter);
  13. HRESULT QDSA_SetupLoopPoint(
  14. IBaseFilter* pFilter,
  15. INT64 pos);
  16. void QDSA_FreeMediaType(
  17. AM_MEDIA_TYPE* mt);

QDSA_CreateOggVorbisDecoder() QDSA_CreateOggVorbisDecoder_IStream()

Ogg Vorbis 再生用フィルターコンポーネントを作成する。

ローカルファイルパス、IStream インターフェイスのどちらかを使用できる。

QDSA_CreateTTADecoder() QDSA_CreateTTADecoder_IStream()

TTA 再生用フィルターコンポーネントを作成する。

ローカルファイルパス、IStream インターフェイスのどちらかを使用できる。

QDSA_SetupLoopPoint()

ループポイントを設定する。

ループモードでは、ストリーム終端に達したら、設定されたサンプル位置に移動し、再生を続行する。

-1 を設定した場合は、ループモードを解除する。

対象フィルターは、本ライブラリーで作成されたもののみとなる。

QDSA_FreeMediaType()

AM_MEDIA_TYPE 構造体の確保メモリーを解放する。