ULONG Player::getCurrentFrameNum()
{
if (startup) return 0;
- return demuxer->getFrameNumFromPTS(video->getCurrentTimestamp());
+ switch(state)
+ {
+ case S_PLAY:
+ case S_PAUSE_P:
+ return demuxer->getFrameNumFromPTS(video->getCurrentTimestamp());
+ case S_PAUSE_I:
+ case S_FFWD:
+ case S_FBWD:
+ return currentFrameNumber;
+ default:
+ return 0; // shouldn't happen
+ }
}
// ----------------------------------- Externally called events