有谁知道VDADecoder?如何调用create函数?

时间:2013-03-22 09:14:08

标签: objective-c xcode macos video h.264

我阅读了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,这反映了“操作无法完成” 为什么?我该怎么称呼它?我想传递“数据”字符串是错误的,坚果我不知道实际上要传递什么......

有谁知道解决方案?谢谢!

1 个答案:

答案 0 :(得分:0)

根据我对技术说明的阅读,您不能只为CreateDecoder的inAVCCData参数(在您的情况下为字符串“data”)发送任何随机数据流。查看技术说明中描述解码器配置键的部分:

  

kVDADecoderConfiguration_avcCData - 包含avcC数据的CFDataRef   来自H.264比特流。在QuickTime电影文件中,这是相同的   数据,作为avcC原子存储在图像描述中。

这是在解码器设置期间需要检索和传递的传输文件的一个组件。