+
+ if (ret != 0x676f) { // !rearmed_go
+ // do approx sleep
+ long now;
+
+ // HACK: stop feeding data while emu is paused
+ extern int stop;
+ while (stop && playing)
+ usleep(10000);
+
+ now = GetTickCount();
+ osleep = t - now;
+ if (osleep <= 0) {
+ osleep = 1;
+ t = now;
+ }
+ else if (osleep > CDDA_FRAMETIME) {
+ osleep = CDDA_FRAMETIME;
+ t = now;
+ }
+
+ usleep(osleep * 1000);
+ t += CDDA_FRAMETIME;
+ }
+