DKWechatHelper/dkhelper/dkhelperDylib/QGVAPlayer/class/Controllers/Decoders/QGBaseDecoder.m
DKJone 888af8954e [v1.0.7](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.7) / 2021-01-29
what's new
* 动态启动图
* 动态聊天背景
* 支持8.0.1
* 更新越狱包8.0.1
* 更新已注入助手的8.0.1未签名包
* 更新越狱源安装包
2021-01-29 16:35:34 +08:00

71 lines
1.8 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// QGBaseDecoder.m
// Tencent is pleased to support the open source community by making vap available.
//
// Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
//
// Licensed under the MIT License (the "License"); you may not use this file except in
// compliance with the License. You may obtain a copy of the License at
//
// http://opensource.org/licenses/MIT
//
// Unless required by applicable law or agreed to in writing, software distributed under the License is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// either express or implied. See the License for the specific language governing permissions and
// limitations under the License.
#import "QGBaseDecoder.h"
#import "QGAnimatedImageDecodeThreadPool.h"
@interface QGBaseDecoder() {
QGBaseDFileInfo *_fileInfo;
}
@end
@implementation QGBaseDecoder
- (instancetype)initWith:(QGBaseDFileInfo *)fileInfo error:(NSError **)error {
if (self = [super init]) {
_currentDecodeFrame = -1;
_fileInfo = fileInfo;
_fileInfo.occupiedCount ++;
}
return self;
}
- (QGBaseDFileInfo *)fileInfo {
return _fileInfo;
}
/**
由具体子类实现
该方法在decodeframe方法即将被调用时调用如果返回YES则停止解码工作
@param nextFrameIndex 将要解码的帧索引
@return 是否需要继续解码
*/
- (BOOL)shouldStopDecode:(NSInteger)nextFrameIndex {
// No implementation here. Meant to be overriden in subclass.
return NO;
}
- (BOOL)isFrameIndexBeyondEnd:(NSInteger)frameIndex {
return NO;
}
/**
在专用线程内解码指定帧并放入对应的缓冲区内
@param frameIndex 帧索引
@param buffers 缓冲
*/
- (void)decodeFrame:(NSInteger)frameIndex buffers:(NSMutableArray *)buffers {
// No implementation here. Meant to be overriden in subclass.
}
@end