为什么AVSampleBufferDisplayLayer因操作中断而失败(-11847)?
我正在使用AVSampleBufferDisplayLayer
来解码和显示从服务器流式传输的H.264video。 当我的应用程序进入后台然后返回到前台时,解码过程变得AVSampleBufferDisplayLayer
失败。 我看到的错误是:
H.264 decoding layer has failed: Error Domain=AVFoundationErrorDomain Code=-11847 "Operation Interrupted" UserInfo=0x17426c500 {NSUnderlyingError=0x17805fe90 "The operation couldn't be completed. (OSStatus error -12084.)", NSLocalizedRecoverySuggestion=Stop other operations and try again., NSLocalizedDescription=Operation Interrupted}
有没有其他人使用AVSampleBufferDisplayLayer
这样的问题? 这是什么意思?
我试图在我收到错误时销毁AVSampleBufferDisplayLayer
并创建一个新的,但后来我开始从H.264解码器接收其他错误:
Error Domain=AVFoundationErrorDomain Code=-11821 "Cannot Decode" UserInfo=0x1740e9700 {AVErrorMediaSubTypeKey=(1635148593), NSLocalizedFailureReason=The media data could not be decoded. It may be damaged., NSUnderlyingError=0x174247680 "The operation couldn't be completed. (OSStatus error -12909.)", AVErrorMediaTypeKey=vide, AVErrorPresentationTimeStampKey=CMTime: {7/30 = 0.233}, NSLocalizedDescription=Cannot Decode}
在AVSampleBufferDisplayLayer
失败之前,我没有收到任何这些错误。
重建一个新的AVSampleBufferDisplayLayer后,你应该用最后一个最近的IDR帧排队,除了当前帧是IDR,这意味着你应该在解码时将nalus保存在一个GOP中,并在下一个IDR到来时删除它们。
- UIImageView / UIView的Autolayout宽高比
- SpriteKit SKScene缺lesstouchesEnded
- UIWebView本地video/audio播放iOS不工作,使用meteor(PhoneGap)
- 内存泄漏每次UIScrollView被释放
- 使用CocoaPods的多个应用程序的项目/工作区结构
- 使用hidesBottomBarWhenPushed在推送动画期间工具栏定位错误
- 为什么XCode会抛出重复的符号错误?
- iOS应用程序在后台录制时audio中断
- 即使configuration正确,URLForUbiquityContainerIdentifier也会返回nil