freebsd-ports/multimedia/xdvshow/files/patch-src::xdvshow-shm.c
Hidetoshi Shimokawa 118461cdec xdvshow uses evil busy loop in the decoding routine and it doesn't work
as expected with some thread libraries. For an adhoc workaround for this
problem, insert usleep() in the loop to force context switch.
The original code should be rewritten using a conditional variable.
2003-08-18 12:06:55 +00:00

18 lines
485 B
C

--- src/xdvshow-shm.c.orig Wed May 15 21:14:42 2002
+++ src/xdvshow-shm.c Mon Aug 18 19:53:49 2003
@@ -213,6 +213,7 @@
_xdvshow_shm.shm_frame->frame_buf->lock = DVFRAME_COPYING;
break;
}
+ usleep(1);
}
*dvframe = _xdvshow_shm.shm_frame->frame_buf->data;
@@ -238,6 +239,7 @@
_xdvshow_shm.audio_shm_frame->frame_buf->lock = DVFRAME_COPYING;
break;
}
+ usleep(1);
}
*audioframe = _xdvshow_shm.audio_shm_frame->frame_buf->data;