示例#1
0
 virtual void SetPosition(uint_t frameNum)
 {
   const TrackState::Ptr state = Iterator->GetStateObserver();
   if (state->Frame() > frameNum)
   {
     Iterator->Reset();
     Device->Reset();
     LastChunk.TimeStamp = Devices::AYM::Stamp();
   }
   while (state->Frame() < frameNum && Iterator->IsValid())
   {
     TransferChunk();
     Iterator->NextFrame(false);
   }
 }
示例#2
0
 void SetPosition(uint_t frameNum) override
 {
   const TrackState::Ptr state = Iterator->GetStateObserver();
   uint_t curFrame = state->Frame();
   if (curFrame > frameNum)
   {
     Iterator->Reset();
     Device->Reset();
     LastChunk.TimeStamp = Devices::TFM::Stamp();
     curFrame = 0;
   }
   while (curFrame < frameNum && Iterator->IsValid())
   {
     TransferChunk();
     Iterator->NextFrame(true);
     ++curFrame;
   }
 }