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

Reply via email to