Commit 16350c64 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx/framework: Make sure remainingTime is KVO.

parent 549b9331
......@@ -82,6 +82,7 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
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
......
......@@ -223,6 +223,7 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
// Get rid of everything else
[media release];
[cachedTime release];
[cachedRemainingTime release];
[drawable release];
[super dealloc];
......@@ -462,9 +463,7 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
- (VLCTime *)remainingTime
{
double currentTime = [[cachedTime numberValue] doubleValue];
double remaining = currentTime / position * (1 - position);
return [VLCTime timeWithNumber:[NSNumber numberWithDouble:-remaining]];
return cachedRemainingTime;
}
- (int)fps
......@@ -875,6 +874,7 @@ static const VLCMediaPlayerState libvlc_to_local_state[] =
delegate = nil;
media = nil;
cachedTime = [[VLCTime nullTime] retain];
cachedRemainingTime = [[VLCTime nullTime] retain];
position = 0.0f;
cachedState = VLCMediaPlayerStateStopped;
......@@ -929,7 +929,10 @@ static const VLCMediaPlayerState libvlc_to_local_state[] =
[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"];
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment