Hi
Just for the public record in case this affects anyone else, a bug exists in
QC such that if a patch
calls lockBufferRepresentationWithPixelFormat:colorSpace:forBounds and does
not produce image output, memory usage mounts perpetually proportional to
buffer size until eventually the host application crashes when memory runs
out. An execution method which triggers this looks like
- (BOOL) execute:(id<QCPlugInContext>)context atTime:(NSTimeInterval)time
withArguments:(NSDictionary*)arguments
{
if ([self didValueForInputKeyChange:@"inputImage"])
{
id <QCPlugInInputImageSource> input = self.inputImage;
if ([input lockBufferRepresentationWithPixelFormat:kQCPixelFormat
colorSpace:[input
shouldColorMatch] ? [context colorSpace] : [input imageColorSpace]
forBounds:[input
imageBounds]])
{
[input unlockBufferRepresentation];
}
}
self.outputString = @"zzz";
return YES;
}
Filed as Bug ID# 8508563. Example Xcode project, built plugin and
composition at http://kriss.cx/tom/elsewhere/bug/lockBufferRep_bug.zip
Cheers, Tom
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com
This email sent to [email protected]