Use the exact time the event was supposed to fire,
not the current real time. If I understand things correctly, using the mechanism to send a MessageEvent is just there to invoke SetPerformanceTime() within the PlaybackManager BLooper (I could be mistaken). Need to check whether this fixes a drift in audio and video I am often observing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38655 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
5aaa020871
commit
3975779fc2
@ -208,12 +208,13 @@ PlaybackManager::MessageReceived(BMessage* message)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// bigtime_t eventTime;
|
bigtime_t eventTime;
|
||||||
// message->FindInt64("time", &eventTime);
|
message->FindInt64("time", &eventTime);
|
||||||
bigtime_t now = system_time();
|
// bigtime_t now = system_time();
|
||||||
fPerformanceTimeEvent = NULL;
|
fPerformanceTimeEvent = NULL;
|
||||||
|
|
||||||
SetPerformanceTime(TimeForRealTime(now));
|
// SetPerformanceTime(TimeForRealTime(now));
|
||||||
|
SetPerformanceTime(TimeForRealTime(eventTime));
|
||||||
//TRACE("MSG_EVENT: rt: %lld, pt: %lld\n", now, fPerformanceTime);
|
//TRACE("MSG_EVENT: rt: %lld, pt: %lld\n", now, fPerformanceTime);
|
||||||
//printf("MSG_EVENT: et: %lld, rt: %lld, pt: %lld\n", eventTime, now, fPerformanceTime);
|
//printf("MSG_EVENT: et: %lld, rt: %lld, pt: %lld\n", eventTime, now, fPerformanceTime);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user