gpt4 book ai didi

ios - 为什么 AVSampleBufferDisplayLayer 因操作中断 (-11847) 而失败?

转载 作者:可可西里 更新时间:2023-11-01 04:57:18 28 4
gpt4 key购买 nike

我正在使用 AVSampleBufferDisplayLayer 来解码和显示从服务器流式传输的 H.264 视频。当我的应用程序进入后台然后返回前台时,解码过程被搞砸并且 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 到来时删除它们。

关于ios - 为什么 AVSampleBufferDisplayLayer 因操作中断 (-11847) 而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28841903/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com