ULLONG difference = (1LL<<33);
ULONG ref_frame = 0;
int total = 0, actual = 0;
+ if (pts==0) return 0; //we are in startup
pts_map_mutex.Lock();
PTSMap::iterator iter = pts_map.begin();
while (iter != pts_map.end())
if (state==State_Running) dsrefclock->GetTime(&cr_time);
ncr_time=cr_time;
startoffset=sourcefilter->getStartOffset();
+ if (startoffset==0) return 0;
ncr_time-=startoffset;
ncr_time-=lastreftimeRT;
/* ULLONG result=frameNumberToTimecode(
VDR::getInstance()->frameNumberFromPosition(lastreftimeBYTE));*/
- ULLONG result=lastreftimePTS;
+ long long result=lastreftimePTS;
result+=(ULLONG)(ncr_time/10000LL*90LL);
+ if (result<0) result=(1LL << 33)-result;
return result;
}