Files
FreeJ/xcode/FrameRate.m

59 lines
918 B
Objective-C

//
// FrameRate.m
// freej
//
// Created by xant on 3/8/09.
// Copyright 2009 dyne.org. All rights reserved.
//
#import "FrameRate.h"
// GOT From apple example : QTQuartzPlayer
#pragma mark FrameRate
@implementation FrameRate
-(id)init
{
//[super init];
_count = 0;
rate = 0;
_frequency = CVGetHostClockFrequency();
// lock = [[NSRecursiveLock alloc] init];
// [lock retain];
return self;
}
-(void)dealloc
{
//[lock release];
[super dealloc];
}
-(void)tick:(uint64_t)timestamp;
{
int i = 0;
//[lock lock];
if (_count > NumStamps) {
for (i = 0; i < _count; i++) {
_stamps[i] = _stamps[i+1];
}
_count = NumStamps;
}
_stamps[_count++] = timestamp;
//[lock unlock];
}
-(double)rate
{
//[lock lock];
if (_count > 1) {
rate = 1000000000/((_stamps[_count - 1] - _stamps[0])/_count);
}
//[lock unlock];
return rate;
}
@end