2

コンテキストはQuartzComposerプラグインで、カメラフレームからCGImageを作成します。これは関連するコードです

id<QCPlugInInputImageSource> inputImage_ = self.inputImage;
CGColorSpaceRef colorSpace = [inputImage_ imageColorSpace];

以降

dataProvider = CGDataProviderCreateWithData(NULL, 
                                            [inputImage_ bufferBaseAddress], 
                                            [inputImage_ bufferPixelsHigh] * [inputImage_ bufferBytesPerRow], 
                                            NULL);
cgImage = CGImageCreate(
                       [inputImage_ bufferPixelsWide], 
                       [inputImage_ bufferPixelsHigh], 8, 
                       (pixelFormat == QCPlugInPixelFormatI8 ? 8 : 32), 
                       [inputImage_ bufferBytesPerRow], colorSpace, 
                       (pixelFormat == QCPlugInPixelFormatI8 ? 0 : 
                       kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host), 
                       dataProvider, NULL, false, kCGRenderingIntentDefault);
CGDataProviderRelease(dataProvider);
CGImageRelease(cgImage);

cgImage create and releaseを削除しても、リークは発生しません。リークは、Quartz Composerのプレビューモードでのみ発生します(ガベージコレクションではないため、何かを意味する可能性があります)。前もって感謝します

4

0 に答える 0