maintenence update to mplayer-1.0rc2

ok biorn@ (MAINTAINER), ajacoutot@, brad@
This commit is contained in:
jakemsr 2008-02-08 17:32:41 +00:00
parent b2b2bc351a
commit d11f853ac6
39 changed files with 593 additions and 859 deletions

View File

@ -1,14 +1,16 @@
# $OpenBSD: Makefile,v 1.123 2007/11/15 07:50:27 jakemsr Exp $
# $OpenBSD: Makefile,v 1.124 2008/02/08 17:32:41 jakemsr Exp $
# May not be hard to add more.
ONLY_FOR_ARCHS= amd64 i386 powerpc sparc64 arm
COMMENT= movie player supporting MPEG, DivX, AVI, ASF, MOV & more
DISTNAME= MPlayer-1.0pre8
DIST_SUBDIR= mplayer
PKGNAME= ${DISTNAME:L}p17
CATEGORIES= x11
V= 1.0rc2
N= mplayer
DISTNAME= MPlayer-${V}
DIST_SUBDIR= ${N}
PKGNAME= ${N}-${V}
CATEGORIES= x11 multimedia
EXTRACT_SUFX= .tar.bz2
HOMEPAGE= http://www.mplayerhq.hu/
@ -18,7 +20,7 @@ PERMIT_PACKAGE_CDROM= patents
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB= c m ncurses pthread stdc++ util z crypto
WANTLIB= c m ncurses pthread stdc++ util z
MASTER_SITES= http://www1.mplayerhq.hu/MPlayer/releases/ \
http://www2.mplayerhq.hu/MPlayer/releases/ \
@ -29,7 +31,6 @@ MASTER_SITES= http://www1.mplayerhq.hu/MPlayer/releases/ \
# locally, do NOT change this.
#MASTER_SITES0= http://www2.mplayerhq.hu/MPlayer/Skin/
MASTER_SITES0= ${MASTER_SITE_BACKUP}
MASTER_SITES1= http://www.nazgul.ch/dev/
MAINTAINER= Bjorn Sandell <biorn@chalmers.se>
@ -48,12 +49,10 @@ LIB_DEPENDS= png::graphics/png \
mpcdec::audio/libmpcdec \
ogg.>=5::audio/libogg \
xvidcore::multimedia/xvidcore \
x264::multimedia/x264
x264::multimedia/x264 \
faad::audio/faad
BUILD_DEPENDS= :rtunes->=0.6:audio/rtunes \
::net/livemedia
PATCHFILES= rtunes_ao.diff:1
BUILD_DEPENDS= ::net/livemedia
CONFDIR= ${SYSCONFDIR}/mplayer
SUBST_VARS= CONFDIR
@ -65,30 +64,38 @@ CONFIGURE_ARGS+=--disable-alsa \
--disable-nas \
--disable-liblzo \
--disable-caca \
--disable-internal-vidix \
--disable-external-vidix \
--disable-vidix-internal \
--disable-vidix-external \
--disable-libdv \
--disable-smb \
--disable-external-tremor \
--disable-tremor-external \
--enable-tremor-internal \
--disable-faac \
--enable-theora \
--disable-select \
--enable-vorbis \
--enable-theora \
--enable-menu \
--enable-iconv \
--enable-cdparanoia \
--enable-x264 \
--with-extraincdir=${LOCALBASE}/include/libpng:${LOCALBASE}/include \
--with-extralibdir=${LOCALBASE}/lib \
--with-livelibdir=${LOCALBASE}/live \
--extra-libs-mplayer="$$(pkg-config --libs x264)" \
--extra-libs-mencoder="$$(pkg-config --libs x264)" \
--confdir=${CONFDIR} \
--mandir=${LOCALBASE}/man \
--disable-langinfo \
--disable-fribidi
--disable-fribidi \
--disable-openal \
--disable-jack \
--disable-faad-internal \
--enable-faad-external \
--disable-libvorbis
CONFIGURE_ENV+= TMPDIR="${WRKBUILD}"
.if ${MACHINE_ARCH:Mi386}
CONFIGURE_ARGS+=--enable-runtime-cpudetection
CONFIGURE_ARGS+=--disable-ssse3
.endif
.if ${MACHINE_ARCH:Mpowerpc}
@ -150,7 +157,6 @@ MODULES= devel/gettext
CONFIGURE_ARGS+=--enable-sdl \
--with-sdl-config=${LOCALBASE}/bin/sdl-config
LIB_DEPENDS+= SDL:sdl-1.2.4p1,>=1.2.5:devel/sdl
WANTLIB+= usbhid
.else
CONFIGURE_ARGS+=--disable-sdl
.endif
@ -174,12 +180,11 @@ CONFIGURE_ARGS+=--disable-mad
.endif
.if ${MACHINE_ARCH:Mi386}
PATCH_LIST= patch-* i386-patch-postproc_Makefile
CONFIGURE_ARGS+=--with-win32libdir=${LOCALBASE}/lib/win32 \
CONFIGURE_ARGS+=--win32codecsdir=${LOCALBASE}/lib/win32 \
--enable-qtx \
--with-reallibdir=${LOCALBASE}/lib/win32
--realcodecsdir=${LOCALBASE}/lib/win32
.else
CONFIGURE_ARGS+=--disable-win32 \
CONFIGURE_ARGS+=--disable-win32dll \
--disable-qtx \
--disable-real
.endif

View File

@ -1,15 +1,15 @@
MD5 (mplayer/MPlayer-1.0pre8.tar.bz2) = +CuyvFG2zV5d2W+I9vmFgg==
MD5 (mplayer/MPlayer-1.0rc2.tar.bz2) = fiflNcLSZ2N980iY8bkXBw==
MD5 (mplayer/default-1.7.tar.bz2) = fh0WwvijJGn0NUywQ+7MXQ==
MD5 (mplayer/rtunes_ao.diff) = wqtsVPNrgRtMt7btNCcx7g==
RMD160 (mplayer/MPlayer-1.0pre8.tar.bz2) = I/0T/nWlxAKerQQ6pLOwj+X+RPA=
RMD160 (mplayer/MPlayer-1.0rc2.tar.bz2) = O1y6FSmFahd6UZHiL43MALWoPFI=
RMD160 (mplayer/default-1.7.tar.bz2) = X3j/nbKW2P1T72YD7IoifutgLdE=
RMD160 (mplayer/rtunes_ao.diff) = TSXB4a5nm6lbuXoVOtBabvrLpuY=
SHA1 (mplayer/MPlayer-1.0pre8.tar.bz2) = igkpuE3LN9R8BiIwzmk7ZLPjCSE=
SHA1 (mplayer/MPlayer-1.0rc2.tar.bz2) = 6bSW81J8VSAE7G0B1rQ/GWtDzi0=
SHA1 (mplayer/default-1.7.tar.bz2) = aRLD5YtMdvrZf9tylFsngVBp9+M=
SHA1 (mplayer/rtunes_ao.diff) = zz5vCLl3nXlw9h+J0edMmlZtaTQ=
SHA256 (mplayer/MPlayer-1.0pre8.tar.bz2) = TmEROO+zcJ5lDjdwuz8zYJ8/0EBHkyyDDlKgLg6X78w=
SHA256 (mplayer/MPlayer-1.0rc2.tar.bz2) = OHW3zIXo59+BwCpjjba0qXDR5mqG2tbr8podGfOPWVM=
SHA256 (mplayer/default-1.7.tar.bz2) = qZkLpTTMqUwad0dF2eMUiRn3kAOmgz/8x4N3HM3gulM=
SHA256 (mplayer/rtunes_ao.diff) = dipBj/CBSiuuWhLR0HL/phlJ20WMvI4Yw4zJ+h8wKQ8=
SIZE (mplayer/MPlayer-1.0pre8.tar.bz2) = 8166628
SIZE (mplayer/MPlayer-1.0rc2.tar.bz2) = 9338201
SIZE (mplayer/default-1.7.tar.bz2) = 173439
SIZE (mplayer/rtunes_ao.diff) = 3879

View File

@ -1,13 +0,0 @@
$OpenBSD: i386-patch-postproc_Makefile,v 1.1 2007/11/12 07:08:24 ajacoutot Exp $
--- postproc/Makefile.orig Sun Jun 11 20:35:46 2006
+++ postproc/Makefile Sun Nov 11 11:21:43 2007
@@ -11,7 +11,8 @@ ifeq ($(TARGET_ALTIVEC),yes)
SWSOBJS += yuv2rgb_altivec.o
endif
-CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
+# XXX add "-O -fomit-frame-pointer" to prevent a mencoder crash in hScale_MMX2
+CFLAGS = $(OPTFLAGS) -O -fomit-frame-pointer $(MLIB_INC) -I. -I.. $(EXTRA_INC)
# -I/usr/X11R6/include/
.SUFFIXES: .c .o

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-Makefile,v 1.15 2007/04/19 08:37:09 ajacoutot Exp $
--- Makefile.orig Thu Apr 19 09:41:02 2007
+++ Makefile Thu Apr 19 09:41:02 2007
@@ -429,7 +429,7 @@ LIBS_MENCODER = libmpcodecs/libmpencoders.a \
$(LIBC_LIB) \
$(PRG_MENCODER): $(MENCODER_DEP)
- $(CC) $(CFLAGS) -o $(PRG_MENCODER) $(OBJS_MENCODER) $(LIBS_MENCODER)
+ $(CXX) $(CFLAGS) -o $(PRG_MENCODER) $(OBJS_MENCODER) $(LIBS_MENCODER)
endif
codecs.conf.h: $(PRG_CFG) etc/codecs.conf
@@ -488,8 +488,6 @@ ifeq ($(GUI),yes)
@$(INSTALL) -d $(prefix)/share/applications
$(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/mplayer.desktop
endif
- @$(INSTALL) -d $(CONFDIR)
- @if test -f $(CONFDIR)/codecs.conf ; then mv -f $(CONFDIR)/codecs.conf $(CONFDIR)/codecs.conf.old ; fi
uninstall:
-rm -f $(BINDIR)/$(PRG) $(BINDIR)/gmplayer $(MANDIR)/man1/mplayer.1

View File

@ -1,22 +0,0 @@
$OpenBSD: patch-TOOLS_subfont-c_subfont_c,v 1.7 2007/04/19 08:37:09 ajacoutot Exp $
--- TOOLS/subfont-c/subfont.c.orig Sun Jun 11 20:35:45 2006
+++ TOOLS/subfont-c/subfont.c Thu Apr 19 09:41:02 2007
@@ -831,6 +831,18 @@ unsigned gmatrix(unsigned *m, int r, int w, double con
}
+// Returns current time in microseconds
+
+#include <sys/time.h>
+
+unsigned int GetTimer(){
+ struct timeval tv;
+ struct timezone tz;
+// float s;
+ gettimeofday(&tv,&tz);
+// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
+ return (tv.tv_sec*1000000+tv.tv_usec);
+}
void alpha() {
unsigned int ttime;
int const g_r = ceil(radius);

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-common_mak,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- common.mak.orig Sun Oct 7 12:49:33 2007
+++ common.mak Thu Jan 24 19:57:15 2008
@@ -10,9 +10,17 @@ OBJS += $(OBJS-yes)
ASM_OBJS += $(ASM_OBJS-yes)
CPP_OBJS += $(CPP_OBJS-yes)
-CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+CFLAGS += -DHAVE_AV_CONFIG_H \
-D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \
- -I$(SRC_PATH)/libavutil $(OPTFLAGS)
+ -I$(SRC_PATH)/libavutil
+
+ifeq ($(ARCH_X86),yes)
+CFLAGS += -fomit-frame-pointer
+endif
+
+#CFLAGS := $(subst -O3,-O,$(CFLAGS))
+#CFLAGS := $(subst -O2,-O,$(CFLAGS))
+#CFLAGS := $(subst -O1,-O,$(CFLAGS))
SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp)
OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS)

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-configure,v 1.42 2007/11/15 07:50:27 jakemsr Exp $
--- configure.orig Sun Jun 11 11:35:47 2006
+++ configure Thu Jul 19 23:31:17 2007
@@ -77,7 +77,7 @@ cc_check() {
$OpenBSD: patch-configure,v 1.43 2008/02/08 17:32:41 jakemsr Exp $
--- configure.orig Sun Oct 7 12:49:33 2007
+++ configure Mon Feb 4 16:20:05 2008
@@ -76,7 +76,7 @@ cc_check() {
}
cxx_check() {
@ -10,16 +10,25 @@ $OpenBSD: patch-configure,v 1.42 2007/11/15 07:50:27 jakemsr Exp $
}
tmp_run() {
@@ -839,6 +839,8 @@ if x86 || x86_64 ; then
@@ -501,7 +501,7 @@ _libavcodec_a=auto
_libamr_nb=auto
_libamr_wb=auto
_libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavdecoders=` echo $_libavdecoders_all | sed -e s/LIBFAAD_DECODER// -e s/MPEG4AAC_DECODER// -e s/LIBA52_DECODER// -e s/LIBGSM_DECODER// -e s/LIBGSM_MS_DECODER// -e s/LIBVORBIS_DECODER// `
+_libavdecoders=` echo $_libavdecoders_all | sed -e s/LIBFAAD_DECODER// -e s/MPEG4AAC_DECODER// -e s/LIBA52_DECODER// -e s/LIBGSM_DECODER// -e s/LIBGSM_MS_DECODER// -e s/LIBVORBIS_DECODER// -e s/VORBIS_DECODER// `
_libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
_libavencoders=` echo $_libavencoders_all | sed -e s/LIBGSM_ENCODER// -e s/LIBGSM_MS_ENCODER// -e s/LIBTHEORA_ENCODER// `
_libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
@@ -1557,6 +1557,8 @@ if x86 ; then
pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
-e s/xmm/sse/ -e s/kni/sse/`
+ if x86_64 ; then pparam="3dnow 3dnowext mmx mmxext xmm sse sse2" ; fi
+
for ext in $pparam ; do
eval _$ext=auto && eval _$ext=yes
eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
done
@@ -2939,7 +2941,7 @@ int main(void) { pthread_t tid; return pthread_create
@@ -3065,7 +3067,7 @@ int main(void) { pthread_t tid; return pthread_create
EOF
_pthreads=no
if not hpux ; then
@ -28,66 +37,70 @@ $OpenBSD: patch-configure,v 1.42 2007/11/15 07:50:27 jakemsr Exp $
# for crosscompilation, we cannot execute the program, be happy if we can link statically
cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
done
@@ -2970,7 +2972,7 @@ fi
@@ -3108,7 +3110,7 @@ fi
echores "$_rpath"
echocheck "iconv"
-if test "$_iconv" = auto ; then
+if test "$_iconv" != no ; then
_iconv_tmp='#include <iconv.h>'
cat > $TMPC << EOF
@@ -4137,6 +4139,8 @@ if test "$_aa" = yes ; then
#include <stdio.h>
#include <unistd.h>
@@ -4369,6 +4371,8 @@ if test "$_aa" = yes ; then
_def_aa='#define HAVE_AA 1'
if cygwin ; then
_ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
_libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
+ else
+ _ld_aa="-laa"
+ _libs_mplayer="$_libs_mplayer -laa"
fi
_vosrc="$_vosrc vo_aa.c"
_vomodules="aa $_vomodules"
@@ -5089,7 +5093,7 @@ echores "$_sgiaudio"
@@ -4576,7 +4580,7 @@ fi
echores "$_png"
if test "$_png" = yes ; then
_def_png='#define HAVE_PNG 1'
- _ld_extra="$_ld_extra -lpng -lz"
+ _ld_extra="$_ld_extra -lpng -lz $_ld_lm"
_vosrc="$_vosrc vo_png.c"
_vomodules="png $_vomodules"
else
@@ -5054,7 +5058,7 @@ if test "$_arts" = yes ; then
_def_arts='#define USE_ARTS 1'
_aosrc="$_aosrc ao_arts.c"
_aomodules="arts $_aomodules"
- _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
+ _libs_mplayer="$_libs_mplayer `artsc-config --libs` -lstdc++"
_inc_extra="$_inc_extra `artsc-config --cflags`"
else
_noaomodules="arts $_noaomodules"
@@ -5343,7 +5347,7 @@ fi #if irix
echocheck "VCD support"
-if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
+if linux || bsdos || freebsd || netbsd || sunos || darwin || openbsd ; then
-if linux || bsdos || freebsd || netbsd || sunos || darwin || mingw32; then
+if linux || bsdos || freebsd || netbsd || sunos || darwin || mingw32 || openbsd ; then
_inputmodules="vcd $_inputmodules"
_def_vcd='#define HAVE_VCD 1'
_vcd="yes"
@@ -6723,7 +6727,7 @@ if test "$_tv_bsdbt848" = auto ; then
if test "$_tv" = yes ; then
cat > $TMPC <<EOF
#include <sys/types.h>
-#if defined(__NetBSD__)
+#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <dev/ic/bt8xx.h>
#else
#include <machine/ioctl_bt848.h>
@@ -7453,7 +7457,7 @@ CACA_LIB = $_ld_caca
# audio output
ALSA_LIB = $_ld_alsa
NAS_LIB = $_ld_nas
-ARTS_LIB = $_ld_arts
+ARTS_LIB = $_ld_arts -lstdc++
ARTS_INC = $_inc_arts
ESD_LIB = $_ld_esd
ESD_INC = $_inc_esd
@@ -7764,7 +7768,7 @@ $_def_malloc
$_def_memalign
#ifndef HAVE_MEMALIGN
# define memalign(a,b) malloc(b)
-#define MEMALIGN_HACK 1
+/* #undef MEMALIGN_HACK 1 */
#endif
/* Define this if your system has the "alloca.h" header file */
@@ -8042,7 +8046,7 @@ $_def_vcd
#define DEFAULT_DVD_DEVICE "/dev/rdiskN"
#elif defined(__OpenBSD__)
#define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
-#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
+#define DEFAULT_DVD_DEVICE "/dev/rcd0c"
#elif defined(__FreeBSD__)
#define DEFAULT_CDROM_DEVICE "/dev/acd0"
#define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
@@ -5592,7 +5596,7 @@ int main()
}
EOF
_fontconfig=no
- for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
+ for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz $_ld_lm" ; do
_ld_tmp="-lfontconfig $_ld_tmp"
cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
done
@@ -5704,10 +5708,10 @@ cat > $TMPC << EOF
int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
EOF
_zlib=no
-cc_check -lz && _zlib=yes
+cc_check "-lz $_ld_lm" && _zlib=yes
if test "$_zlib" = yes ; then
_def_zlib='#define HAVE_ZLIB 1'
- _ld_extra="$_ld_extra -lz"
+ _ld_extra="$_ld_extra -lz $_ld_lm"
else
_def_zlib='#undef HAVE_ZLIB'
_libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-dvdread_Makefile,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- dvdread/Makefile.orig Mon Jan 21 15:04:18 2008
+++ dvdread/Makefile Mon Jan 21 15:04:41 2008
@@ -12,8 +12,8 @@ SRCS_COMMON = cmd_print.c \
nav_print.c \
nav_read.c \
-CFLAGS = -D__USE_UNIX98 -D_GNU_SOURCE
-
CFLAGS-$(DVDCSS_INTERNAL) += -I../libdvdcss -DHAVE_DVDCSS_DVDCSS_H
include ../mpcommon.mak
+
+CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
--- libao2/ao_sun.c.orig Sun Jun 11 11:35:42 2006
+++ libao2/ao_sun.c Wed Oct 31 00:53:40 2007
@@ -95,6 +95,7 @@ static int af2sunfmt(int format)
$OpenBSD: patch-libao2_ao_sun_c,v 1.4 2008/02/08 17:32:41 jakemsr Exp $
--- libao2/ao_sun.c.orig Sun Oct 7 12:49:27 2007
+++ libao2/ao_sun.c Mon Feb 4 05:07:06 2008
@@ -102,6 +102,7 @@ static int af2sunfmt(int format)
// sample counter information
static int realtime_samplecounter_available(char *dev)
{
@ -9,7 +9,7 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
int fd = -1;
audio_info_t info;
int rtsc_ok = RTSC_DISABLED;
@@ -213,6 +214,9 @@ error:
@@ -217,6 +218,9 @@ error:
}
return rtsc_ok;
@ -19,7 +19,7 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
}
@@ -436,7 +440,7 @@ static int control(int cmd,void *arg){
@@ -440,7 +444,7 @@ static int control(int cmd,void *arg){
else
info.play.balance = (vol->right - vol->left + volume) * AUDIO_RIGHT_BALANCE / (2*volume);
}
@ -28,26 +28,17 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
info.output_muted = (volume == 0);
#endif
ioctl( fd,AUDIO_SETINFO,&info );
@@ -562,6 +566,13 @@ static int init(int rate,int channels,int format,int f
@@ -566,11 +570,20 @@ static int init(int rate,int channels,int format,int f
ao_data.bps = byte_per_sec = bytes_per_sample * ao_data.samplerate;
ao_data.outburst = byte_per_sec > 100000 ? 16384 : 8192;
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+ AUDIO_INITINFO(&info);
+ info.blocksize = ao_data.outburst;
+ ioctl(audio_fd, AUDIO_SETINFO, &info);
+#endif
+
+
#ifdef __not_used__
/*
* hmm, ao_data.buffersize is currently not used in this driver, do there's
@@ -598,11 +609,15 @@ static int init(int rate,int channels,int format,int f
}
#endif /* __not_used__ */
+#ifdef __svr4__
AUDIO_INITINFO(&info);
+ info.blocksize = ao_data.outburst;
+ ioctl (audio_fd, AUDIO_SETINFO, &info);
+#endif
+#ifdef __svr4__
+ AUDIO_INITINFO(&info);
info.play.samples = 0;
info.play.eof = 0;
info.play.error = 0;
@ -58,17 +49,7 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
queued_bursts = 0;
queued_samples = 0;
@@ -616,6 +631,9 @@ static void uninit(int immed){
// throw away buffered data in the audio driver's STREAMS queue
if (immed)
ioctl(audio_fd, I_FLUSH, FLUSHW);
+#else
+ if (immed)
+ ioctl(audio_fd, AUDIO_FLUSH);
#endif
close(audio_fd);
}
@@ -641,9 +659,11 @@ static void reset(){
@@ -607,9 +620,11 @@ static void reset(void){
: AUDIO_PRECISION_8);
info.play.channels = ao_data.channels;
info.play.sample_rate = ao_data.samplerate;
@ -80,10 +61,10 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
ioctl (audio_fd, AUDIO_SETINFO, &info);
queued_bursts = 0;
queued_samples = 0;
@@ -670,7 +690,11 @@ static void audio_resume()
@@ -636,7 +651,11 @@ static void audio_resume(void)
// return: how many bytes can be played without blocking
static int get_space(){
static int get_space(void){
+#if defined(__OpenBSD__)
+ audio_bufinfo_t ab;
+#else
@ -92,23 +73,57 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
// check buffer
#ifdef HAVE_AUDIO_SELECT
@@ -691,9 +715,9 @@ static int get_space(){
return 0;
@@ -651,14 +670,22 @@ static int get_space(void){
}
#endif
-#if defined(__NetBSD__) || defined(__OpenBSD__)
- ioctl(audio_fd, AUDIO_GETINFO, &info);
- return info.hiwat * info.blocksize - info.play.seek;
+#if defined(__OpenBSD__)
+ ioctl(audio_fd, AUDIO_GETPRINFO, &ab);
+ return (ab.hiwat * ab.blksize - ab.seek);
#else
+ if (ab.hiwat * ab.blksize - ab.seek < ao_data.outburst)
+ return 0;
+ else
+ return ao_data.outburst;
+#else
ioctl(audio_fd, AUDIO_GETINFO, &info);
-#if !defined (__OpenBSD__) && !defined(__NetBSD__)
+#if !defined(__NetBSD__)
if (queued_bursts - info.play.eof > 2)
return 0;
return ao_data.outburst;
#else
return info.hiwat * info.blocksize - info.play.seek;
#endif
@@ -722,11 +746,14 @@ static int play(void* data,int len,int flags){
+#endif // __OpenBSD__
}
@@ -666,6 +693,16 @@ static int get_space(void){
// it should round it down to outburst*n
// return: number of bytes played
static int play(void* data,int len,int flags){
+#ifdef __OpenBSD__
+ if(len==0)
+ return len;
+ if(len>ao_data.outburst || !(flags & AOPLAY_FINAL_CHUNK)) {
+ len/=ao_data.outburst;
+ len*=ao_data.outburst;
+ }
+ len=write(audio_fd,data,len);
+ return len;
+#else
if (len < ao_data.outburst) return 0;
len /= ao_data.outburst;
len *= ao_data.outburst;
@@ -679,16 +716,19 @@ static int play(void* data,int len,int flags){
queued_bursts ++;
}
return len;
+#endif
}
// return: delay in seconds between first and last sample in buffer
static float get_delay(){
static float get_delay(void){
- audio_info_t info;
- ioctl(audio_fd, AUDIO_GETINFO, &info);
#if defined (__OpenBSD__) || defined(__NetBSD__)
@ -119,7 +134,6 @@ $OpenBSD: patch-libao2_ao_sun_c,v 1.3 2007/11/15 07:50:27 jakemsr Exp $
#else
+ audio_info_t info;
+ ioctl(audio_fd, AUDIO_GETINFO, &info);
+
if (info.play.samples && enable_sample_timing == RTSC_ENABLED)
return (float)(queued_samples - info.play.samples) / (float)ao_data.samplerate;
else

View File

@ -1,13 +1,13 @@
$OpenBSD: patch-libavcodec_Makefile,v 1.6 2007/11/12 07:08:24 ajacoutot Exp $
--- libavcodec/Makefile.orig Sun Nov 11 11:15:01 2007
+++ libavcodec/Makefile Sun Nov 11 11:18:26 2007
@@ -5,7 +5,8 @@
include ../config.mak
$OpenBSD: patch-libavcodec_Makefile,v 1.7 2008/02/08 17:32:41 jakemsr Exp $
--- libavcodec/Makefile.orig Sun Oct 7 12:49:37 2007
+++ libavcodec/Makefile Mon Jan 21 14:07:36 2008
@@ -420,6 +420,9 @@ ALTIVEC-OBJS-$(CONFIG_WMV3_DECODER) += ppc/vc1dsp_a
# -maltivec is needed in order to build AltiVec code.
$(ALTIVEC-OBJS-yes): CFLAGS += -maltivec -mabi=altivec
# NOTE: -I.. is needed to include config.h
-CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS)
+# XXX add "-O -fomit-frame-pointer" to prevent random crashes from mencoder
+CFLAGS=$(OPTFLAGS) -O -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS)
OBJS= bitstream.o utils.o mem.o allcodecs.o \
mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
+# compiler optimizations cause problems
+ppc/mpegvideo_altivec.o: CFLAGS += -O
+
# check_altivec must be built without -maltivec
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS-yes) \
ppc/check_altivec.o

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libavcodec_bitstream_h,v 1.5 2007/04/19 08:37:09 ajacoutot Exp $
--- libavcodec/bitstream.h.orig Sun Jun 11 20:35:48 2006
+++ libavcodec/bitstream.h Thu Apr 19 09:41:02 2007
@@ -374,7 +374,7 @@ for examples see get_bits, show_bits, skip_bits, get_v
static inline int unaligned32_be(const void *v)
{
-#ifdef CONFIG_ALIGN
+#if 1
const uint8_t *p=v;
return (((p[0]<<8) | p[1])<<16) | (p[2]<<8) | (p[3]);
#else

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-libavcodec_dsputil_c,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- libavcodec/dsputil.c.orig Sun Oct 7 12:49:37 2007
+++ libavcodec/dsputil.c Mon Feb 4 16:24:38 2008
@@ -39,7 +39,9 @@
void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count);
/* vorbis.c */
+#if ENABLE_VORBIS_DECODER
void vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
+#endif
/* flacenc.c */
void ff_flac_compute_autocorr(const int32_t *data, int len, int lag, double *autoc);
@@ -3850,7 +3852,7 @@ void dsputil_init(DSPContext* c, AVCodecContext *avctx
{
int i;
- ff_check_alignment();
+ /*ff_check_alignment();*/
#ifdef CONFIG_ENCODERS
if(avctx->dct_algo==FF_DCT_FASTINT) {

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-libavcodec_h264_c,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- libavcodec/h264.c.orig Mon Jan 21 13:58:41 2008
+++ libavcodec/h264.c Mon Jan 21 14:00:06 2008
@@ -5241,7 +5241,7 @@ static inline int get_cabac_cbf_ctx( H264Context *h, i
return ctx + 4 * cat;
}
-static const attribute_used uint8_t last_coeff_flag_offset_8x8[63] = {
+const attribute_used uint8_t last_coeff_flag_offset_8x8[63] = {
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-libavutil_x86_cpu_h,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- libavutil/x86_cpu.h.orig Sat Jan 26 15:11:55 2008
+++ libavutil/x86_cpu.h Sat Jan 26 15:14:22 2008
@@ -61,7 +61,7 @@
# define HAVE_7REGS 1
#endif
-#if defined(ARCH_X86_64) && defined(PIC)
+#if defined(ARCH_X86_64) /* && defined(PIC)) the stuff under this condition just isn't amd64 compatible */
# define BROKEN_RELOCATIONS 1
#endif

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-libdvdcss_Makefile,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- libdvdcss/Makefile.orig Mon Jan 21 15:05:17 2008
+++ libdvdcss/Makefile Mon Jan 21 15:05:34 2008
@@ -9,6 +9,6 @@ SRCS_COMMON = css.c \
libdvdcss.c \
#bsdi_ioctl \
-CFLAGS = -D__USE_UNIX98 -D_GNU_SOURCE -DVERSION=\"1.2.9\"
-
include ../mpcommon.mak
+
+CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE -DVERSION=\"1.2.9\"

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libmpcodecs_Makefile,v 1.3 2006/08/09 08:15:24 biorn Exp $
--- libmpcodecs/Makefile.orig Mon Jul 31 23:10:41 2006
+++ libmpcodecs/Makefile Mon Jul 31 23:11:10 2006
@@ -267,7 +267,7 @@ OBJS=$(SRCS:.c=.o)
SRCS2=$(ENCODER_SRCS)
OBJS2=$(SRCS2:.c=.o)
-CFLAGS = $(OPTFLAGS) \
+CFLAGS = -I.. $(OPTFLAGS) \
-I. -I.. \
-Inative \
-I../libmpdemux \

View File

@ -0,0 +1,32 @@
$OpenBSD: patch-libmpcodecs_ad_faad_c,v 1.1 2008/02/08 17:32:41 jakemsr Exp $
--- libmpcodecs/ad_faad.c.orig Mon Dec 17 19:39:01 2007
+++ libmpcodecs/ad_faad.c Mon Dec 17 19:42:41 2007
@@ -66,8 +66,8 @@ static int aac_probe(unsigned char *buffer, int len)
static int init(sh_audio_t *sh)
{
- unsigned long faac_samplerate;
- unsigned char faac_channels;
+ uint32_t faac_samplerate;
+ uint8_t faac_channels;
int faac_init, pos = 0;
faac_hdec = faacDecOpen();
@@ -148,7 +148,7 @@ static int init(sh_audio_t *sh)
return 0;
} else {
mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Decoder init done (%dBytes)!\n", sh->a_in_buffer_len); // XXX: remove or move to debug!
- mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %ldHz channels: %d\n", faac_samplerate, faac_channels);
+ mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %dHz channels: %d\n", faac_samplerate, faac_channels);
sh->channels = faac_channels;
if (audio_output_channels <= 2) sh->channels = faac_channels > 1 ? 2 : 1;
sh->samplerate = faac_samplerate;
@@ -276,7 +276,7 @@ static int decode_audio(sh_audio_t *sh,unsigned char *
} else {
/* XXX: samples already multiplied by channels! */
mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FAAD: Successfully decoded frame (%ld Bytes)!\n",
- sh->samplesize*faac_finfo.samples);
+ (long)sh->samplesize*faac_finfo.samples);
memcpy(buf+len,faac_sample_buffer, sh->samplesize*faac_finfo.samples);
last_dec_len = sh->samplesize*faac_finfo.samples;
len += last_dec_len;

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-libmpcodecs_ad_realaud_c,v 1.3 2005/08/12 22:59:16 espie Exp $
--- libmpcodecs/ad_realaud.c.orig Fri Aug 12 03:24:32 2005
+++ libmpcodecs/ad_realaud.c Fri Aug 12 03:26:04 2005
@@ -253,9 +253,17 @@ static int preinit(sh_audio_t *sh){
#ifdef USE_WIN32DLL
if (dll_type == 1)
{
+ int d;
+
+ /* for some bizarre reasons, we have to be in the right directory
+ * for this to work.
+ */
+ d = open(".", O_RDONLY);
+ chdir(REALCODEC_PATH);
for (i=0; i < strlen(path); i++)
if (path[i] == '/') path[i] = '\\';
wraSetDLLAccessPath(path);
+ fchdir(d);
}
else
#endif

View File

@ -1,34 +0,0 @@
$OpenBSD: patch-libmpcodecs_ve_x264_c,v 1.3 2007/04/19 08:37:09 ajacoutot Exp $
--- libmpcodecs/ve_x264.c.orig Sun Jun 11 20:35:41 2006
+++ libmpcodecs/ve_x264.c Thu Apr 19 09:41:03 2007
@@ -208,7 +208,7 @@ m_option_t x264encopts_conf[] = {
};
static int parse_cqm(const char *str, uint8_t *cqm, int length,
- h264_module_t *mod, char *matrix_name) {
+ h264_module_t *mod, const char *matrix_name) {
int i;
if (!str) return 0;
for (i = 0; i < length; i++) {
@@ -247,8 +247,11 @@ static int config(struct vf_instance_s* vf, int width,
mod->param.i_deblocking_filter_beta = deblockbeta;
mod->param.b_cabac = cabac;
+ mod->param.rc.i_rc_method = X264_RC_CQP;
mod->param.rc.i_qp_constant = qp_constant;
- mod->param.rc.i_rf_constant = rf_constant;
+ if(rf_constant > 0)
+ mod->param.rc.i_rc_method = X264_RC_CRF;
+ mod->param.rc.f_rf_constant = rf_constant;
if(qp_min > qp_constant)
qp_min = qp_constant;
if(qp_max < qp_constant)
@@ -275,7 +278,7 @@ static int config(struct vf_instance_s* vf, int width,
"VBV requires both vbv_maxrate and vbv_bufsize.\n");
return 0;
}
- mod->param.rc.b_cbr = 1;
+ mod->param.rc.i_rc_method = X264_RC_ABR;
mod->param.rc.i_bitrate = bitrate;
mod->param.rc.f_rate_tolerance = ratetol;
mod->param.rc.i_vbv_max_bitrate = vbv_maxrate;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libmpdemux_Makefile,v 1.3 2006/07/19 21:40:47 robert Exp $
--- libmpdemux/Makefile.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/Makefile Thu Jul 6 00:08:12 2006
@@ -157,7 +157,7 @@ endif
OBJS = $(SRCS:.c=.o)
OBJS += $(CPLUSPLUSSRCS:.cpp=.o)
INCLUDE = -I.. -I../loader $(CSS_INC) $(EXTRA_INC) $(LIBAV_INC)
-CFLAGS = $(OPTFLAGS) $(INCLUDE) $(XMMS_CFLAGS) $(CDPARANOIA_INC) $(DVB_INC)
+CFLAGS = -I.. $(OPTFLAGS) $(INCLUDE) $(XMMS_CFLAGS) $(CDPARANOIA_INC) $(DVB_INC)
CPLUSPLUSFLAGS = $(CFLAGS) $(CPLUSPLUSINCLUDE) -D__STDC_LIMIT_MACROS
CPLUSPLUS = $(CC)

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-libmpdemux_cddb_c,v 1.3 2007/06/07 07:28:36 robert Exp $
--- libmpdemux/cddb.c.orig Thu Jun 7 09:09:01 2007
+++ libmpdemux/cddb.c Thu Jun 7 09:09:52 2007
@@ -437,7 +437,7 @@ cddb_read_parse(HTTP_header_t *http_hdr, cddb_data_t *
switch(status) {
case 210:
- ret = sscanf( http_hdr->body, "%d %s %08lx", &status, category, &disc_id);
+ ret = sscanf( http_hdr->body, "%d %99s %08lx", &status, category, &disc_id);
if( ret!=3 ) {
mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
return -1;
@@ -498,7 +498,7 @@ cddb_parse_matches_list(HTTP_header_t *http_hdr, cddb_
ptr++;
// We have a list of exact/inexact matches, so which one do we use?
// So let's take the first one.
- ret = sscanf(ptr, "%s %08lx %s", cddb_data->category, &(cddb_data->disc_id), album_title);
+ ret = sscanf(ptr, "%99s %08lx %99s", cddb_data->category, &(cddb_data->disc_id), album_title);
if( ret!=3 ) {
mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
return -1;
@@ -535,7 +535,7 @@ cddb_query_parse(HTTP_header_t *http_hdr, cddb_data_t
switch(status) {
case 200:
// Found exact match
- ret = sscanf(http_hdr->body, "%d %s %08lx %s", &status, cddb_data->category, &(cddb_data->disc_id), album_title);
+ ret = sscanf(http_hdr->body, "%d %99s %08lx %99s", &status, cddb_data->category, &(cddb_data->disc_id), album_title);
if( ret!=4 ) {
mp_msg(MSGT_DEMUX, MSGL_ERR, MSGTR_ParseError);
return -1;

View File

@ -1,24 +0,0 @@
$OpenBSD: patch-libmpdemux_realrtsp_asmrp_c,v 1.4 2007/04/19 08:37:09 ajacoutot Exp $
--- libmpdemux/realrtsp/asmrp.c.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/realrtsp/asmrp.c Thu Apr 19 09:41:03 2007
@@ -40,6 +40,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include "asmrp.h"
/*
#define LOG
@@ -645,8 +646,10 @@ static int asmrp_eval (asmrp_t *p, int *matches) {
#ifdef LOG
printf ("rule #%d is true\n", rule_num);
#endif
- matches[num_matches] = rule_num;
- num_matches++;
+ if(num_matches < MAX_RULEMATCHES - 1)
+ matches[num_matches++] = rule_num;
+ else
+ printf("Ignoring matched asm rule %d, too many matched rules.\n", rule_num);
}
rule_num++;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libmpdemux_realrtsp_asmrp_h,v 1.1 2007/01/02 09:01:58 robert Exp $
--- libmpdemux/realrtsp/asmrp.h.orig Mon Jan 1 14:49:49 2007
+++ libmpdemux/realrtsp/asmrp.h Mon Jan 1 14:50:23 2007
@@ -40,6 +40,8 @@
#ifndef HAVE_ASMRP_H
#define HAVE_ASMRP_H
+#define MAX_RULEMATCHES 16
+
int asmrp_match (const char *rules, int bandwidth, int *matches) ;
#endif

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libmpdemux_realrtsp_real_c,v 1.5 2007/04/19 08:37:09 ajacoutot Exp $
--- libmpdemux/realrtsp/real.c.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/realrtsp/real.c Thu Apr 19 09:41:03 2007
@@ -528,7 +528,7 @@ rmff_header_t *real_parse_sdp(char *data, char **strea
int j=0;
int n;
char b[64];
- int rulematches[16];
+ int rulematches[MAX_RULEMATCHES];
#ifdef LOG
printf("calling asmrp_match with:\n%s\n%u\n", desc->stream[i]->asm_rule_book, bandwidth);

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libmpdemux_realrtsp_rtsp_c,v 1.3 2006/07/19 21:40:47 robert Exp $
--- libmpdemux/realrtsp/rtsp.c.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/realrtsp/rtsp.c Thu Jul 6 00:08:12 2006
@@ -280,7 +280,7 @@ static char *rtsp_get(rtsp_t *s) {
read_stream(s->s, buffer, 1);
while (n<BUF_SIZE) {
read_stream(s->s, &(buffer[n]), 1);
- if ((buffer[n-1]==0x0d)&&(buffer[n]==0x0a)) break;
+ if (n > 0 &&(buffer[n-1]==0x0d)&&(buffer[n]==0x0a)) break;
n++;
}

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libmpdemux_tv_c,v 1.2 2006/07/19 21:40:47 robert Exp $
--- libmpdemux/tv.c.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/tv.c Thu Jul 6 00:08:12 2006
@@ -307,6 +307,10 @@ static int open_tv(tvi_handle_t *tvh)
mp_msg(MSGT_TV, MSGL_V, "Selected channel list: %s (including %d channels)\n",
chanlists[tvh->chanlist].name, chanlists[tvh->chanlist].count);
+#ifdef HAVE_TV_BSDBT848
+ funcs->control(tvh->priv, TVI_CONTROL_TUN_SET_CHANLIST, &tvh->chanlist);
+#endif
+
if (tv_param_freq && tv_param_channel)
{
mp_msg(MSGT_TV, MSGL_WARN, "You can't set frequency and channel simultaneously!\n");

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-libmpdemux_tv_h,v 1.1 2006/01/17 07:41:58 jakemsr Exp $
--- libmpdemux/tv.h.orig Sat Jan 29 04:24:43 2005
+++ libmpdemux/tv.h Sun Dec 25 17:32:08 2005
@@ -145,6 +145,7 @@ extern char *tv_channel_last_real;
#define TVI_CONTROL_TUN_SET_TUNER 0x204 /* update priv->tuner struct for used input */
#define TVI_CONTROL_TUN_GET_NORM 0x205
#define TVI_CONTROL_TUN_SET_NORM 0x206
+#define TVI_CONTROL_TUN_SET_CHANLIST 0x207
/* AUDIO controls */
#define TVI_CONTROL_AUD_GET_FORMAT 0x301

View File

@ -1,337 +0,0 @@
$OpenBSD: patch-libmpdemux_tvi_bsdbt848_c,v 1.5 2007/04/19 08:37:09 ajacoutot Exp $
--- libmpdemux/tvi_bsdbt848.c.orig Sun Jun 11 20:35:46 2006
+++ libmpdemux/tvi_bsdbt848.c Thu Apr 19 09:41:03 2007
@@ -40,9 +40,12 @@
#include <string.h>
#include <sys/param.h>
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <dev/ic/bt8xx.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
#include <sys/audioio.h>
+#include <string.h>
#elif defined(__DragonFly__)
#include <dev/video/meteor/ioctl_meteor.h>
#include <dev/video/bktr/ioctl_bt848.h>
@@ -54,15 +57,17 @@
#include <machine/ioctl_bt848.h>
#endif
+#if !defined(__OpenBSD__)
#ifdef HAVE_SYS_SOUNDCARD_H
#include <sys/soundcard.h>
#else
-#ifdef HAVE_SOUNDCARD_H
+#if defined(HAVE_SOUNDCARD_H)
#include <soundcard.h>
#else
#include <machine/soundcard.h>
#endif
#endif
+#endif
#include "libaf/af_format.h"
#include "libvo/img_format.h"
@@ -129,7 +134,7 @@ typedef struct {
int tunerfd;
int tunerready;
u_long tunerfreq;
- struct bktr_chnlset cset;
+ int tunertype;
/* Other */
@@ -140,9 +145,34 @@ typedef struct {
#include "tvi_def.h"
+static int chnlsets[17] = {
+ CHNLSET_NABCST, /* us-bcast */
+ CHNLSET_CABLEIRC, /* us-cable */
+ CHNLSET_CABLEHRC, /* us-cable-hrc */
+ CHNLSET_JPNBCST, /* japan-bcast */
+ CHNLSET_JPNCABLE, /* japan-cable */
+ CHNLSET_WEUROPE, /* europe-west */
+ CHNLSET_XUSSR, /* europe-east ? */
+ CHNLSET_WEUROPE, /* italy ? */
+ CHNLSET_AUSTRALIA, /* newzealand ? */
+ CHNLSET_AUSTRALIA, /* australia */
+ CHNLSET_WEUROPE, /* ireland ? */
+ CHNLSET_FRANCE, /* france */
+ CHNLSET_XUSSR, /* china-bcast ? */
+ CHNLSET_WEUROPE, /* southafrica ? */
+ CHNLSET_WEUROPE, /* argentina ? */
+ CHNLSET_XUSSR, /* russia */
+ NULL, /* NULL */
+};
+
+static int sources[6] = { METEOR_INPUT_DEV1, METEOR_INPUT_DEV0, METEOR_INPUT_DEV2,
+ METEOR_INPUT_DEV3, METEOR_INPUT_DEV_RGB, METEOR_INPUT_DEV_SVIDEO };
+
+
static priv_t *G_private=NULL;
static int getinput(int innumber);
+static int getsource(int insrc);
static void processframe(int signal)
{
@@ -212,6 +242,19 @@ static int control(priv_t *priv, int cmd, void *arg)
return(TVI_CONTROL_TRUE);
}
+ case TVI_CONTROL_TUN_SET_CHANLIST:
+ {
+ priv->tunertype = chnlsets[(int)*(void **)arg];
+
+ if(ioctl(priv->tunerfd, TVTUNER_SETTYPE, &priv->tunertype) < 0)
+ {
+ perror("SETTYPE:ioctl");
+ return(0);
+ }
+
+ return(TVI_CONTROL_TRUE);
+ }
+
case TVI_CONTROL_TUN_GET_TUNER:
case TVI_CONTROL_TUN_SET_TUNER:
@@ -219,23 +262,24 @@ static int control(priv_t *priv, int cmd, void *arg)
case TVI_CONTROL_SPC_GET_INPUT:
{
- if(ioctl(priv->btfd, METEORGINPUT, &priv->input) < 0)
+ if(ioctl(priv->btfd, METEORGINPUT, &priv->source) < 0)
{
perror("GINPUT:ioctl");
return(TVI_CONTROL_FALSE);
}
+ priv->input = getsource(priv->source);
(int)*(void **)arg = priv->input;
return(TVI_CONTROL_TRUE);
}
case TVI_CONTROL_SPC_SET_INPUT:
{
- priv->input = getinput((int)*(void **)arg);
+ priv->source = getinput((int)*(void **)arg);
- if(ioctl(priv->btfd, METEORSINPUT, &priv->input) < 0)
+ if(ioctl(priv->btfd, METEORSINPUT, &priv->source) < 0)
{
- perror("tunerfreq:ioctl");
+ perror("SINPUT:ioctl");
return(0);
}
@@ -261,8 +305,15 @@ static int control(priv_t *priv, int cmd, void *arg)
case TVI_CONTROL_AUD_SET_SAMPLERATE:
{
int dspspeed = (int)*(void **)arg;
+#if defined(__OpenBSD__)
+ audio_info_t audio_if;
+ AUDIO_INITINFO(&audio_if);
+ audio_if.record.sample_rate = dspspeed;
+ if (ioctl(priv->dspfd, AUDIO_SETINFO, &audio_if) == -1)
+#else
- if(ioctl(priv->dspfd, SNDCTL_DSP_SPEED, &dspspeed) == -1)
+ if(ioctl(priv->dspfd, SNDCTL_DSP_SPEED, &dspspeed) == -1)
+#endif
{
perror("invalidaudiorate");
return(TVI_CONTROL_FALSE);
@@ -473,7 +524,12 @@ static int init(priv_t *priv)
int marg;
int count;
u_short tmp_fps;
+int tuner_audio;
+#if defined(__OpenBSD__)
+audio_info_t audio_if;
+#endif
+
G_private = priv; /* Oooh, sick */
/* Video Configuration */
@@ -485,7 +541,7 @@ priv->iformat = METEOR_FMT_PAL;
priv->maxheight = PAL_HEIGHT;
priv->maxwidth = PAL_WIDTH;
priv->maxfps = PAL_FPS;
-priv->source = METEOR_INPUT_DEV0;
+priv->source = METEOR_INPUT_DEV1;
priv->fps = priv->maxfps;
priv->starttime=0;
@@ -572,10 +628,26 @@ if(priv->tunerfd < 0)
priv->tunerready = FALSE;
}
+if(ioctl(priv->tunerfd, BT848_GAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner get audio");
+ priv->tunerready = FALSE;
+ }
+if(tuner_audio & AUDIO_MUTE)
+ {
+ tuner_audio = AUDIO_UNMUTE;
+ if(ioctl(priv->tunerfd, BT848_SAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner unmute");
+ priv->tunerready = FALSE;
+ }
+ }
+
+
/* Audio Configuration */
priv->dspready = TRUE;
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
priv->dspdev = strdup("/dev/sound");
#else
priv->dspdev = strdup("/dev/dsp");
@@ -583,7 +655,11 @@ priv->dspdev = strdup("/dev/dsp");
priv->dspsamplesize = 16;
priv->dspstereo = 1;
priv->dspspeed = 44100;
+#if defined (__OpenBSD__)
+priv->dspfmt = AUDIO_ENCODING_SLINEAR_LE;
+#else
priv->dspfmt = AFMT_S16_LE;
+#endif
priv->dspbytesread = 0;
priv->dsprate = priv->dspspeed * priv->dspsamplesize/8*(priv->dspstereo+1);
priv->dspframesize = priv->dspspeed*priv->dspsamplesize/8/priv->fps *
@@ -597,6 +673,31 @@ if((priv->dspfd = open (priv->dspdev, O_RDONLY, 0)) <
marg = (256 << 16) | 12;
+#if defined(__OpenBSD__)
+
+ AUDIO_INITINFO(&audio_if);
+
+ audio_if.record.precision = priv->dspsamplesize;
+ audio_if.record.channels = priv->dspstereo+1;
+ audio_if.record.sample_rate = priv->dspspeed;
+ audio_if.record.encoding = priv->dspfmt;
+
+ audio_if.mode = AUMODE_RECORD;
+
+ audio_if.play.open = 0;
+ audio_if.play.pause = 1;
+ audio_if.record.open = 1;
+ audio_if.record.pause = 0;
+
+ if (ioctl(priv->dspfd, AUDIO_SETINFO, &audio_if) < 0)
+ {
+ perror ("AUDIO_SETINFO:ioctl");
+ close(priv->dspfd);
+ priv->dspready = FALSE;
+ }
+
+#else
+
if (ioctl(priv->dspfd, SNDCTL_DSP_SETFRAGMENT, &marg ) < 0 )
{
perror("setfrag");
@@ -614,6 +715,8 @@ if((priv->dspready == TRUE) &&
priv->dspready = FALSE;
}
+#endif
+
return(1);
}
@@ -623,6 +726,7 @@ static int start(priv_t *priv)
int tmp;
struct timeval curtime;
int marg;
+int tuner_audio;
fprintf(stderr,"START\n");
if(priv->videoready == FALSE) return(0);
@@ -658,6 +762,7 @@ return(1);
static int uninit(priv_t *priv)
{
int marg;
+int tuner_audio;
if(priv->videoready == FALSE) return(0);
@@ -680,6 +785,15 @@ if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0 )
close(priv->btfd);
close(priv->dspfd);
+tuner_audio = AUDIO_MUTE;
+if(ioctl(priv->tunerfd, BT848_SAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner mute");
+ priv->tunerready = FALSE;
+ }
+
+close(priv->tunerfd);
+
priv->dspfd = -1;
priv->btfd = -1;
@@ -802,13 +916,13 @@ return(priv->dspbytesread * 1.0 / priv->dsprate);
static int get_audio_framesize(priv_t *priv)
{
int bytesavail;
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
struct audio_info auinf;
#endif
if(priv->dspready == FALSE) return 0;
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
if(ioctl(priv->dspfd, AUDIO_GETINFO, &auinf) < 0)
{
perror("AUDIO_GETINFO");
@@ -827,24 +941,28 @@ if(ioctl(priv->dspfd, FIONREAD, &bytesavail) < 0)
/* When mencoder wants audio data, it wants data..
it won't go do anything else until it gets it :( */
-if(bytesavail == 0) return FRAGSIZE;
+// if(bytesavail == 0) return FRAGSIZE;
return(bytesavail);
}
static int getinput(int innumber)
{
-switch(innumber)
- {
- case 0: return METEOR_INPUT_DEV0; /* RCA */
- case 1: return METEOR_INPUT_DEV1; /* Tuner */
- case 2: return METEOR_INPUT_DEV2; /* In 1 */
- case 3: return METEOR_INPUT_DEV3; /* In 2 */
- case 4: return METEOR_INPUT_DEV_RGB; /* RGB */
- case 5: return METEOR_INPUT_DEV_SVIDEO; /* SVid */
- }
-
+if (sources[innumber])
+ return sources[innumber];
+
return 0;
}
+
+static int getsource(int insrc)
+{
+ int i;
+
+ for (i = 0; sources[i]; i++)
+ if (sources[i] == insrc)
+ return i;
+
+ return 0;
+ }
#endif /* USE_TV */

View File

@ -0,0 +1,36 @@
$OpenBSD: patch-libpostproc_postprocess_template_c,v 1.1 2008/02/08 17:32:42 jakemsr Exp $
--- libpostproc/postprocess_template.c.orig Mon Jan 21 16:47:04 2008
+++ libpostproc/postprocess_template.c Mon Jan 21 16:47:55 2008
@@ -3747,7 +3747,7 @@ static void RENAME(postProcess)(uint8_t src[], int src
//FIXME filter first line
if(y>0) RENAME(dering)(dstBlock - stride - 8, stride, &c);
}
-
+#if 0
if(mode & TEMP_NOISE_FILTER)
{
RENAME(tempNoiseReducer)(dstBlock-8, stride,
@@ -3755,6 +3755,7 @@ static void RENAME(postProcess)(uint8_t src[], int src
c.tempBluredPast[isColor] + (y>>3)*256 + (x>>3),
c.ppMode.maxTmpNoise);
}
+#endif
}
dstBlock+=8;
@@ -3772,6 +3773,7 @@ static void RENAME(postProcess)(uint8_t src[], int src
if(y > 0) RENAME(dering)(dstBlock - dstStride - 8, dstStride, &c);
}
+#if 0
if((mode & TEMP_NOISE_FILTER))
{
RENAME(tempNoiseReducer)(dstBlock-8, dstStride,
@@ -3779,6 +3781,7 @@ static void RENAME(postProcess)(uint8_t src[], int src
c.tempBluredPast[isColor] + (y>>3)*256 + (x>>3),
c.ppMode.maxTmpNoise);
}
+#endif
/* did we use a tmp buffer for the last lines*/
if(y+15 >= height)

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-loader_Makefile,v 1.2 2004/10/18 06:48:20 biorn Exp $
--- loader/Makefile.orig Sat Jun 26 12:40:23 2004
+++ loader/Makefile Thu Jul 15 09:29:23 2004
@@ -36,9 +36,6 @@ distclean: clean
libloader.a: $(LIB_OBJECTS) stubs.s
$(CC) -c ./stubs.s -o stubs.o
-ifeq ($(TARGET_OS),OpenBSD)
- ./loader_objfix.sh
-endif
$(AR) -r libloader.a $(LIB_OBJECTS) stubs.o
$(RANLIB) libloader.a

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-loader_dmo_DMO_VideoDecoder_c,v 1.2 2007/04/19 08:37:09 ajacoutot Exp $
--- loader/dmo/DMO_VideoDecoder.c.orig Sun Jun 11 20:35:46 2006
+++ loader/dmo/DMO_VideoDecoder.c Thu Apr 19 09:41:04 2007
@@ -121,6 +121,7 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open(char* dllname
this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
memcpy(this->iv.m_bh, format, bihs);
+ this->iv.m_bh->biSize = bihs;
this->iv.m_State = STOP;
//this->iv.m_pFrame = 0;

View File

@ -1,40 +0,0 @@
$OpenBSD: patch-loader_stubs_S,v 1.1 2002/12/22 14:19:47 espie Exp $
--- loader/stubs.S.orig Fri Nov 15 10:22:37 2002
+++ loader/stubs.S Fri Nov 15 10:28:46 2002
@@ -0,0 +1,36 @@
+#include "../mangle.h"
+ .data
+.LC0: .string "Called unk_%s\n"
+ .balign 4
+.globl MANGLEA(unk_exp1)
+MANGLEA(unk_exp1):
+ pushl %ebp
+ movl %esp,%ebp
+ subl $4,%esp
+ movl $1,-4(%ebp)
+ movl -4(%ebp),%eax
+ movl %eax,%ecx
+ movl %ecx,%edx
+ sall $4,%edx
+ subl %eax,%edx
+ leal 0(,%edx,2),%eax
+ movl %eax,%edx
+ addl $MANGLEA(export_names),%edx
+ pushl %edx
+ pushl $.LC0
+ call MANGLEA(printf)
+ addl $8,%esp
+ xorl %eax,%eax
+ leave
+ ret
+.globl MANGLEA(exp_EH_prolog)
+MANGLEA(exp_EH_prolog):
+ pushl $0xff
+ pushl %eax
+ pushl %fs:0
+ movl %esp, %fs:0
+ movl 12(%esp), %eax
+ movl %ebp, 12(%esp)
+ leal 12(%esp), %ebp
+ pushl %eax
+ ret

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-mangle_h,v 1.3 2006/07/19 21:40:47 robert Exp $
--- mangle.h.orig Sun Jun 11 20:35:47 2006
+++ mangle.h Thu Jul 6 00:08:12 2006
$OpenBSD: patch-mangle_h,v 1.4 2008/02/08 17:32:42 jakemsr Exp $
--- mangle.h.orig Sun Oct 7 12:49:33 2007
+++ mangle.h Sun Dec 16 21:06:56 2007
@@ -11,8 +11,10 @@
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__OS2__) || \
(defined(__OpenBSD__) && !defined(__ELF__)) || defined(__APPLE__)
@ -11,4 +11,4 @@ $OpenBSD: patch-mangle_h,v 1.3 2006/07/19 21:40:47 robert Exp $
+#define MANGLEA(a) a
#endif
#endif /* !__MANGLE_H */
#endif /* !MANGLE_H */

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-mencoder_c,v 1.2 2006/07/19 21:40:47 robert Exp $
--- mencoder.c.orig Sun Jun 11 20:35:47 2006
+++ mencoder.c Thu Jul 6 00:08:12 2006
@@ -1511,6 +1511,7 @@ if(sh_audio && !demuxer2){
$OpenBSD: patch-mencoder_c,v 1.3 2008/02/08 17:32:42 jakemsr Exp $
--- mencoder.c.orig Sun Oct 7 12:49:33 2007
+++ mencoder.c Sun Dec 16 21:06:56 2007
@@ -1506,6 +1506,7 @@ if(sh_audio && !demuxer2){
} // while(!at_eof)
+mux_v->aspect=sh_video->aspect;
if (!interrupted && filelist[++curfile].name != 0) {
if (sh_video && sh_video->vfilter) {
// Before uniniting sh_video and the filter chain, break apart the VE.
if (sh_video && sh_video->vfilter) { // Before uniniting sh_video and the filter chain, break apart the VE.
vf_instance_t * ve; // this will be the filter right before the ve.

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-mpcommon_mak,v 1.1 2008/02/08 17:32:42 jakemsr Exp $
--- mpcommon.mak.orig Mon Jan 21 14:55:57 2008
+++ mpcommon.mak Mon Jan 21 14:56:09 2008
@@ -8,7 +8,7 @@ OBJS_MENCODER += $(addsuffix .o, $(basename $(SRCS_ME
CFLAGS-$(LIBAVCODEC) += -I../libavcodec
CFLAGS-$(LIBAVFORMAT) += -I../libavformat
-CFLAGS += $(CFLAGS-yes) $(OPTFLAGS)
+CFLAGS := $(CFLAGS-yes) $(OPTFLAGS)
LIBS-$(MPLAYER) += $(LIBNAME_MPLAYER)
LIBS-$(MENCODER) += $(LIBNAME_MENCODER)

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-mplayer_c,v 1.7 2007/04/19 08:37:09 ajacoutot Exp $
--- mplayer.c.orig Sun Jun 11 20:35:47 2006
+++ mplayer.c Thu Apr 19 09:41:04 2007
@@ -614,7 +614,7 @@ static void exit_sighandler(int x){
$OpenBSD: patch-mplayer_c,v 1.8 2008/02/08 17:32:42 jakemsr Exp $
--- mplayer.c.orig Sun Oct 7 12:49:33 2007
+++ mplayer.c Sun Dec 16 21:06:56 2007
@@ -774,7 +774,7 @@ static void exit_sighandler(int x){
gdb_pid = fork();
mp_msg(MSGT_CPLAYER, MSGL_INFO, "Forked...\n");
if (gdb_pid == 0) { // We are the child
@ -10,35 +10,3 @@ $OpenBSD: patch-mplayer_c,v 1.7 2007/04/19 08:37:09 ajacoutot Exp $
mp_msg(MSGT_CPLAYER, MSGL_ERR, "Couldn't start gdb\n");
} else if (gdb_pid < 0)
mp_msg(MSGT_CPLAYER, MSGL_ERR, "Couldn't fork\n");
@@ -4527,7 +4527,7 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
{
#ifdef USE_SUB
if (sh_video) {
- mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_SUB_VISIBILITY=%d\n", sub_visibility);
+ mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_SUB_VISIBILITY=%d\n", (long)sub_visibility);
}
#endif
} break;
@@ -4548,11 +4548,11 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
case MP_CMD_GET_VO_FULLSCREEN : {
if(video_out && vo_config_count)
- mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_VO_FULLSCREEN=%d\n", vo_fs);
+ mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_VO_FULLSCREEN=%d\n", (long)vo_fs);
} break;
case MP_CMD_GET_PERCENT_POS : {
- mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_PERCENT_POSITION=%d\n", demuxer_get_percent_pos(demuxer));
+ mp_msg(MSGT_GLOBAL,MSGL_INFO, "ANS_PERCENT_POSITION=%d\n", (long)demuxer_get_percent_pos(demuxer));
} break;
case MP_CMD_GET_TIME_POS : {
float pos = 0;
@@ -4570,7 +4570,7 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
case MP_CMD_RUN : {
#ifndef __MINGW32__
if(!fork()) {
- execl("/bin/sh","sh","-c",cmd->args[0].v.s,NULL);
+ execl("/bin/sh","sh","-c",cmd->args[0].v.s,(char *)NULL);
exit(0);
}
#endif

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-stream_Makefile,v 1.1 2008/02/08 17:32:42 jakemsr Exp $
--- stream/Makefile.orig Sun Oct 7 12:49:26 2007
+++ stream/Makefile Mon Jan 21 12:13:35 2008
@@ -66,6 +66,8 @@ endif
include ../mpcommon.mak
+stream_dvd.o: CFLAGS := -I.. $(CFLAGS)
+
clean::
rm -f realrtsp/*.o realrtsp/*.a realrtsp/*~ \
librtsp/*.o librtsp/*.a librtsp/*~ \

View File

@ -0,0 +1,200 @@
$OpenBSD: patch-stream_tvi_bsdbt848_c,v 1.1 2008/02/08 17:32:42 jakemsr Exp $
--- stream/tvi_bsdbt848.c.orig Sun Oct 7 12:49:26 2007
+++ stream/tvi_bsdbt848.c Mon Dec 17 14:49:10 2007
@@ -36,6 +36,7 @@
#include <sys/time.h>
#include <signal.h>
#include <string.h>
+#include <errno.h>
#include <sys/param.h>
#ifdef USE_SUN_AUDIO
@@ -50,6 +51,7 @@
#include IOCTL_BT848_H_NAME
#endif
+#ifndef __OpenBSD__
#ifdef HAVE_SYS_SOUNDCARD_H
#include <sys/soundcard.h>
#else
@@ -59,6 +61,7 @@
#include <machine/soundcard.h>
#endif
#endif
+#endif
#include "libaf/af_format.h"
#include "libmpcodecs/img_format.h"
@@ -141,9 +144,14 @@ typedef struct {
#include "tvi_def.h"
+static int sources[6] = { METEOR_INPUT_DEV1, METEOR_INPUT_DEV0, METEOR_INPUT_DEV2,
+ METEOR_INPUT_DEV3, METEOR_INPUT_DEV_RGB, METEOR_INPUT_DEV_SVIDEO };
+
+
static priv_t *G_private=NULL;
static int getinput(int innumber);
+static int getsource(int insrc);
static void processframe(int signal)
{
@@ -314,7 +322,14 @@ static int control(priv_t *priv, int cmd, void *arg)
{
int dspspeed = *(int *)arg;
+#if defined(__OpenBSD__)
+ audio_info_t audio_if;
+ AUDIO_INITINFO(&audio_if);
+ audio_if.record.sample_rate = dspspeed;
+ if (ioctl(priv->dspfd, AUDIO_SETINFO, &audio_if) == -1)
+#else
if(ioctl(priv->dspfd, SNDCTL_DSP_SPEED, &dspspeed) == -1)
+#endif
{
mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848InvalidAudioRate, strerror(errno));
return(TVI_CONTROL_FALSE);
@@ -525,7 +540,12 @@ static int init(priv_t *priv)
int marg;
int count;
u_short tmp_fps;
+int tuner_audio;
+#if defined(__OpenBSD__)
+audio_info_t audio_if;
+#endif
+
G_private = priv; /* Oooh, sick */
/* Video Configuration */
@@ -536,7 +556,7 @@ priv->iformat = METEOR_FMT_PAL;
priv->maxheight = PAL_HEIGHT;
priv->maxwidth = PAL_WIDTH;
priv->maxfps = PAL_FPS;
-priv->source = METEOR_INPUT_DEV0;
+priv->source = METEOR_INPUT_DEV1;
priv->fps = priv->maxfps;
priv->starttime=0;
@@ -622,13 +642,33 @@ if(priv->tunerfd < 0)
priv->tunerready = FALSE;
}
+if(ioctl(priv->tunerfd, BT848_GAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner get audio");
+ priv->tunerready = FALSE;
+ }
+if(tuner_audio & AUDIO_MUTE)
+ {
+ tuner_audio = AUDIO_UNMUTE;
+ if(ioctl(priv->tunerfd, BT848_SAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner unmute");
+ priv->tunerready = FALSE;
+ }
+ }
+
+
/* Audio Configuration */
priv->dspready = TRUE;
priv->dspsamplesize = 16;
priv->dspstereo = 1;
priv->dspspeed = 44100;
+#if defined (__OpenBSD__)
+priv->dspfmt = AUDIO_ENCODING_SLINEAR_LE;
+#else
priv->dspfmt = AFMT_S16_LE;
+#endif
priv->dspbytesread = 0;
priv->dsprate = priv->dspspeed * priv->dspsamplesize/8*(priv->dspstereo+1);
priv->dspframesize = priv->dspspeed*priv->dspsamplesize/8/priv->fps *
@@ -642,6 +682,26 @@ if((priv->dspfd = open (priv->dspdev, O_RDONLY, 0)) <
marg = (256 << 16) | 12;
+#if defined(__OpenBSD__)
+
+ AUDIO_INITINFO(&audio_if);
+
+ audio_if.record.precision = priv->dspsamplesize;
+ audio_if.record.channels = priv->dspstereo+1;
+ audio_if.record.sample_rate = priv->dspspeed;
+ audio_if.record.encoding = priv->dspfmt;
+
+ audio_if.mode = AUMODE_RECORD;
+
+ if (ioctl(priv->dspfd, AUDIO_SETINFO, &audio_if) < 0)
+ {
+ perror ("AUDIO_SETINFO:ioctl");
+ close(priv->dspfd);
+ priv->dspready = FALSE;
+ }
+
+#else
+
if (ioctl(priv->dspfd, SNDCTL_DSP_SETFRAGMENT, &marg ) < 0 )
{
mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "SNDCTL_DSP_SETFRAGMENT", strerror(errno));
@@ -659,6 +719,8 @@ if((priv->dspready == TRUE) &&
priv->dspready = FALSE;
}
+#endif
+
return(1);
}
@@ -703,6 +765,7 @@ return(1);
static int uninit(priv_t *priv)
{
int marg;
+int tuner_audio;
if(priv->videoready == FALSE) return(0);
@@ -725,6 +788,15 @@ if(ioctl(priv->btfd, METEORCAPTUR, &marg) < 0 )
close(priv->btfd);
close(priv->dspfd);
+tuner_audio = AUDIO_MUTE;
+if(ioctl(priv->tunerfd, BT848_SAUDIO, &tuner_audio) < 0)
+ {
+ perror("tuner mute");
+ priv->tunerready = FALSE;
+ }
+
+close(priv->tunerfd);
+
priv->dspfd = -1;
priv->btfd = -1;
@@ -869,22 +941,15 @@ if(ioctl(priv->dspfd, FIONREAD, &bytesavail) < 0)
/* When mencoder wants audio data, it wants data..
it won't go do anything else until it gets it :( */
-if(bytesavail == 0) return FRAGSIZE;
+// if(bytesavail == 0) return FRAGSIZE;
return(bytesavail);
}
static int getinput(int innumber)
{
-switch(innumber)
- {
- case 0: return METEOR_INPUT_DEV0; /* RCA */
- case 1: return METEOR_INPUT_DEV1; /* Tuner */
- case 2: return METEOR_INPUT_DEV2; /* In 1 */
- case 3: return METEOR_INPUT_DEV3; /* In 2 */
- case 4: return METEOR_INPUT_DEV_RGB; /* RGB */
- case 5: return METEOR_INPUT_DEV_SVIDEO; /* SVid */
- }
-
+if (sources[innumber])
+ return sources[innumber];
+
return 0;
}

View File

@ -1,9 +1,10 @@
@comment $OpenBSD: PLIST,v 1.21 2006/07/19 21:40:47 robert Exp $
@comment $OpenBSD: PLIST,v 1.22 2008/02/08 17:32:42 jakemsr Exp $
bin/mencoder
bin/mplayer
@man man/man1/mencoder.1
@man man/man1/mplayer.1
share/doc/mplayer/
share/doc/mplayer/aalib.html
share/doc/mplayer/advaudio.html
share/doc/mplayer/aspect.html
share/doc/mplayer/audio-codecs.html
@ -21,37 +22,41 @@ share/doc/mplayer/bugreports_where.html
share/doc/mplayer/bugs-audio.html
share/doc/mplayer/bugs-special.html
share/doc/mplayer/bugs.html
share/doc/mplayer/caca.html
share/doc/mplayer/cd-dvd.html
share/doc/mplayer/codec-importing.html
share/doc/mplayer/codecs.html
share/doc/mplayer/commandline.html
share/doc/mplayer/containers.html
share/doc/mplayer/control.html
share/doc/mplayer/dfbmga.html
share/doc/mplayer/dga.html
share/doc/mplayer/directfb.html
share/doc/mplayer/drives.html
share/doc/mplayer/dvd.html
share/doc/mplayer/edl.html
share/doc/mplayer/encoding-guide.html
share/doc/mplayer/exotic_platforms.html
share/doc/mplayer/faq.html
share/doc/mplayer/fbdev.html
share/doc/mplayer/features.html
share/doc/mplayer/gcc-296.html
share/doc/mplayer/fonts-osd.html
share/doc/mplayer/gui.html
share/doc/mplayer/history.html
share/doc/mplayer/howtoread.html
share/doc/mplayer/index.html
share/doc/mplayer/install.html
share/doc/mplayer/installation_codecs.html
share/doc/mplayer/intro.html
share/doc/mplayer/joe-barr.html
share/doc/mplayer/linux.html
share/doc/mplayer/macos.html
share/doc/mplayer/mailinglists.html
share/doc/mplayer/menc-feat-dvd-mpeg4.html
share/doc/mplayer/menc-feat-enc-images.html
share/doc/mplayer/menc-feat-enc-libavcodec.html
share/doc/mplayer/menc-feat-extractsub.html
share/doc/mplayer/menc-feat-handheld-psp.html
share/doc/mplayer/menc-feat-mpeg.html
share/doc/mplayer/menc-feat-mpeg4.html
share/doc/mplayer/menc-feat-quicktime-7.html
share/doc/mplayer/menc-feat-rescale.html
share/doc/mplayer/menc-feat-selecting-codec.html
share/doc/mplayer/menc-feat-selecting-input.html
@ -62,15 +67,16 @@ share/doc/mplayer/menc-feat-video-for-windows.html
share/doc/mplayer/menc-feat-x264.html
share/doc/mplayer/menc-feat-xvid.html
share/doc/mplayer/mencoder.html
share/doc/mplayer/mga_vid.html
share/doc/mplayer/mpeg_decoders.html
share/doc/mplayer/mplayer-binary.html
share/doc/mplayer/mpst.html
share/doc/mplayer/mtrr.html
share/doc/mplayer/nvidia-opinions.html
share/doc/mplayer/opengl.html
share/doc/mplayer/other.html
share/doc/mplayer/output-trad.html
share/doc/mplayer/ports.html
share/doc/mplayer/radio-input.html
share/doc/mplayer/radio.html
share/doc/mplayer/rtc.html
share/doc/mplayer/sdl.html
share/doc/mplayer/skin-file.html
share/doc/mplayer/skin-fonts.html
share/doc/mplayer/skin-gui.html
@ -78,23 +84,28 @@ share/doc/mplayer/skin-overview.html
share/doc/mplayer/skin-quality.html
share/doc/mplayer/skin.html
share/doc/mplayer/softreq.html
share/doc/mplayer/sound-cards.html
share/doc/mplayer/streaming.html
share/doc/mplayer/subosd.html
share/doc/mplayer/svgalib.html
share/doc/mplayer/sync.html
share/doc/mplayer/tdfx_vid.html
share/doc/mplayer/tdfxfb.html
share/doc/mplayer/troubleshooting.html
share/doc/mplayer/tv-input.html
share/doc/mplayer/tv-teletext.html
share/doc/mplayer/tv.html
share/doc/mplayer/tvout.html
share/doc/mplayer/unix.html
share/doc/mplayer/usage.html
share/doc/mplayer/users-vs-dev.html
share/doc/mplayer/vcd.html
share/doc/mplayer/video-cards.html
share/doc/mplayer/vesa.html
share/doc/mplayer/video-codecs.html
share/doc/mplayer/video-formats.html
share/doc/mplayer/video.html
share/doc/mplayer/vidix.html
share/doc/mplayer/windows.html
share/doc/mplayer/x11.html
share/doc/mplayer/xv.html
share/examples/mplayer/
@sample ${CONFDIR}/
share/examples/mplayer/codecs.conf
@ -104,5 +115,4 @@ share/examples/mplayer/menu.conf
@sample ${CONFDIR}/menu.conf
share/examples/mplayer/mplayer.conf
!%%no_x11%%
@comment share/mplayer/font/
@extraunexec rm -rf ${CONFDIR}