Video 我的QTKit在弹出菜单时崩溃了。JVT-Lib(H.264)编码负责这个问题。我能做什么?
我在应用程序中使用Video 我的QTKit在弹出菜单时崩溃了。JVT-Lib(H.264)编码负责这个问题。我能做什么?,video,crash,quicktime,h.264,qtkit,Video,Crash,Quicktime,H.264,Qtkit,我在应用程序中使用H.264编码QTKit 此应用程序总是因“分段错误”或“执行错误访问”而崩溃 我的调试器显示此位置的崩溃: 0x7fff801fea94: je 0x7fff801feba6 ; JVTLib_101906(JVTLib_100990*, JVTLib_101383 const*, JVTLib_101895*) + 3886 ( ... ) 0x7fff801feaba: movl $1, 24(%r13) 最后一行“movl”导致
H.264
编码QTKit
此应用程序总是因“分段错误
”或“执行错误访问
”而崩溃
我的调试器显示此位置的崩溃:
0x7fff801fea94: je 0x7fff801feba6 ; JVTLib_101906(JVTLib_100990*, JVTLib_101383 const*, JVTLib_101895*) + 3886
( ... )
0x7fff801feaba: movl $1, 24(%r13)
最后一行“movl
”导致崩溃。在注释中可以看到,它是H.264
编码器中的JVT
模块(我假设)
我不明白的是:我的代码工作了很长时间。从昨天开始就不稳定了。如果我使用“仪器”,代码运行良好。所以弹出菜单一定有问题。取消对视频例程的注释工作正常(这意味着菜单没有内存问题)
理解QTKit
背后的“魔力”将是令人兴奋的
编辑:我现在可以看到对象名称:崩溃发生在“QTBackgroundQueueRun
”线程中,对象是:'PBRemoveObjectInternal(FSRefParam*,unsigned char)
”
解决方案:大家好。我终于发现了问题!对古尔公司进行了漫长而艰苦的搜索
QTKit
不喜欢被计时器打断。如果您在“调试”模式下编译项目,并包含调试符号,即gdb正在运行,则应用程序将崩溃
NSLog正在“发布”模式下工作。对于大多数调试问题,这将起作用。因此,如果您需要“真正”调试代码,请在项目设置中添加一些makro定义,删除所有与QTCaptureMovieFileOutput相关的代码。你完成了。我想知道为什么QTKit对这些东西如此敏感。但正如我们都知道的那样,Quicktime是一个非常古老的代码,苹果正在用Quicktime X进行现代主义设计。所以我们都希望下次能有更好的版本