void * instance; // Internal
VLCMedia * media; //< Current media being played
VLCTime * cachedTime; //< Cached time of the media being played
+ VLCTime * cachedRemainingTime; //< Cached remaining time of the media being played
VLCMediaPlayerState cachedState; //< Cached state of the media being played
float position; //< The position of the media being played
id drawable; //< The drawable associated to this media player
// Get rid of everything else
[media release];
[cachedTime release];
+ [cachedRemainingTime release];
[drawable release];
[super dealloc];
- (VLCTime *)remainingTime
{
- double currentTime = [[cachedTime numberValue] doubleValue];
- double remaining = currentTime / position * (1 - position);
- return [VLCTime timeWithNumber:[NSNumber numberWithDouble:-remaining]];
+ return cachedRemainingTime;
}
- (int)fps
delegate = nil;
media = nil;
cachedTime = [[VLCTime nullTime] retain];
+ cachedRemainingTime = [[VLCTime nullTime] retain];
position = 0.0f;
cachedState = VLCMediaPlayerStateStopped;
[self willChangeValueForKey:@"remainingTime"];
[cachedTime release];
cachedTime = [[VLCTime timeWithNumber:newTime] retain];
-
+ [cachedRemainingTime release];
+ double currentTime = [[cachedTime numberValue] doubleValue];
+ double remaining = currentTime / position * (1 - position);
+ cachedRemainingTime = [[VLCTime timeWithNumber:[NSNumber numberWithDouble:-remaining]] retain];
[self didChangeValueForKey:@"remainingTime"];
[self didChangeValueForKey:@"time"];
}