aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeech Rintoul <beech@FreeBSD.org>2010-12-02 09:18:01 +0000
committerBeech Rintoul <beech@FreeBSD.org>2010-12-02 09:18:01 +0000
commite2c8af6ff6c98ac9b496e207b0b28c411dec374b (patch)
tree68a3f72a251d532c6e3b186a4ae00fca17190203
parentd94173d3703671d7ab18d0a3b656a0ce75a49b97 (diff)
downloadports-e2c8af6ff6c98ac9b496e207b0b28c411dec374b.tar.gz
ports-e2c8af6ff6c98ac9b496e207b0b28c411dec374b.zip
Notes
-rw-r--r--multimedia/mencoder/Makefile18
-rw-r--r--multimedia/mencoder/distinfo5
-rw-r--r--multimedia/mplayer/Makefile18
-rw-r--r--multimedia/mplayer/Makefile.options4
-rw-r--r--multimedia/mplayer/Makefile.shared4
-rw-r--r--multimedia/mplayer/distinfo5
-rw-r--r--multimedia/mplayer/files/patch-configure67
-rw-r--r--multimedia/mplayer/files/patch-libavcodec-Makefile10
-rw-r--r--multimedia/mplayer/files/patch-libavcodec-vorbis_dec.c63
-rw-r--r--multimedia/mplayer/files/patch-libavutil-x86_cpu.h6
-rw-r--r--multimedia/mplayer/files/pkg-message.in7
11 files changed, 74 insertions, 133 deletions
diff --git a/multimedia/mencoder/Makefile b/multimedia/mencoder/Makefile
index f4e2e47a7247..f9ba989e0e69 100644
--- a/multimedia/mencoder/Makefile
+++ b/multimedia/mencoder/Makefile
@@ -6,7 +6,7 @@
PORTNAME= mencoder
PORTVERSION= ${MPLAYER_PORT_VERSION}
-PORTREVISION= 3
+PORTREVISION= 0
COMMENT= Convenient video file and movie encoder
RESTRICTED= Port has restricted dependencies
@@ -79,6 +79,7 @@ CONFIGURE_ARGS+= --disable-mplayer \
--disable-joystick \
--disable-directfb \
--disable-ssse3 \
+ --disable-mpg123 \
--disable-musepack
ALL_TARGET= mencoder
@@ -130,10 +131,13 @@ post-patch:
'/CFLAGS.*-D_LARGEFILE64_SOURCE/ s/-D_LARGEFILE64_SOURCE/-D_FILE_OFFSET_BITS=64/' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif
- @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
+ @${REINPLACE_CMD} \
+ -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
s|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
- ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
- @${REINPLACE_CMD} -e 's!/usr/local!${PREFIX}!' \
+ -e 's|/usr/local|${LOCALBASE}|' \
+ -e 's|-lbz2|/usr/lib/libbz2.so|' \
+ -e 's|-L$$_prefix/lib|-L${LOCALBASE}/lib|' \
+ -e 's|-I$$_prefix/include|-I${LOCALBASE}/include|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@${FIND} -E ${WRKSRC} -type f \
-iregex ".*(configure|.sh|Makefile)" -print0 | \
@@ -147,11 +151,15 @@ post-patch:
's|/usr/\\:local/\\:etc/\\:mplayer|${DATADIR:S/\//\/\\\:/g}|g ; \
s|/dev/\\:(dvd[[:alnum:]]*[[:>:]])|${DEFAULT_DVD_DEVICE:S/dev\//dev\/\\\:/}|g ; \
s|/dev/\\:(cdrom[[:alnum:]]*[[:>:]])|${DEFAULT_CDROM_DEVICE:S/dev\//dev\/\\\:/}|g'
- @cd ${WRKSRC}/libavcodec && ${LN} -s x86 i386 && ${LN} -s x86 amd64
post-configure:
@${REINPLACE_CMD} -e 's#-pthread#${PTHREAD_LIBS}#g' \
${WRKSRC}/config.mak
+ @${REINPLACE_CMD} \
+ -e 's#HAVE_FAST_CMOV 1#HAVE_FAST_CMOV 0#g' \
+ -e 's#HAVE_LOG2 1#HAVE_LOG2 0#g' \
+ -e 's#HAVE_LOG2F 1#HAVE_LOG2F 0#g' \
+ ${WRKSRC}/config.h
do-install:
@${INSTALL_PROGRAM} ${WRKSRC}/mencoder ${PREFIX}/bin
diff --git a/multimedia/mencoder/distinfo b/multimedia/mencoder/distinfo
index 87b92e58582d..b9b495d2cf4e 100644
--- a/multimedia/mencoder/distinfo
+++ b/multimedia/mencoder/distinfo
@@ -1,3 +1,2 @@
-MD5 (mplayer-1.0rc20100717.tar.bz2) = 3e650938b3729292d1fbee7d72524670
-SHA256 (mplayer-1.0rc20100717.tar.bz2) = 829f149fa74655f84824b4511d69fd93c575e24bc11c429e66ee742642881f0b
-SIZE (mplayer-1.0rc20100717.tar.bz2) = 8988030
+SHA256 (mplayer-1.0rc20101106.tar.bz2) = 00ea68f869435b1a5e363d87cf35fd6711f703aaa05a93f9e4d03a52f3ec8751
+SIZE (mplayer-1.0rc20101106.tar.bz2) = 10014975
diff --git a/multimedia/mplayer/Makefile b/multimedia/mplayer/Makefile
index fc9b0f10c770..c4561b21b443 100644
--- a/multimedia/mplayer/Makefile
+++ b/multimedia/mplayer/Makefile
@@ -7,7 +7,7 @@
PORTNAME= mplayer
PORTVERSION= ${MPLAYER_PORT_VERSION}
-PORTREVISION= 3
+PORTREVISION= 0
COMMENT= High performance media player supporting many formats
.include "${.CURDIR}/Makefile.shared"
@@ -84,6 +84,7 @@ CONFIGURE_ARGS+= --disable-ssse3 \
--disable-xvid \
--disable-libdirac-lavc \
--disable-mencoder \
+ --disable-mpg123 \
--disable-musepack
.include "${.CURDIR}/Makefile.options"
@@ -236,10 +237,13 @@ post-patch:
'/CFLAGS.*-D_LARGEFILE64_SOURCE/ s/-D_LARGEFILE64_SOURCE/-D_FILE_OFFSET_BITS=64/' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif
- @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
+ @${REINPLACE_CMD} \
+ -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
s|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
- ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
- @${REINPLACE_CMD} -e 's!/usr/local!${PREFIX}!' \
+ -e 's|/usr/local|${LOCALBASE}|' \
+ -e 's|-lbz2|/usr/lib/libbz2.so|' \
+ -e 's|-L$$_prefix/lib|-L${LOCALBASE}/lib|' \
+ -e 's|-I$$_prefix/include|-I${LOCALBASE}/include|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@${FIND} -E ${WRKSRC} -type f \
-iregex ".*(configure|.sh|Makefile)" -print0 | \
@@ -253,7 +257,6 @@ post-patch:
's|/usr/\\:local/\\:etc/\\:mplayer|${DATADIR:S/\//\/\\\:/g}|g ; \
s|/dev/\\:(dvd[[:alnum:]]*[[:>:]])|${DEFAULT_DVD_DEVICE:S/dev\//dev\/\\\:/}|g ; \
s|/dev/\\:(cdrom[[:alnum:]]*[[:>:]])|${DEFAULT_CDROM_DEVICE:S/dev\//dev\/\\\:/}|g'
- @cd ${WRKSRC}/libavcodec && ${LN} -s x86 i386 && ${LN} -s x86 amd64
.if defined(WITH_RTC)
@${REINPLACE_CMD} -e \
's|irqp = 1024|irqp = ${DEFAULT_KERN_HZ}|' \
@@ -263,6 +266,11 @@ post-patch:
post-configure:
@${REINPLACE_CMD} -e 's#-pthread#${PTHREAD_LIBS}#g' \
${WRKSRC}/config.mak
+ @${REINPLACE_CMD} \
+ -e 's#HAVE_FAST_CMOV 1#HAVE_FAST_CMOV 0#g' \
+ -e 's#HAVE_LOG2 1#HAVE_LOG2 0#g' \
+ -e 's#HAVE_LOG2F 1#HAVE_LOG2F 0#g' \
+ ${WRKSRC}/config.h
post-install:
@${MKDIR} ${DATADIR}
diff --git a/multimedia/mplayer/Makefile.options b/multimedia/mplayer/Makefile.options
index a7fe088e319c..40f06d5e658b 100644
--- a/multimedia/mplayer/Makefile.options
+++ b/multimedia/mplayer/Makefile.options
@@ -103,7 +103,7 @@ CONFIGURE_ARGS+= --disable-speex
.endif
.if defined(WITH_LIVEMEDIA)
-RUN_DEPENDS+= ${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
+#RUN_DEPENDS+= ${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
BUILD_DEPENDS+= ${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
.else
CONFIGURE_ARGS+= --disable-live
@@ -122,8 +122,6 @@ CONFIGURE_ARGS+= --disable-nas
.endif
.if defined(WITH_OPENAL)
-#TODO: test this
-#LIB_DEPENDS+= openal.1:${PORTSDIR}/audio/openal-soft
USE_OPENAL= soft
.else
CONFIGURE_ARGS+= --disable-openal
diff --git a/multimedia/mplayer/Makefile.shared b/multimedia/mplayer/Makefile.shared
index f1778461b73d..f7eea1a4c64c 100644
--- a/multimedia/mplayer/Makefile.shared
+++ b/multimedia/mplayer/Makefile.shared
@@ -2,7 +2,7 @@
# mplayer and mencoder....the variables that we need to set
# before we include bsd.port.pre.mk
-MPLAYER_SNAPSHOT_DATE= 2010-07-17
+MPLAYER_SNAPSHOT_DATE= 2010-11-06
MPLAYER_PORT_VERSION= 1.0.r${MPLAYER_SNAPSHOT_DATE:S/-//g}
CATEGORIES?= multimedia audio
MASTER_SITES= http://freebsd.unixfreunde.de/sources/ \
@@ -17,6 +17,8 @@ LICENSE= GPLv2
LIB_DEPENDS= png.6:${PORTSDIR}/graphics/png \
freetype.9:${PORTSDIR}/print/freetype2
+BUILD_DEPENDS= ${LOCALBASE}/bin/yasm:${PORTSDIR}/devel/yasm
+
USE_BZIP2= yes
USE_GMAKE= yes
USE_ICONV= yes
diff --git a/multimedia/mplayer/distinfo b/multimedia/mplayer/distinfo
index 87b92e58582d..b9b495d2cf4e 100644
--- a/multimedia/mplayer/distinfo
+++ b/multimedia/mplayer/distinfo
@@ -1,3 +1,2 @@
-MD5 (mplayer-1.0rc20100717.tar.bz2) = 3e650938b3729292d1fbee7d72524670
-SHA256 (mplayer-1.0rc20100717.tar.bz2) = 829f149fa74655f84824b4511d69fd93c575e24bc11c429e66ee742642881f0b
-SIZE (mplayer-1.0rc20100717.tar.bz2) = 8988030
+SHA256 (mplayer-1.0rc20101106.tar.bz2) = 00ea68f869435b1a5e363d87cf35fd6711f703aaa05a93f9e4d03a52f3ec8751
+SIZE (mplayer-1.0rc20101106.tar.bz2) = 10014975
diff --git a/multimedia/mplayer/files/patch-configure b/multimedia/mplayer/files/patch-configure
index 105de46649ec..461674805094 100644
--- a/multimedia/mplayer/files/patch-configure
+++ b/multimedia/mplayer/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2010-07-14 15:49:08.000000000 +0200
-+++ configure 2010-07-17 12:50:00.937109688 +0200
-@@ -555,7 +555,7 @@
+--- configure.orig 2010-11-03 09:12:22.000000000 +0100
++++ configure 2010-11-06 18:21:38.162592186 +0100
+@@ -565,7 +565,7 @@
_iwmmxt=auto
_mtrr=auto
_altivec=auto
@@ -9,7 +9,7 @@
_ranlib=ranlib
_windres=windres
_cc=cc
-@@ -1385,7 +1385,6 @@
+@@ -1371,7 +1371,6 @@
*)
echo "Unknown parameter: $ac_option"
@@ -17,7 +17,7 @@
;;
esac
-@@ -1494,8 +1493,8 @@
+@@ -1480,8 +1479,8 @@
_timer=timer-linux.c
_getch=getch2.c
if freebsd ; then
@@ -28,7 +28,7 @@
fi
if netbsd || dragonfly ; then
-@@ -3618,22 +3617,10 @@
+@@ -3535,22 +3534,10 @@
if linux ; then
THREAD_CFLAGS=-D_REENTRANT
elif freebsd || netbsd || openbsd || bsdos ; then
@@ -37,7 +37,7 @@
-if test "$_pthreads" = auto ; then
-cat > $TMPC << EOF
-#include <pthread.h>
--void* func(void *arg) { return arg; }
+-static void *func(void *arg) { return arg; }
-int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
-EOF
-_pthreads=no
@@ -54,54 +54,39 @@
if test "$_pthreads" = yes ; then
test $_ld_pthread && res_comment="using $_ld_pthread"
def_pthreads='#define HAVE_PTHREADS 1'
-@@ -3746,8 +3733,13 @@
-
-
- echocheck "sys/dvdio.h"
-+cat > $TMPC << EOF
-+#include <unistd.h>
-+#include <sys/dvdio.h>
-+int main(void) { return 0; }
-+EOF
- _dvdio=no
--header_check sys/dvdio.h && _dvdio=yes
-+cc_check && _dvdio=yes
- if test "$_dvdio" = yes ; then
- def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
- else
-@@ -7800,7 +7792,7 @@
+@@ -3828,7 +3815,7 @@
+ #define _ISOC99_SOURCE
+ #include <stdarg.h>
+ #include <stdio.h>
+-int main(void) { va_list ap = NULL; vsscanf("foo", "bar", ap); return 0; }
++int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
+ EOF
+ _vsscanf=no
+ cc_check && _vsscanf=yes
+@@ -7283,7 +7270,7 @@
+ def_muxers='#define CONFIG_MUXERS 1'
else
# mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
- # png for vf_screenshot, mjpeg for zr
-- libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
-+ libavencoders="MPEG1VIDEO_ENCODER H263_ENCODER SNOW_ENCODER"
- test "$_zlib" = yes && libavencoders="$libavencoders PNG_ENCODER"
- test "$_zr" = yes && libavencoders="$libavencoders MJPEG_ENCODER"
+- libavencoders="$mplayer_encoders MPEG1VIDEO_ENCODER SNOW_ENCODER"
++ libavencoders="$mplayer_encoders MPEG1VIDEO_ENCODER H263_ENCODER SNOW_ENCODER"
libavmuxers=""
-@@ -8161,8 +8153,11 @@
+ def_muxers='#define CONFIG_MUXERS 0'
+ fi
+@@ -7645,8 +7632,11 @@
if test "$_gui" = yes ; then
# Required libraries
-- if test "$_libavcodec" != yes ||
+- if test "$ffmpeg" != yes ||
- ! echo $libavdecoders | grep -q PNG_DECODER ; then
+ # Work around a sh bug in FreeBSD < 8
-+ if test "$_libavcodec" != yes ; then
++ if test "$ffmpeg" != yes ; then
+ die "The GUI requires libavcodec with PNG support (needs zlib)."
+ fi
+ if ! echo $libavdecoders | grep -q PNG_DECODER ; then
die "The GUI requires libavcodec with PNG support (needs zlib)."
fi
test "$_freetype" = no && test "$_bitmap_font" = no && \
-@@ -8352,7 +8347,7 @@
- echocheck "joystick"
- def_joystick='#undef CONFIG_JOYSTICK'
- if test "$_joystick" = yes ; then
-- if linux ; then
-+ if linux || freebsd ; then
- # TODO add some check
- def_joystick='#define CONFIG_JOYSTICK 1'
- else
-@@ -8560,7 +8555,7 @@
+@@ -8034,7 +8024,7 @@
EXESUF = $_exesuf
EXESUFS_ALL = .exe
diff --git a/multimedia/mplayer/files/patch-libavcodec-Makefile b/multimedia/mplayer/files/patch-libavcodec-Makefile
index dc3335363e3b..5b24e6b5150f 100644
--- a/multimedia/mplayer/files/patch-libavcodec-Makefile
+++ b/multimedia/mplayer/files/patch-libavcodec-Makefile
@@ -1,8 +1,8 @@
---- libavcodec/Makefile.orig 2010-09-26 20:31:26.000000000 +0200
-+++ libavcodec/Makefile 2010-09-26 20:31:52.000000000 +0200
-@@ -608,7 +608,7 @@
-
- OBJS-$(CONFIG_MLIB) += mlib/dsputil_mlib.o \
+--- ffmpeg/libavcodec/Makefile.orig 2010-11-02 09:32:04.000000000 +0100
++++ ffmpeg/libavcodec/Makefile 2010-11-04 21:14:51.158501798 +0100
+@@ -623,7 +623,7 @@
+ # well.
+ OBJS-$(!CONFIG_SMALL) += inverse.o
--include $(SUBDIR)$(ARCH)/Makefile
+-include $(SUBDIR)$(MPLAYER_ARCH)/Makefile
diff --git a/multimedia/mplayer/files/patch-libavcodec-vorbis_dec.c b/multimedia/mplayer/files/patch-libavcodec-vorbis_dec.c
index f4440fd66565..e69de29bb2d1 100644
--- a/multimedia/mplayer/files/patch-libavcodec-vorbis_dec.c
+++ b/multimedia/mplayer/files/patch-libavcodec-vorbis_dec.c
@@ -1,63 +0,0 @@
---- libavcodec/vorbis_dec.c.orig 2010-07-02 19:05:36.000000000 +0200
-+++ libavcodec/vorbis_dec.c 2010-09-16 17:32:17.754521304 +0200
-@@ -81,7 +81,7 @@
- } t0;
- struct vorbis_floor1_s {
- uint_fast8_t partitions;
-- uint_fast8_t partition_class[32];
-+ uint8_t partition_class[32];
- uint_fast8_t class_dimensions[16];
- uint_fast8_t class_subclasses[16];
- uint_fast8_t class_masterbook[16];
-@@ -97,13 +97,13 @@
- uint_fast16_t type;
- uint_fast32_t begin;
- uint_fast32_t end;
-- uint_fast32_t partition_size;
-+ unsigned partition_size;
- uint_fast8_t classifications;
- uint_fast8_t classbook;
- int_fast16_t books[64][8];
- uint_fast8_t maxpass;
- uint_fast16_t ptns_to_read;
-- uint_fast8_t *classifs;
-+ uint8_t *classifs;
- } vorbis_residue;
-
- typedef struct {
-@@ -467,7 +467,7 @@
- static int vorbis_parse_setup_hdr_floors(vorbis_context *vc)
- {
- GetBitContext *gb = &vc->gb;
-- uint_fast16_t i,j,k;
-+ int i,j,k;
-
- vc->floor_count = get_bits(gb, 6) + 1;
-
-@@ -655,7 +655,7 @@
- if (res_setup->begin>res_setup->end ||
- res_setup->end > vc->avccontext->channels * vc->blocksize[1] / (res_setup->type == 2 ? 1 : 2) ||
- (res_setup->end-res_setup->begin) / res_setup->partition_size > V_MAX_PARTITIONS) {
-- av_log(vc->avccontext, AV_LOG_ERROR, "partition out of bounds: type, begin, end, size, blocksize: %"PRIdFAST16", %"PRIdFAST32", %"PRIdFAST32", %"PRIdFAST32", %"PRIdFAST32"\n", res_setup->type, res_setup->begin, res_setup->end, res_setup->partition_size, vc->blocksize[1] / 2);
-+ av_log(vc->avccontext, AV_LOG_ERROR, "partition out of bounds: type, begin, end, size, blocksize: %"PRIdFAST16", %"PRIdFAST32", %"PRIdFAST32", %u, %"PRIdFAST32"\n", res_setup->type, res_setup->begin, res_setup->end, res_setup->partition_size, vc->blocksize[1] / 2);
- return -1;
- }
-
-@@ -667,6 +667,8 @@
- res_setup->classifs = av_malloc(res_setup->ptns_to_read *
- vc->audio_channels *
- sizeof(*res_setup->classifs));
-+ if (!res_setup->classifs)
-+ return AVERROR(ENOMEM);
-
- AV_DEBUG(" begin %d end %d part.size %d classif.s %d classbook %d \n", res_setup->begin, res_setup->end, res_setup->partition_size,
- res_setup->classifications, res_setup->classbook);
-@@ -1267,7 +1269,7 @@
- GetBitContext *gb = &vc->gb;
- uint_fast8_t c_p_c = vc->codebooks[vr->classbook].dimensions;
- uint_fast16_t ptns_to_read = vr->ptns_to_read;
-- uint_fast8_t *classifs = vr->classifs;
-+ uint8_t *classifs = vr->classifs;
- uint_fast8_t pass;
- uint_fast8_t ch_used;
- uint_fast8_t i,j,l;
diff --git a/multimedia/mplayer/files/patch-libavutil-x86_cpu.h b/multimedia/mplayer/files/patch-libavutil-x86_cpu.h
index ae3877c1ca02..3b32756f1e97 100644
--- a/multimedia/mplayer/files/patch-libavutil-x86_cpu.h
+++ b/multimedia/mplayer/files/patch-libavutil-x86_cpu.h
@@ -1,6 +1,6 @@
---- libavutil/x86_cpu.h~ 2009-03-19 09:49:47.000000000 -0500
-+++ libavutil/x86_cpu.h 2009-07-24 14:20:58.308327513 -0500
-@@ -69,7 +69,7 @@
+--- ffmpeg/libavutil/x86_cpu.h.orig 2010-10-06 03:26:13.000000000 +0200
++++ ffmpeg/libavutil/x86_cpu.h 2010-11-04 21:01:40.581647958 +0100
+@@ -71,7 +71,7 @@
#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
#define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE))
diff --git a/multimedia/mplayer/files/pkg-message.in b/multimedia/mplayer/files/pkg-message.in
index d0947c0a280a..01696af17ebe 100644
--- a/multimedia/mplayer/files/pkg-message.in
+++ b/multimedia/mplayer/files/pkg-message.in
@@ -6,7 +6,6 @@ It is auto-generated daily and can be found on the project
homepage in the documentation section:
http://www.mplayerhq.hu/design7/info.html#docs
-
===================================================================
MPlayer's system-wide configuration dir is
@@ -18,4 +17,10 @@ your system, you find some examples in
%%DATADIR%%/examples/etc
===================================================================
+If seeking in streams causes the playback volume to be reset to
+the previous setting (on 8.x or newer system with VPC enabled),
+you and you dislike this behaviour, you have two options:
+- Use mplayer's -softvol command line option
+- Set the sysctl hw.snd.vpc_autoreset to 0
+===================================================================