Hi. Now we have pthread_cancel in FreeBSD-current(Thanks alfred). So I ported xmovie (QuickTime Movie Player). It use pthread_cancel function. But It can't play correctly. Sorry, I don't have enough skill and time to solve this problem. I hope to someone help this problem. Current status: - It can be compiled without error under 4-current. But this source directory call XShmGetEventBase which is defined internal function in XFree86/libXext. So I quick hacked and comment out in bcbase/bcbitmap.C. (patches/patch-ad) - But it has pthread_mutex problem. I can't play QuickTime Movie. - If I create linux native binary in Linux and execute it under Linux-emulator in FreeBSD, I can play with it. I attached ports style file with shar. Thank you. MIHIRA Yoshiro ---------- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # xmovie/Makefile # xmovie/files/md5 # xmovie/patches/patch-aa # xmovie/patches/patch-ab # xmovie/patches/patch-ac # xmovie/patches/patch-ad # xmovie/patches/patch-ae # xmovie/patches/patch-af # xmovie/patches/patch-ag # echo x - xmovie/Makefile sed 's/^X//' >xmovie/Makefile << 'END-of-xmovie/Makefile' X# New ports collection makefile for: xmovie X# Version required: 1.1.1 X# Date created: 20 December 1998 X# Whom: MIHIRA Sanpei Yoshiro <[EMAIL PROTECTED]> X# X# $FreeBSD$ X# X XDISTNAME= xmovie-1.1.1 XCATEGORIES= graphics XMASTER_SITES= http://heroine.linuxbox.com/ X XMAINTAINER= [EMAIL PROTECTED] X XLIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \ X png.3:${PORTSDIR}/graphics/png \ X X11.6:${PORTSDIR}/x11/XFree86 X XUSE_GMAKE= yes XWRKSRC= ${WRKDIR}/xmovie X X.include <bsd.port.mk> END-of-xmovie/Makefile echo x - xmovie/files/md5 sed 's/^X//' >xmovie/files/md5 << 'END-of-xmovie/files/md5' XMD5 (xmovie-1.1.1.tar.gz) = 598f61447506ece84e16aa129d82b0ef END-of-xmovie/files/md5 echo x - xmovie/patches/patch-aa sed 's/^X//' >xmovie/patches/patch-aa << 'END-of-xmovie/patches/patch-aa' X--- Makefile.org Thu Nov 25 10:34:27 1999 X+++ Makefile Thu Nov 25 10:35:15 1999 X@@ -1,18 +1,18 @@ X include global_config X X all: X- make -C quicktime4linux X- make -C bcbase X- make -C src X+ gmake -C quicktime4linux X+ gmake -C bcbase X+ gmake -C src X X dist: X- make -C quicktime4linux clean X- make -C bcbase clean && \ X- make -C src clean && \ X+ gmake -C quicktime4linux clean X+ gmake -C bcbase clean && \ X+ gmake -C src clean && \ X cd .. && \ X tar ch $(INSTDIR) | gzip -9 > $(TARBALL) X X clean: X- make -C quicktime4linux clean X- make -C bcbase clean X- make -C src clean; X+ gmake -C quicktime4linux clean X+ gmake -C bcbase clean X+ gmake -C src clean; END-of-xmovie/patches/patch-aa echo x - xmovie/patches/patch-ab sed 's/^X//' >xmovie/patches/patch-ab << 'END-of-xmovie/patches/patch-ab' X--- global_config.org Mon Dec 20 17:06:25 1999 X+++ global_config Mon Dec 20 17:13:32 1999 X@@ -3,6 +3,7 @@ X CC = g++ X XMOVIELIBS = ../quicktime4linux/libquicktime.a ../bcbase/libbcbase.a -ljpeg -lpng -lz X XMOVIECFLAGS = $(CFLAGS) -I../bcbase -I../quicktime4linux/ X-XLIBS = -lX11 -lXext -lpthread -lm X-LFLAGS = -L../bcbase -L/usr/X11R6/lib X+XLIBS = -lX11 -lXext -pthread -lm X+LFLAGS = -L../bcbase -L/usr/X11R6/lib -L/usr/local/lib X LDLINKER = g++ -shared X+CFLAGS += -I/usr/X11R6/include -I/usr/local/include/ END-of-xmovie/patches/patch-ab echo x - xmovie/patches/patch-ac sed 's/^X//' >xmovie/patches/patch-ac << 'END-of-xmovie/patches/patch-ac' X--- bcbase/thread.C.org Wed Aug 4 10:49:09 1999 X+++ bcbase/thread.C Thu Nov 25 11:21:26 1999 X@@ -3,6 +3,7 @@ X #include <stdio.h> X #include <unistd.h> X #include "thread.h" X+#include <pthread.h> X X X Thread::Thread(int synchronous, int realtime) END-of-xmovie/patches/patch-ac echo x - xmovie/patches/patch-ad sed 's/^X//' >xmovie/patches/patch-ad << 'END-of-xmovie/patches/patch-ad' X--- quicktime4linux/Makefile.org Thu Oct 21 07:27:41 1999 X+++ quicktime4linux/Makefile Thu Nov 25 11:20:00 1999 X@@ -64,7 +64,7 @@ X $(CC) -o dump dump.o $(OUTPUT) -ljpeg -lpng -lz -lpthread X X make_streamable: make_streamable.o $(OUTPUT) X- $(CC) -o make_streamable make_streamable.o $(OUTPUT) -ljpeg -lpng -lz -lpthread X+ $(CC) -o make_streamable make_streamable.o $(OUTPUT) -ljpeg -lpng -lz -lc_r X X dechunk: dechunk.o $(OUTPUT) X $(CC) -o dechunk dechunk.o $(OUTPUT) -ljpeg -lpng -lz -lpthread END-of-xmovie/patches/patch-ad echo x - xmovie/patches/patch-ae sed 's/^X//' >xmovie/patches/patch-ae << 'END-of-xmovie/patches/patch-ae' X--- bcbase/bcbitmap.C.org Mon Dec 20 17:22:32 1999 X+++ bcbase/bcbitmap.C Mon Dec 20 17:58:22 1999 X@@ -7,6 +7,10 @@ X #include <stdlib.h> X X X+int XShmGetEventBase( X+ Display* X+); X+ X X X X@@ -694,7 +698,10 @@ X { X perror("BC_Bitmap::allocate_data XShmAttach"); X } X- shm_event_type = XShmGetEventBase(top_level->display) + ShmCompletion; X+#if 0 X+ shm_event_type = XShmGetEventBase(top_level->display) + ShmCompletion; X+#endif X+ X } X else X { END-of-xmovie/patches/patch-ae echo x - xmovie/patches/patch-af sed 's/^X//' >xmovie/patches/patch-af << 'END-of-xmovie/patches/patch-af' X--- bcbase/bccapture.C.org Mon Dec 20 17:27:38 1999 X+++ bcbase/bccapture.C Mon Dec 20 17:28:00 1999 X@@ -5,7 +5,7 @@ X #include <stdio.h> X #include <X11/Xutil.h> X X- X+extern int XShmGetEventBase(Display *); X X X // Byte orders: END-of-xmovie/patches/patch-af echo x - xmovie/patches/patch-ag sed 's/^X//' >xmovie/patches/patch-ag << 'END-of-xmovie/patches/patch-ag' X--- src/audiodevice.C.org Mon Dec 20 17:31:34 1999 X+++ src/audiodevice.C Mon Dec 20 17:32:12 1999 X@@ -77,7 +77,9 @@ X else X { X if(ioctl(dsp_out, SNDCTL_DSP_SETFMT, &format) < 0) printf("SNDCTL_DSP_SETFMT failed\n"); X+#ifndef __FreeBSD__ X if(ioctl(dsp_out, SNDCTL_DSP_CHANNELS, &asset->channels) < 0) printf("SNDCTL_DSP_CHANNELS failed\n"); X+#endif X if(ioctl(dsp_out, SNDCTL_DSP_SPEED, &asset->rate) < 0) printf("SNDCTL_DSP_SPEED failed\n"); X ioctl(dsp_out, SNDCTL_DSP_GETOSPACE, &playinfo); X actual_buffer = playinfo.bytes / (asset->bits / 8) / asset->channels; END-of-xmovie/patches/patch-ag exit To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message