浏览代码

fix: 优化可能造成内存泄漏的点

StyxS 5 年之前
父节点
当前提交
c893edb9fe
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      iOS/QGVAPlayer/QGVAPlayer/Classes/Controllers/Decoders/QGMP4FrameHWDecoder.m

+ 3 - 0
iOS/QGVAPlayer/QGVAPlayer/Classes/Controllers/Decoders/QGMP4FrameHWDecoder.m

@@ -239,6 +239,8 @@ NSString *const QGMP4HWDErrorDomain = @"QGMP4HWDErrorDomain";
         });
         
         if (status == kVTInvalidSessionErr) {
+            CFRelease(sampleBuffer);
+            
             // 防止陷入死循环
             if (_invalidRetryCount >= 3) {
                 return;
@@ -258,6 +260,7 @@ NSString *const QGMP4HWDErrorDomain = @"QGMP4HWDErrorDomain";
         _status = VTDecompressionSessionDecodeFrame(_mDecodeSession, sampleBuffer, flags, &outputPixelBuffer, &flagOut);
         
         if (_status == kVTInvalidSessionErr) {
+            CFRelease(sampleBuffer);
             // 防止陷入死循环
             if (_invalidRetryCount >= 3) {
                 return;