#import "GPUImageTextureOutput.h"
|
|
@implementation GPUImageTextureOutput
|
|
@synthesize delegate = _delegate;
|
@synthesize texture = _texture;
|
@synthesize enabled;
|
|
#pragma mark -
|
#pragma mark Initialization and teardown
|
|
- (id)init;
|
{
|
if (!(self = [super init]))
|
{
|
return nil;
|
}
|
|
self.enabled = YES;
|
|
return self;
|
}
|
|
- (void)doneWithTexture;
|
{
|
[firstInputFramebuffer unlock];
|
}
|
|
#pragma mark -
|
#pragma mark GPUImageInput protocol
|
|
- (void)newFrameReadyAtTime:(CMTime)frameTime atIndex:(NSInteger)textureIndex;
|
{
|
[_delegate newFrameReadyFromTextureOutput:self];
|
}
|
|
- (NSInteger)nextAvailableTextureIndex;
|
{
|
return 0;
|
}
|
|
// TODO: Deal with the fact that the texture changes regularly as a result of the caching
|
- (void)setInputFramebuffer:(GPUImageFramebuffer *)newInputFramebuffer atIndex:(NSInteger)textureIndex;
|
{
|
firstInputFramebuffer = newInputFramebuffer;
|
[firstInputFramebuffer lock];
|
|
_texture = [firstInputFramebuffer texture];
|
}
|
|
- (void)setInputRotation:(GPUImageRotationMode)newInputRotation atIndex:(NSInteger)textureIndex;
|
{
|
}
|
|
- (void)setInputSize:(CGSize)newSize atIndex:(NSInteger)textureIndex;
|
{
|
}
|
|
- (CGSize)maximumOutputSize;
|
{
|
return CGSizeZero;
|
}
|
|
- (void)endProcessing
|
{
|
}
|
|
- (BOOL)shouldIgnoreUpdatesToThisTarget;
|
{
|
return NO;
|
}
|
|
- (BOOL)wantsMonochromeInput;
|
{
|
return NO;
|
}
|
|
- (void)setCurrentlyReceivingMonochromeInput:(BOOL)newValue;
|
{
|
|
}
|
|
@end
|