FreeBSD Bugzilla – Attachment 138033 Details for
Bug 183861
[patch] audio/alsa-plugins: always use ARIFF_OSS by default, again
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
oss_options.diff
oss_options.diff (text/plain), 4.43 KB, created by
Jan Beich
on 2013-11-11 14:40:00 UTC
(
hide
)
Description:
oss_options.diff
Filename:
MIME Type:
Creator:
Jan Beich
Created:
2013-11-11 14:40:00 UTC
Size:
4.43 KB
patch
obsolete
>Index: UPDATING >=================================================================== >--- UPDATING (revision 333423) >+++ UPDATING (working copy) >@@ -2008,7 +2008,7 @@ you update your ports collection, before attemptin > > When using Firefox or SeaMonkey compiled with ALSA option ON it may > crash on assert in alsa_refill_stream as described in ports/170473. >- To workaround disable ARIFF_OSS in audio/alsa-plugins or use PULSEAUDIO. >+ To workaround enable BUFSZ_P2 in audio/alsa-plugins or use PULSEAUDIO. > > 20121010: > AFFECTS: users of CURRENT (OSVERSION >= 1000017) >Index: audio/alsa-plugins/Makefile >=================================================================== >--- audio/alsa-plugins/Makefile (revision 333423) >+++ audio/alsa-plugins/Makefile (working copy) >@@ -17,17 +17,38 @@ USE_BZIP2= yes > GNU_CONFIGURE= yes > USES= pkgconfig > LDFLAGS+= -L${LOCALBASE}/lib >+EXTRA_PATCHES+= ${FILESDIR}/alsa-plugins.patch > >-OPTIONS_DEFINE= ARIFF_OSS JACK FFMPEG PULSEAUDIO SAMPLERATE SPEEX >+OPTIONS_DEFAULT=BUFSZ_P2 IO_PTR >+OPTIONS_DEFINE= JACK FFMPEG PULSEAUDIO SAMPLERATE SPEEX > OPTIONS_SUB= ${OPTIONS_DEFINE} >-ARIFF_OSS_DESC= FreeBSD-specific OSS plugin > >+OPTIONS_GROUP= OSS >+OPTIONS_GROUP_OSS=IO_PTR BLKCNT_P2 BUFSZ_P2 VERBOSE >+ >+IO_PTR_DESC= Precise playback/recording pointer >+BLKCNT_P2_DESC= Restrict number of fragments to ^2 aligned >+BUFSZ_P2_DESC= Restrict buffer size to ^2 aligned (breaks aplay) >+VERBOSE_DESC= Print debugging messages >+ > .include <bsd.port.options.mk> > >-.if ${PORT_OPTIONS:MARIFF_OSS} >-EXTRA_PATCHES+= ${FILESDIR}/alsa-plugins.patch >+.if ${PORT_OPTIONS:MIO_PTR} >+CFLAGS+= -DFREEBSD_OSS_USE_IO_PTR > .endif > >+.if ${PORT_OPTIONS:MBLKCNT_P2} >+CFLAGS+= -DFREEBSD_OSS_BLKCNT_P2 >+.endif >+ >+.if ${PORT_OPTIONS:MBUFSZ_P2} >+CFLAGS+= -DFREEBSD_OSS_BUFSZ_P2 >+.endif >+ >+.if ${PORT_OPTIONS:MVERBOSE} >+CFLAGS+= -DFREEBSD_OSS_DEBUG_VERBOSE >+.endif >+ > .if ${PORT_OPTIONS:MJACK} > .if empty(PORT_OPTIONS:MSAMPLERATE) > IGNORE= JACK audio support requires SAMPLERATE >Index: audio/alsa-plugins/files/alsa-plugins.patch >=================================================================== >--- audio/alsa-plugins/files/alsa-plugins.patch (revision 333423) >+++ audio/alsa-plugins/files/alsa-plugins.patch (working copy) >@@ -42,7 +42,7 @@ > oss->ext.private_data = oss; > --- oss/pcm_oss.c.orig 2009-08-31 21:09:41.000000000 +0800 > +++ oss/pcm_oss.c 2009-09-28 14:54:12.000000000 +0800 >-@@ -22,17 +22,55 @@ >+@@ -22,17 +22,48 @@ > #include <sys/ioctl.h> > #include <alsa/asoundlib.h> > #include <alsa/pcm_external.h> >@@ -54,18 +54,11 @@ > +#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x))) > + > +#ifdef __FreeBSD__ >-+/* #define FREEBSD_OSS_USE_IO_PTR 1 */ >-+/* #define FREEBSD_OSS_BLKCNT_P2 1 */ >-+/* #define FREEBSD_OSS_DEBUG_VERBOSE 1 */ >-+#undef FREEBSD_OSS_USE_IO_PTR /* _IPTR is buggy ... Grr... */ >-+#undef FREEBSD_OSS_BLKCNT_P2 >-+#undef FREEBSD_OSS_DEBUG_VERBOSE >-+ > +#define FREEBSD_OSS_RATE_MIN 1 > +#define FREEBSD_OSS_RATE_MAX 384000 > + > +#define FREEBSD_OSS_CHANNELS_MIN 1 >-+#if __FreeBSD_version >= 800096 >++#ifndef __DragonFly__ > +#define FREEBSD_OSS_CHANNELS_MAX 8 > +#else > +#define FREEBSD_OSS_CHANNELS_MAX 2 >@@ -73,7 +66,7 @@ > + > +#define FREEBSD_OSS_BUFSZ_MAX 131072 > +#define FREEBSD_OSS_BLKCNT_MIN 2 >-+#define FREEBSD_OSS_BLKSZ_MIN 16 /* (FREEBSD_OSS_CHANNEL_MAX * 4) */ >++#define FREEBSD_OSS_BLKSZ_MIN 16 /* (FREEBSD_OSS_CHANNELS_MAX * 4) */ > + > +#define FREEBSD_OSS_BUFSZ_MIN (FREEBSD_OSS_BLKCNT_MIN * FREEBSD_OSS_BLKSZ_MIN) > +#define FREEBSD_OSS_BLKCNT_MAX (FREEBSD_OSS_BUFSZ_MAX / FREEBSD_OSS_BUFSZ_MIN) >@@ -461,7 +454,7 @@ > > if ((flags = fcntl(oss->fd, F_GETFL)) < 0) { > err = -errno; >-@@ -229,10 +530,128 @@ >+@@ -229,10 +530,146 @@ > return 0; > } > >@@ -478,6 +471,9 @@ > +#ifdef FREEBSD_OSS_BLKCNT_P2 > + unsigned int period_list[30]; > +#endif >++#ifdef FREEBSD_OSS_BUFSZ_P2 >++ unsigned int bufsz_list[30]; >++#endif > + unsigned int nformats; > + unsigned int format[ARRAY_SIZE(oss_formats_tab)]; > +#if 0 >@@ -580,6 +576,21 @@ > + if (err < 0) > + return err; > + >++#ifdef FREEBSD_OSS_BUFSZ_P2 >++ tmp = 0; >++ for (i = 1; i < 31 && tmp < ARRAY_SIZE(bufsz_list); i++) { >++ if ((1 << i) > FREEBSD_OSS_BUFSZ_MAX) >++ break; >++ if ((1 << i) < FREEBSD_OSS_BUFSZ_MIN) >++ continue; >++ bufsz_list[tmp++] = 1 << i; >++ } >++ >++ if (tmp > 0) >++ err = snd_pcm_ioplug_set_param_list(io, >++ SND_PCM_IOPLUG_HW_BUFFER_BYTES, tmp, bufsz_list); >++ else >++#endif > + /* buffer size , not strictly ^2 */ > + err = snd_pcm_ioplug_set_param_minmax(io, > + SND_PCM_IOPLUG_HW_BUFFER_BYTES, FREEBSD_OSS_BUFSZ_MIN,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 183861
: 138033