diff options
author | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2003-08-18 12:06:55 +0000 |
---|---|---|
committer | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2003-08-18 12:06:55 +0000 |
commit | 118461cdecb1f58fa248c0a1129b383d42971cc8 (patch) | |
tree | 2e17edf230278d0a3c15fada60b0fed651c2d861 /multimedia | |
parent | Update to 20030726 (diff) |
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.
Notes
Notes:
svn path=/head/; revision=87196
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/xdvshow/Makefile | 1 | ||||
-rw-r--r-- | multimedia/xdvshow/files/patch-src::xdvshow-shm.c | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/multimedia/xdvshow/Makefile b/multimedia/xdvshow/Makefile index 6e80ebc3ac59..a9688a4aaee5 100644 --- a/multimedia/xdvshow/Makefile +++ b/multimedia/xdvshow/Makefile @@ -7,6 +7,7 @@ PORTNAME= xdvshow PORTVERSION= 00.2002.03.16 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= http://www.sfc.wide.ad.jp/DVTS/software/xdvshow/ DISTNAME= ${PORTNAME} diff --git a/multimedia/xdvshow/files/patch-src::xdvshow-shm.c b/multimedia/xdvshow/files/patch-src::xdvshow-shm.c new file mode 100644 index 000000000000..5dc8c3efc302 --- /dev/null +++ b/multimedia/xdvshow/files/patch-src::xdvshow-shm.c @@ -0,0 +1,18 @@ +--- 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; |