AV Foundation はサードパーティのコーデックをサポートしていないという印象を受けました。アプリケーションで Avid DNxHD QuickTime ムービーを開こうとすると、期待どおりに動作しません。
ただし、DNxHD ムービーを QuickTime Player X (これも AVF を使用) で開くと、開いて正常に再生され、情報ウィンドウに DNxHD であるとさえ表示されます。
Appleがこれをどのように達成しているか知っている人はいますか?
AV Foundation はサードパーティのコーデックをサポートしていないという印象を受けました。アプリケーションで Avid DNxHD QuickTime ムービーを開こうとすると、期待どおりに動作しません。
ただし、DNxHD ムービーを QuickTime Player X (これも AVF を使用) で開くと、開いて正常に再生され、情報ウィンドウに DNxHD であるとさえ表示されます。
Appleがこれをどのように達成しているか知っている人はいますか?
QuickTime Player Xは、AVFの上ではなく、QTX上に構築されていると思います。実際、QTKitを使用していると思います。QTKitは、32ビットコーデックでのみサポートされているファイルを開くために、必要に応じて32ビットプロキシプロセスを起動します。
ファイルを開くときに「再生のみ」属性を指定すると、QTKitフレームワークを介してQT Xにアクセスできますが、再生できるのは(フラグが示すように)のみです。トラック数を列挙しても失敗します。再生のみを指定しない場合、アプリが64ビットの場合は32ビットプロキシ経由でアクセスされるQT7コンポーネントに制限されます。