FreeBSD Bugzilla – Attachment 184466 Details for
Bug 220822
Missing libatomic.a for clang?
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
testcase: shar of audio/jack port
jack.shar (text/plain), 34.65 KB, created by
Yuri Victorovich
on 2017-07-18 09:03:22 UTC
(
hide
)
Description:
testcase: shar of audio/jack port
Filename:
MIME Type:
Creator:
Yuri Victorovich
Created:
2017-07-18 09:03:22 UTC
Size:
34.65 KB
patch
obsolete
># 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: ># ># audio/jack ># audio/jack/pkg-plist ># audio/jack/Makefile ># audio/jack/distinfo ># audio/jack/pkg-descr ># audio/jack/files ># audio/jack/files/patch-configure.ac ># audio/jack/files/patch-drivers_alsa_memops.c ># audio/jack/files/jackd.in ># audio/jack/files/patch-drivers_oss_oss__driver.c ># audio/jack/files/patch-jack.pc.in ># audio/jack/files/patch-jackd_engine.c ># audio/jack/files/patch-jackd_jackd.c ># audio/jack/files/patch-libjack_client.c ># audio/jack/pkg-message ># >echo c - audio/jack >mkdir -p audio/jack > /dev/null 2>&1 >echo x - audio/jack/pkg-plist >sed 's/^X//' >audio/jack/pkg-plist << '7e1ae47051df17683c6196da755a822f' >X%%ALSA%%bin/alsa_in >X%%ALSA%%bin/alsa_out >Xbin/jack_alias >Xbin/jack_bufsize >Xbin/jack_connect >Xbin/jack_disconnect >Xbin/jack_evmon >Xbin/jack_freewheel >Xbin/jack_impulse_grabber >Xbin/jack_iodelay >Xbin/jack_latent_client >Xbin/jack_load >Xbin/jack_load_test >Xbin/jack_lsp >Xbin/jack_metro >Xbin/jack_midiseq >Xbin/jack_midisine >Xbin/jack_midi_dump >Xbin/jack_monitor_client >Xbin/jack_netsource >Xbin/jack_property >Xbin/jack_rec >Xbin/jack_samplerate >Xbin/jack_session_notify >Xbin/jack_server_control >Xbin/jack_simple_session_client >Xbin/jack_showtime >Xbin/jack_simple_client >X%%READLINE%%bin/jack_transport >Xbin/jack_transport_client >Xbin/jack_unload >Xbin/jack_wait >Xbin/jackd >Xinclude/jack/control.h >Xinclude/jack/intclient.h >Xinclude/jack/jack.h >Xinclude/jack/jslist.h >Xinclude/jack/metadata.h >Xinclude/jack/midiport.h >Xinclude/jack/ringbuffer.h >Xinclude/jack/session.h >Xinclude/jack/statistics.h >Xinclude/jack/thread.h >Xinclude/jack/transport.h >Xinclude/jack/types.h >Xinclude/jack/uuid.h >Xinclude/jack/weakjack.h >Xinclude/jack/weakmacros.h >Xlib/jack/inprocess.so >Xlib/jack/intime.so >X%%ALSA%%lib/jack/jack_alsa.so >X%%ALSA%%lib/jack/jack_alsa_midi.so >Xlib/jack/jack_dummy.so >Xlib/jack/jack_net.so >Xlib/jack/jack_oss.so >X%%SNDIO%%lib/jack/jack_sndio.so >Xlib/libjack.so >Xlib/libjack.so.0 >Xlib/libjack.so.0.0.28 >Xlib/libjackserver.so >Xlib/libjackserver.so.0 >Xlib/libjackserver.so.0.0.28 >Xlibdata/pkgconfig/jack.pc >Xman/man1/alsa_in.1.gz >Xman/man1/alsa_out.1.gz >Xman/man1/jack_bufsize.1.gz >Xman/man1/jack_connect.1.gz >Xman/man1/jack_disconnect.1.gz >Xman/man1/jack_freewheel.1.gz >Xman/man1/jack_impulse_grabber.1.gz >Xman/man1/jack_iodelay.1.gz >Xman/man1/jack_load.1.gz >Xman/man1/jack_load_test.1.gz >Xman/man1/jack_lsp.1.gz >Xman/man1/jack_metro.1.gz >Xman/man1/jack_monitor_client.1.gz >Xman/man1/jack_netsource.1.gz >Xman/man1/jack_property.1.gz >Xman/man1/jack_samplerate.1.gz >Xman/man1/jack_showtime.1.gz >Xman/man1/jack_transport.1.gz >Xman/man1/jack_unload.1.gz >Xman/man1/jack_wait.1.gz >Xman/man1/jackd.1.gz >Xman/man1/jackrec.1.gz >Xman/man1/jackstart.1.gz >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/annotated.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/classes.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/deprecated.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_3e6ff996e0a05d442d13220a8cf7408f.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_d611c2c1e1e252f8153c91ce21a161f9.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.css >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.png >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/files.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/fsm.png >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions_vars.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_defs.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_e.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_enum.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_eval.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_func.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_i.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_j.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_m.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_o.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_p.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_type.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_vars.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_w.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientCallbacks.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientFunctions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientThreads.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ControlAPI.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ErrorOutput.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__JackSessionManagerAPI.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__LatencyFunctions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__MIDIAPI.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__Metadata.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__NonCallbackAPI.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortFunctions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortSearching.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ServerControl.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__SessionClientFunctions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TimeFunctions.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TransportControl.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__WeakLinkage.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/index.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/inprocess_8c.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/mainpage_8dox.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/modules.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/pages.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting-guide.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting_8dox.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/simple__client_8c.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__latency__range.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__midi__event.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__session__event.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__description__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__position__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__property__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__data__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__session__command__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__transport__info__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structport__pair__t.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport-design.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8dox.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h_source.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/unionjackctl__parameter__value.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h.html >X%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h_source.html >7e1ae47051df17683c6196da755a822f >echo x - audio/jack/Makefile >sed 's/^X//' >audio/jack/Makefile << '3b9a40a1b7801eaae4123300369b515a' >X# Created by: Tilman Linneweh <arved@FreeBSD.org> >X# $FreeBSD: head/audio/jack/Makefile 444463 2017-06-27 13:46:53Z sunpoet $ >X >XPORTNAME= jackit >XPORTVERSION= 0.125.0 >XPORTREVISION= 2 >XCATEGORIES= audio >X >XMAINTAINER= multimedia@FreeBSD.org >XCOMMENT= Low latency audio server >X >XLICENSE= GPLv2 LGPL21 >XLICENSE_COMB= multi >X >XLIB_DEPENDS= libsndfile.so:audio/libsndfile \ >X libsamplerate.so:audio/libsamplerate \ >X libcelt0.so:audio/celt \ >X libuuid.so:misc/e2fsprogs-libuuid >X >XUSES= autoreconf gmake pathfix pkgconfig libtool localbase bdb >XUSE_GITHUB= yes >XGH_ACCOUNT= jackaudio >XGH_PROJECT= jack1 >X#GH_TAGNAME= 90f9dd3 >XGH_TAGNAME= 44e2398 >XGH_TUPLE= jackaudio:headers:07f1ecf:h/jack >XGH_TUPLE+= jackaudio:tools:8d13c31:t/tools >XGH_TUPLE+= jackaudio:example-clients:7fa0890:e/example-clients >XUSE_LDCONFIG= yes >XGNU_CONFIGURE= yes >XUSE_RC_SUBR= jackd >X >XCONFIGURE_ARGS= --disable-portaudio \ >X --enable-optimize \ >X --enable-force-install \ >X --with-default-tmpdir=/tmp >X >XCFLAGS+= -I${BDB_INCLUDE_DIR} >XLIBS+= -L${BDB_LIB_DIR} >XINSTALL_TARGET= install-strip >X >XOPTIONS_DEFINE= ALSA DOXYGEN READLINE SNDIO COOKEDMODE >XOPTIONS_DEFINE_i386= DYNSIMD >XOPTIONS_DEFINE_amd64= DYNSIMD >XOPTIONS_DEFAULT= READLINE COOKEDMODE >XOPTIONS_DEFAULT_i386= DYNSIMD >XOPTIONS_DEFAULT_amd64= DYNSIMD >XOPTIONS_SUB= yes >XCOOKEDMODE_DESC= Use OSS COOKEDMODE (OSS driver is broken without it) >XDYNSIMD_DESC= Use dynamic SIMD selection (only i386/amd64) >X >XALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib >XALSA_CONFIGURE_ENABLE= alsa >X >XREADLINE_USES= readline >X >XDOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen >XDOXYGEN_CONFIGURE_ENV_OFF= ac_cv_prog_HAVE_DOXYGEN="false" >X >XREADLINE_CONFIGURE_ENV_OFF= ac_cv_lib_readline_readline=no \ >X ac_cv_header_readline_chardefs_h=no >X >XSNDIO_LIB_DEPENDS= libsndio.so:audio/sndio >XSNDIO_CONFIGURE_ENABLE= sndio >X >XCOOKEDMODE_CFLAGS+= -DOPTION_COOKEDMODE >X >XDYNSIMD_CONFIGURE_ENABLE=dynsimd >X >Xpost-patch: >X @${RM} ${WRKSRC}/doc/reference/html/* >X >Xpost-build: >X @${RM} ${WRKSRC}/doc/reference/html/dir__2F* >X >X.include <bsd.port.mk> >3b9a40a1b7801eaae4123300369b515a >echo x - audio/jack/distinfo >sed 's/^X//' >audio/jack/distinfo << '29c45088cd5229ba3c74dc3ce71d37fd' >XTIMESTAMP = 1500366301 >XSHA256 (jackaudio-jack1-0.125.0-44e2398_GH0.tar.gz) = 6e001c79a7b3f527a60948d155b4539ee5216ffbc39466f80081ce02b3a41bd4 >XSIZE (jackaudio-jack1-0.125.0-44e2398_GH0.tar.gz) = 390604 >XSHA256 (jackaudio-headers-07f1ecf_GH0.tar.gz) = 04a3bb87d278923985ba44045b7a27439c90776cc5d4a6016d062fc7a6aa5023 >XSIZE (jackaudio-headers-07f1ecf_GH0.tar.gz) = 36704 >XSHA256 (jackaudio-tools-8d13c31_GH0.tar.gz) = 23e6bc60c8cef4283677206f2687a408367203a725c091c923f48554ae6e8cc8 >XSIZE (jackaudio-tools-8d13c31_GH0.tar.gz) = 45544 >XSHA256 (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 79e2ac1d38d7d77b1afb71aa97414c339e8c00613a5d9b725861232b5c995223 >XSIZE (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 16174 >29c45088cd5229ba3c74dc3ce71d37fd >echo x - audio/jack/pkg-descr >sed 's/^X//' >audio/jack/pkg-descr << '63ef46924af8eed505668e962560b664' >XJACK is a low latency audio server, written for POSIX-conformant operating >Xsystems. It can connect a number of different applications to an audio >Xdevice, as well as allowing them to share audio between themselves. Its >Xclients can run in their own processes (i.e. as normal applications), or >Xcan they can run within the JACK server (i.e. as a "plugin"). >X >XJACK was designed from the ground up for professional audio work, and its >Xdesign focuses on two key areas: synchronous execution of all clients, and >Xlow latency operation. >X >XWWW: http://jackaudio.org/ >63ef46924af8eed505668e962560b664 >echo c - audio/jack/files >mkdir -p audio/jack/files > /dev/null 2>&1 >echo x - audio/jack/files/patch-configure.ac >sed 's/^X//' >audio/jack/files/patch-configure.ac << '153296a0449acf8101e45df76271906e' >X--- configure.ac.orig 2017-01-10 10:20:51 UTC >X+++ configure.ac >X@@ -172,6 +172,7 @@ case "${host_os}" in >X # barrier code, this may be fixed in 5.3, stay tuned. >X USE_BARRIER="no" >X USE_MD5SUM=0 >X+ JACK_DO_NOT_MLOCK=0 >X ;; >X openbsd*) >X # pthread_barrier* not implemented >153296a0449acf8101e45df76271906e >echo x - audio/jack/files/patch-drivers_alsa_memops.c >sed 's/^X//' >audio/jack/files/patch-drivers_alsa_memops.c << 'd0c959fa29a1ed308c7d8893ab187e48' >X--- drivers/alsa/memops.c.orig 2016-02-23 15:13:53 UTC >X+++ drivers/alsa/memops.c >X@@ -30,7 +30,7 @@ >X #include <stdlib.h> >X #include <stdint.h> >X #include <limits.h> >X-#include <endian.h> >X+#include <sys/endian.h> >X >X #include "memops.h" >X >d0c959fa29a1ed308c7d8893ab187e48 >echo x - audio/jack/files/jackd.in >sed 's/^X//' >audio/jack/files/jackd.in << '9581d2c02de31e740a63a0a19fe5d306' >X#!/bin/sh >X# >X# $FreeBSD: head/audio/jack/files/jackd.in 432054 2017-01-21 15:51:08Z riggs $ >X# >X# PROVIDE: jackd >X# REQUIRE: LOGIN >X# >X# Add the following line to /etc/rc.conf to enable jackd: >X# >X# jackd_enable="YES" >X# >X >X: ${jackd_enable="NO"} >X: ${jackd_user="root"} >X: ${jackd_rtprio="NO"} >X: ${jackd_args="-r -doss -r44100 -p1024 -n3 -w16"} >X >X. /etc/rc.subr >X >Xname=jackd >Xrcvar=jackd_enable >Xprocname=%%PREFIX%%/bin/jackd >Xstart_cmd="start_jackd" >X >Xstart_jackd() { >X echo "Starting ${name}." >X if [ $jackd_rtprio = "YES" ]; then >X local rt="rtprio 1" >X fi >X # log the date and parameters >X echo -e "\n[`date`] Starting the daemon, user=$jackd_user rtprio=$jackd_rtprio args=\"$jackd_args\"" >> /var/log/${name}.log >X # daemon(8) should be able to set the realtime priority, but it isn't >X $rt daemon -p /var/run/${name}.pid -o /var/log/${name}.log -u "${jackd_user}" %%PREFIX%%/bin/jackd ${jackd_args} >X} >X >Xload_rc_config ${name} >Xrun_rc_command "$1" >9581d2c02de31e740a63a0a19fe5d306 >echo x - audio/jack/files/patch-drivers_oss_oss__driver.c >sed 's/^X//' >audio/jack/files/patch-drivers_oss_oss__driver.c << '1949e318932e04f3de18f1ff3c32f2ad' >X--- drivers/oss/oss_driver.c.orig 2017-01-10 10:20:51 UTC >X+++ drivers/oss/oss_driver.c >X@@ -23,6 +23,7 @@ >X >X #include <config.h> >X >X+#define __BSD_VISIBLE 1 >X #ifdef USE_BARRIER >X /* >X * POSIX conformance level should be globally defined somewhere, possibly >X@@ -172,7 +173,9 @@ static void set_period_size (oss_driver_ >X ((double)driver->period_size / >X (double)driver->sample_rate) * 1e6; >X driver->last_wait_ust = 0; >X- driver->last_periodtime = driver->engine->get_microseconds (); >X+ driver->last_periodtime = driver->engine ? >X+ driver->engine->get_microseconds() : >X+ jack_get_microseconds(); >X driver->next_periodtime = 0; >X driver->iodelay = 0.0F; >X } >X@@ -180,7 +183,9 @@ static void set_period_size (oss_driver_ >X >X static inline void update_times (oss_driver_t *driver) >X { >X- driver->last_periodtime = driver->engine->get_microseconds (); >X+ driver->last_periodtime = driver->engine ? >X+ driver->engine->get_microseconds() : >X+ jack_get_microseconds(); >X if (driver->next_periodtime > 0) { >X driver->iodelay = (float) >X ((long double)driver->last_periodtime - >X@@ -211,6 +216,7 @@ static void copy_and_convert_in (jack_sa >X int dstidx; >X signed short *s16src = (signed short*)src; >X signed int *s32src = (signed int*)src; >X+ unsigned char *s24src = (unsigned char *) src; >X double *f64src = (double*)src; >X jack_sample_t scale; >X >X@@ -225,10 +231,13 @@ static void copy_and_convert_in (jack_sa >X } >X break; >X case 24: >X- scale = 1.0f / 0x7fffff; >X+ scale = 1.0f / 0x7fffffff; >X for (dstidx = 0; dstidx < nframes; dstidx++) { >X dst[dstidx] = (jack_sample_t) >X- s32src[srcidx] * scale; >X+ ((signed int)( >X+ (s24src[3 * srcidx + 2] << 24) | >X+ (s24src[3 * srcidx + 1] << 16) | >X+ (s24src[3 * srcidx + 0] << 8))) * scale; >X srcidx += chcount; >X } >X break; >X@@ -256,6 +265,7 @@ static void copy_and_convert_out (void * >X int srcidx; >X int dstidx; >X signed short *s16dst = (signed short*)dst; >X+ unsigned char *s24dst = (unsigned char *) dst; >X signed int *s32dst = (signed int*)dst; >X double *f64dst = (double*)dst; >X jack_sample_t scale; >X@@ -273,12 +283,15 @@ static void copy_and_convert_out (void * >X } >X break; >X case 24: >X- scale = 0x7fffff; >X+ scale = 0x7fffffff; >X for (srcidx = 0; srcidx < nframes; srcidx++) { >X- s32dst[dstidx] = (signed int) >X- (src[srcidx] >= 0.0f) ? >X- (src[srcidx] * scale + 0.5f) : >X- (src[srcidx] * scale - 0.5f); >X+ signed int sample = >X+ (src[srcidx] >= 0.0f) ? >X+ (src[srcidx] * scale + 0.5f) : >X+ (src[srcidx] * scale - 0.5f) ; >X+ s24dst[3*dstidx + 2] = sample >> 24; >X+ s24dst[3*dstidx + 1] = sample >> 16; >X+ s24dst[3*dstidx + 0] = sample >> 8; >X dstidx += chcount; >X } >X break; >X@@ -429,7 +442,11 @@ static int oss_driver_detach (oss_driver >X >X static int oss_driver_start (oss_driver_t *driver) >X { >X- int flags = 0; >X+#if defined(OPTION_COOKEDMODE) >X+ int cookedmode = 1; >X+#else >X+ int cookedmode = 0; >X+#endif >X int format; >X int channels; >X int samplerate; >X@@ -441,19 +458,7 @@ static int oss_driver_start (oss_driver_ >X const char *indev = driver->indev; >X const char *outdev = driver->outdev; >X >X- switch (driver->bits) { >X- case 24: >X- case 32: >X- samplesize = sizeof(int); >X- break; >X- case 64: >X- samplesize = sizeof(double); >X- break; >X- case 16: >X- default: >X- samplesize = sizeof(short); >X- break; >X- } >X+ samplesize = driver->bits / 8; >X driver->trigger = 0; >X if (strcmp (indev, outdev) != 0) { >X if (driver->capture_channels > 0) { >X@@ -464,7 +469,7 @@ static int oss_driver_start (oss_driver_ >X indev, __FILE__, __LINE__, errno); >X } >X #ifndef OSS_NO_COOKED_MODE >X- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >X+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >X #endif >X fragsize = driver->period_size * >X driver->capture_channels * samplesize; >X@@ -479,7 +484,7 @@ static int oss_driver_start (oss_driver_ >X outdev, __FILE__, __LINE__, errno); >X } >X #ifndef OSS_NO_COOKED_MODE >X- ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags); >X+ ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >X #endif >X fragsize = driver->period_size * >X driver->playback_channels * samplesize; >X@@ -497,7 +502,7 @@ static int oss_driver_start (oss_driver_ >X return -1; >X } >X #ifndef OSS_NO_COOKED_MODE >X- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >X+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >X #endif >X } else if (driver->capture_channels == 0 && >X driver->playback_channels != 0) { >X@@ -510,7 +515,7 @@ static int oss_driver_start (oss_driver_ >X return -1; >X } >X #ifndef OSS_NO_COOKED_MODE >X- ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags); >X+ ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >X #endif >X } else { >X infd = outfd = open (indev, O_RDWR | O_EXCL); >X@@ -521,7 +526,7 @@ static int oss_driver_start (oss_driver_ >X return -1; >X } >X #ifndef OSS_NO_COOKED_MODE >X- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >X+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >X #endif >X } >X if (infd >= 0 && outfd >= 0) { >X@@ -705,7 +710,9 @@ static int oss_driver_start (oss_driver_ >X sem_post (&driver->sem_start); >X } >X >X- driver->last_periodtime = driver->engine->get_microseconds (); >X+ driver->last_periodtime = driver->engine ? >X+ driver->engine->get_microseconds() : >X+ jack_get_microseconds(); >X driver->next_periodtime = 0; >X driver->iodelay = 0.0F; >X >X@@ -1143,6 +1150,23 @@ jack_driver_t * driver_initialize (jack_ >X pnode = jack_slist_next (pnode); >X } >X >X+ switch (bits) >X+ { >X+ case 16: /* native-endian 16-bit integer */ >X+ driver->format = AFMT_S16_NE; >X+ break; >X+ case 24: /* little-endian 24-bit integer */ >X+ driver->format = AFMT_S24_LE; >X+ break; >X+ case 32: /* native-endian 32-bit integer */ >X+ driver->format = AFMT_S32_NE; >X+ break; >X+ default: >X+ free(driver); >X+ jack_error("OSS: invalid number of bits: %d", >X+ __FILE__, __LINE__, bits); >X+ return NULL; >X+ } >X driver->sample_rate = sample_rate; >X driver->period_size = period_size; >X driver->nperiods = nperiods; >X@@ -1163,58 +1187,6 @@ jack_driver_t * driver_initialize (jack_ >X } >X driver->infd = -1; >X driver->outfd = -1; >X- switch (driver->bits) { >X-# ifndef OSS_ENDIAN >X-# ifdef __GNUC__ >X-# if (defined(__i386__) || defined(__alpha__) || defined(__arm__) || defined(__x86_64__) || (defined(__sh__) && !defined(__LITTLE_ENDIAN__))) >X-# define OSS_LITTLE_ENDIAN 1234 >X-# define OSS_ENDIAN OSS_LITTLE_ENDIAN >X-# else >X-# define OSS_BIG_ENDIAN 4321 >X-# define OSS_ENDIAN OSS_BIG_ENDIAN >X-# endif >X-# else /* __GNUC__ */ >X-# if (defined(_AIX) || defined(AIX) || defined(sparc) || defined(__hppa) || defined(PPC) || defined(__powerpc__) && !defined(i386) && !defined(__i386) && !defined(__i386__)) >X-# define OSS_BIG_ENDIAN 4321 >X-# define OSS_ENDIAN OSS_BIG_ENDIAN >X-# else >X-# define OSS_LITTLE_ENDIAN 1234 >X-# define OSS_ENDIAN OSS_LITTLE_ENDIAN >X-# endif >X-# endif /* __GNUC__ */ >X-# endif /* OSS_ENDIAN */ >X-# if (OSS_ENDIAN == 1234) >X- /* little-endian architectures */ >X- case 24: /* little-endian LSB aligned 24-bits in 32-bits integer */ >X- driver->format = 0x00008000; >X- break; >X- case 32: /* little-endian 32-bit integer */ >X- driver->format = 0x00001000; >X- break; >X- case 64: /* native-endian 64-bit float */ >X- driver->format = 0x00004000; >X- break; >X- case 16: /* little-endian 16-bit integer */ >X- default: >X- driver->format = 0x00000010; >X- break; >X- /* big-endian architectures */ >X-# else >X- case 24: /* big-endian LSB aligned 24-bits in 32-bits integer */ >X- break; >X- driver->format = 0x00010000; >X- case 32: /* big-endian 32-bit integer */ >X- driver->format = 0x00002000; >X- break; >X- case 64: /* native-endian 64-bit float */ >X- driver->format = 0x00004000; >X- break; >X- case 16: /* big-endian 16-bit integer */ >X- default: >X- driver->format = 0x00000020; >X-# endif >X- } >X- >X driver->indevbuf = driver->outdevbuf = NULL; >X >X driver->capture_ports = NULL; >1949e318932e04f3de18f1ff3c32f2ad >echo x - audio/jack/files/patch-jack.pc.in >sed 's/^X//' >audio/jack/files/patch-jack.pc.in << 'e5b45db808792715408750a2fe315ca2' >X--- jack.pc.in.orig 2013-10-04 00:45:25 UTC >X+++ jack.pc.in >X@@ -6,5 +6,5 @@ includedir=@includedir@ >X Name: jack >X Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server >X Version: @JACK_VERSION@ >X-Libs: -L${libdir} -ljack -lpthread @OS_LDFLAGS@ >X+Libs: -L${libdir} -ljack -pthread >X Cflags: -I${includedir} >e5b45db808792715408750a2fe315ca2 >echo x - audio/jack/files/patch-jackd_engine.c >sed 's/^X//' >audio/jack/files/patch-jackd_engine.c << 'd3342a088f452a7d40d63695edfe9cd6' >X--- jackd/engine.c.orig 2016-09-14 17:41:53 UTC >X+++ jackd/engine.c >X@@ -1435,7 +1435,7 @@ handle_external_client_request (jack_eng >X if ((r = read (client->request_fd, &req, sizeof(req))) >X < (ssize_t)sizeof(req)) { >X if (r == 0) { >X-#if defined(JACK_USE_MACH_THREADS) || defined(__OpenBSD__) >X+#if 1 >X /* poll is implemented using >X select (see the macosx/fakepoll >X code). When the socket is closed >d3342a088f452a7d40d63695edfe9cd6 >echo x - audio/jack/files/patch-jackd_jackd.c >sed 's/^X//' >audio/jack/files/patch-jackd_jackd.c << '08dc9c57d1e1bd985d2531d05e719dac' >X--- jackd/jackd.c.orig 2017-07-17 17:10:09 UTC >X+++ jackd/jackd.c >X@@ -521,11 +521,17 @@ jack_drivers_load () >X >X static void copyright (FILE* file) >X { >X- fprintf (file, "jackd " VERSION "\n" >X+ fprintf (file, "jackd " VERSION " (COOKEDMODE=%s)\n" >X "Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.\n" >X "jackd comes with ABSOLUTELY NO WARRANTY\n" >X "This is free software, and you are welcome to redistribute it\n" >X- "under certain conditions; see the file COPYING for details\n\n"); >X+ "under certain conditions; see the file COPYING for details\n\n", >X+#if defined(OPTION_COOKEDMODE) >X+ "on" >X+#else >X+ "off" >X+#endif >X+ ); >X } >X >X static void usage (FILE *file) >08dc9c57d1e1bd985d2531d05e719dac >echo x - audio/jack/files/patch-libjack_client.c >sed 's/^X//' >audio/jack/files/patch-libjack_client.c << '4eb25287571376892c4e40a2f9d0b960' >X--- libjack/client.c.orig 2017-01-10 10:20:51 UTC >X+++ libjack/client.c >X@@ -68,6 +68,30 @@ >X static pthread_mutex_t client_lock; >X static pthread_cond_t client_ready; >X >X+/* >X+ * The following read/write wrappers handle the case of interruption >X+ * by system signals: >X+ */ >X+static int >X+read_retry(int fd, void *dst, int size) >X+{ >X+ int error; >X+ do { >X+ error = read(fd, dst, size); >X+ } while (error == -1 && errno == EINTR); >X+ return (error); >X+} >X+ >X+static int >X+write_retry(int fd, const void *src, int size) >X+{ >X+ int error; >X+ do { >X+ error = write(fd, src, size); >X+ } while (error == -1 && errno == EINTR); >X+ return (error); >X+} >X+ >X static int >X jack_client_close_aux(jack_client_t *client); >X >X@@ -251,7 +275,7 @@ oop_client_deliver_request (void *ptr, j >X int wok, rok; >X jack_client_t *client = (jack_client_t*)ptr; >X >X- wok = (write (client->request_fd, req, sizeof(*req)) >X+ wok = (write_retry (client->request_fd, req, sizeof(*req)) >X == sizeof(*req)); >X >X /* if necessary, add variable length key data after a PropertyChange request >X@@ -259,7 +283,7 @@ oop_client_deliver_request (void *ptr, j >X >X if (req->type == PropertyChangeNotify) { >X if (req->x.property.keylen) { >X- if (write (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { >X+ if (write_retry (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { >X jack_error ("cannot send property key of length %d to server", >X req->x.property.keylen); >X req->status = -1; >X@@ -268,7 +292,7 @@ oop_client_deliver_request (void *ptr, j >X } >X } >X >X- rok = (read (client->request_fd, req, sizeof(*req)) >X+ rok = (read_retry (client->request_fd, req, sizeof(*req)) >X == sizeof(*req)); >X >X if (wok && rok) { /* everything OK? */ >X@@ -837,14 +861,14 @@ server_event_connect (jack_client_t *cli >X >X jack_uuid_copy (&req.client_id, client->control->uuid); >X >X- if (write (fd, &req, sizeof(req)) != sizeof(req)) { >X- jack_error ("cannot write event connect request to server (%s)", >X+ if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) { >X+ jack_error ("cannot write_retry event connect request to server (%s)", >X strerror (errno)); >X close (fd); >X return -1; >X } >X >X- if (read (fd, &res, sizeof(res)) != sizeof(res)) { >X+ if (read_retry (fd, &res, sizeof(res)) != sizeof(res)) { >X jack_error ("cannot read event connect result from server (%s)", >X strerror (errno)); >X close (fd); >X@@ -1109,14 +1133,14 @@ jack_request_client (ClientType type, >X snprintf (req.object_data, sizeof(req.object_data), >X "%s", va->load_init); >X >X- if (write (*req_fd, &req, sizeof(req)) != sizeof(req)) { >X+ if (write_retry (*req_fd, &req, sizeof(req)) != sizeof(req)) { >X jack_error ("cannot send request to jack server (%s)", >X strerror (errno)); >X *status |= (JackFailure | JackServerError); >X goto fail; >X } >X >X- if (read (*req_fd, res, sizeof(*res)) != sizeof(*res)) { >X+ if (read_retry (*req_fd, res, sizeof(*res)) != sizeof(*res)) { >X >X if (errno == 0) { >X /* server shut the socket */ >X@@ -1512,7 +1536,7 @@ jack_internal_client_close (const char * >X return; >X } >X >X- if (write (fd, &req, sizeof(req)) != sizeof(req)) { >X+ if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) { >X jack_error ("cannot deliver ClientUnload request to JACK " >X "server."); >X } >X@@ -1648,7 +1672,7 @@ jack_session_notify (jack_client_t* clie >X >X request.x.session.type = code; >X >X- if ( (write (client->request_fd, &request, sizeof(request)) >X+ if ( (write_retry (client->request_fd, &request, sizeof(request)) >X != sizeof(request)) ) { >X jack_error ("cannot send request type %d to server", >X request.type); >X@@ -1658,7 +1682,7 @@ jack_session_notify (jack_client_t* clie >X while ( 1 ) { >X jack_uuid_t uid; >X >X- if (read (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) { >X+ if (read_retry (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) { >X jack_error ("cannot read result for request type %d from" >X " server (%s)", request.type, strerror (errno)); >X goto out; >X@@ -1680,19 +1704,19 @@ jack_session_notify (jack_client_t* clie >X break; >X } >X >X- if (read (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE) >X+ if (read_retry (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE) >X != JACK_CLIENT_NAME_SIZE) { >X jack_error ("cannot read result for request type %d from" >X " server (%s)", request.type, strerror (errno)); >X goto out; >X } >X- if (read (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE) >X+ if (read_retry (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE) >X != JACK_PORT_NAME_SIZE) { >X jack_error ("cannot read result for request type %d from" >X " server (%s)", request.type, strerror (errno)); >X goto out; >X } >X- if (read (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) ) >X+ if (read_retry (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) ) >X != sizeof(retval[num_replies - 1].flags) ) { >X jack_error ("cannot read result for request type %d from" >X " server (%s)", request.type, strerror (errno)); >X@@ -1811,7 +1835,7 @@ jack_client_process_events (jack_client_ >X /* server has sent us an event. process the >X * event and reply */ >X >X- if (read (client->event_fd, &event, sizeof(event)) >X+ if (read_retry (client->event_fd, &event, sizeof(event)) >X != sizeof(event)) { >X jack_error ("cannot read server event (%s)", >X strerror (errno)); >X@@ -1821,7 +1845,7 @@ jack_client_process_events (jack_client_ >X if (event.type == PropertyChange) { >X if (event.y.key_size) { >X key = (char*)malloc (event.y.key_size); >X- if (read (client->event_fd, key, event.y.key_size) != >X+ if (read_retry (client->event_fd, key, event.y.key_size) != >X event.y.key_size) { >X jack_error ("cannot read property change key (%s)", >X strerror (errno)); >X@@ -1940,7 +1964,7 @@ jack_client_process_events (jack_client_ >X DEBUG ("client has dealt with the event, writing " >X "response on event fd"); >X >X- if (write (client->event_fd, &status, sizeof(status)) >X+ if (write_retry (client->event_fd, &status, sizeof(status)) >X != sizeof(status)) { >X jack_error ("cannot send event response to " >X "engine (%s)", strerror (errno)); >X@@ -1960,7 +1984,7 @@ jack_wake_next_client (jack_client_t* cl >X int pret = 0; >X char c = 0; >X >X- if (write (client->graph_next_fd, &c, sizeof(c)) >X+ if (write_retry (client->graph_next_fd, &c, sizeof(c)) >X != sizeof(c)) { >X DEBUG ("cannot write byte to fd %d", client->graph_next_fd); >X jack_error ("cannot continue execution of the " >X@@ -1988,7 +2012,7 @@ jack_wake_next_client (jack_client_t* cl >X } >X >X if (pret > 0 && (pfds[0].revents & POLLIN)) { >X- if (read (client->graph_wait_fd, &c, sizeof(c)) >X+ if (read_retry (client->graph_wait_fd, &c, sizeof(c)) >X != sizeof(c)) { >X jack_error ("cannot complete execution of the " >X "processing graph (%s)", strerror (errno)); >4eb25287571376892c4e40a2f9d0b960 >echo x - audio/jack/pkg-message >sed 's/^X//' >audio/jack/pkg-message << 'c76db8369b20d5dcb93d2586aaa09a13' >X====================================================================== >XIt is recommended to run Jack with real-time priority (-R). >X >XThe recommended way to start Jack is to add the following >Xlines to /etc/rc.conf: >X >Xjackd_enable="YES" >Xjackd_user="{your-jack-user}" >Xjackd_rtprio="YES" >Xjackd_args="-R -doss -r{sample-rate} -p1024 -n3 -w16 \ >X --capture /dev/dsp{N} --playback /dev/dsp{N}" >X >XWhere: >X- your-jack-user: is the user who is going to use jack; currently >X only one user is supported >X- sample-rate: can be 44100, 48000, etc. >X- /dev/dsp{N}: your OSS devices, usually /dev/dsp0 >X >XPlease note that the port option COOKEDMODE is "on" by default, which >Xmakes your system to automatically scale the sample-rate between >XJack and audio hardware. One reason COOKEDMODE=on is because >XJack's OSS driver doesn't support some sample-rate and hardware >Xcombinations when COOKEDMODE=off. To achieve the best sound quality >Xplease make sure your hardware natively supports the sample-rate set >Xin jackd_args, and set COOKEDMODE=off. >X====================================================================== >c76db8369b20d5dcb93d2586aaa09a13 >exit >
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 Raw
Actions:
View
Attachments on
bug 220822
: 184466