0

Appleテクニカルノートhttps://developer.apple.com/library/mac/#technotes/tn2267/_index.htmlを読みました

サンプルコード「CreateDecoder()」を次のように呼び出してみました。

OSStatus stat = 0;
VDADecoder *decoder = NULL;
CFDataRef data;
char dataStr[] = "data";
data = CFDataCreate(kCFAllocatorDefault, (UInt8*)dataStr, 5);   
stat = CreateDecoder(320, 480, 'avc1', data, decoder);

ただし、「操作を完了できませんでした」というステータスコード-50が返されました。
なんで?どのように正しく呼び出す必要がありますか?「データ」文字列を渡すのは間違っていたと思いますが、実際に何を渡すのかわかりません...

誰もが解決策を知っていますか?ありがとうございました!

4

1 に答える 1

0

私がテクニカルノートを読んだところによると、CreateDecoderのinAVCCDataパラメーター(この場合は文字列「data」)のデータのランダムストリームを送信することはできません。デコーダー構成キーについて説明しているテクニカルノートの一部を確認してください。

kVDADecoderConfiguration_avcCData-H.264ビットストリームからのavcCデータを含むCFDataRef。QuickTimeムービーファイルでは、これはavcCアトムとして画像の説明に保存されているのと同じデータです。

これは、デコーダーのセットアップ中に取得して渡す必要があるトランスポートファイルのコンポーネントです。

于 2013-03-23T04:43:58.353 に答える