Skip to content

bpo-46053: Fix OSS audio support on NetBSD #30065

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Do not use POSIX semaphores on NetBSD
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix OSS audio support on NetBSD.
78 changes: 78 additions & 0 deletions Modules/ossaudiodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1219,16 +1219,36 @@ PyInit_ossaudiodev(void)

/* Expose all the ioctl numbers for masochists who like to do this
stuff directly. */
#ifdef SNDCTL_COPR_HALT
_EXPORT_INT(m, SNDCTL_COPR_HALT);
#endif
#ifdef SNDCTL_COPR_LOAD
_EXPORT_INT(m, SNDCTL_COPR_LOAD);
#endif
#ifdef SNDCTL_COPR_RCODE
_EXPORT_INT(m, SNDCTL_COPR_RCODE);
#endif
#ifdef SNDCTL_COPR_RCVMSG
_EXPORT_INT(m, SNDCTL_COPR_RCVMSG);
#endif
#ifdef SNDCTL_COPR_RDATA
_EXPORT_INT(m, SNDCTL_COPR_RDATA);
#endif
#ifdef SNDCTL_COPR_RESET
_EXPORT_INT(m, SNDCTL_COPR_RESET);
#endif
#ifdef SNDCTL_COPR_RUN
_EXPORT_INT(m, SNDCTL_COPR_RUN);
#endif
#ifdef SNDCTL_COPR_SENDMSG
_EXPORT_INT(m, SNDCTL_COPR_SENDMSG);
#endif
#ifdef SNDCTL_COPR_WCODE
_EXPORT_INT(m, SNDCTL_COPR_WCODE);
#endif
#ifdef SNDCTL_COPR_WDATA
_EXPORT_INT(m, SNDCTL_COPR_WDATA);
#endif
#ifdef SNDCTL_DSP_BIND_CHANNEL
_EXPORT_INT(m, SNDCTL_DSP_BIND_CHANNEL);
#endif
Expand Down Expand Up @@ -1271,46 +1291,104 @@ PyInit_ossaudiodev(void)
_EXPORT_INT(m, SNDCTL_DSP_STEREO);
_EXPORT_INT(m, SNDCTL_DSP_SUBDIVIDE);
_EXPORT_INT(m, SNDCTL_DSP_SYNC);
#ifdef SNDCTL_FM_4OP_ENABLE
_EXPORT_INT(m, SNDCTL_FM_4OP_ENABLE);
#endif
#ifdef SNDCTL_FM_LOAD_INSTR
_EXPORT_INT(m, SNDCTL_FM_LOAD_INSTR);
#endif
#ifdef SNDCTL_MIDI_INFO
_EXPORT_INT(m, SNDCTL_MIDI_INFO);
#endif
#ifdef SNDCTL_MIDI_MPUCMD
_EXPORT_INT(m, SNDCTL_MIDI_MPUCMD);
#endif
#ifdef SNDCTL_MIDI_MPUMODE
_EXPORT_INT(m, SNDCTL_MIDI_MPUMODE);
#endif
#ifdef SNDCTL_MIDI_PRETIME
_EXPORT_INT(m, SNDCTL_MIDI_PRETIME);
#endif
#ifdef SNDCTL_SEQ_CTRLRATE
_EXPORT_INT(m, SNDCTL_SEQ_CTRLRATE);
#endif
#ifdef SNDCTL_SEQ_GETINCOUNT
_EXPORT_INT(m, SNDCTL_SEQ_GETINCOUNT);
#endif
#ifdef SNDCTL_SEQ_GETOUTCOUNT
_EXPORT_INT(m, SNDCTL_SEQ_GETOUTCOUNT);
#endif
#ifdef SNDCTL_SEQ_GETTIME
_EXPORT_INT(m, SNDCTL_SEQ_GETTIME);
#endif
#ifdef SNDCTL_SEQ_NRMIDIS
_EXPORT_INT(m, SNDCTL_SEQ_NRMIDIS);
#endif
#ifdef SNDCTL_SEQ_NRSYNTHS
_EXPORT_INT(m, SNDCTL_SEQ_NRSYNTHS);
#endif
#ifdef SNDCTL_SEQ_OUTOFBAND
_EXPORT_INT(m, SNDCTL_SEQ_OUTOFBAND);
#endif
#ifdef SNDCTL_SEQ_PANIC
_EXPORT_INT(m, SNDCTL_SEQ_PANIC);
#endif
#ifdef SNDCTL_SEQ_PERCMODE
_EXPORT_INT(m, SNDCTL_SEQ_PERCMODE);
#endif
#ifdef SNDCTL_SEQ_RESET
_EXPORT_INT(m, SNDCTL_SEQ_RESET);
#endif
#ifdef SNDCTL_SEQ_RESETSAMPLES
_EXPORT_INT(m, SNDCTL_SEQ_RESETSAMPLES);
#endif
#ifdef SNDCTL_SEQ_SYNC
_EXPORT_INT(m, SNDCTL_SEQ_SYNC);
#endif
#ifdef SNDCTL_SEQ_TESTMIDI
_EXPORT_INT(m, SNDCTL_SEQ_TESTMIDI);
#endif
#ifdef SNDCTL_SEQ_THRESHOLD
_EXPORT_INT(m, SNDCTL_SEQ_THRESHOLD);
#endif
#ifdef SNDCTL_SYNTH_CONTROL
_EXPORT_INT(m, SNDCTL_SYNTH_CONTROL);
#endif
#ifdef SNDCTL_SYNTH_ID
_EXPORT_INT(m, SNDCTL_SYNTH_ID);
#endif
#ifdef SNDCTL_SYNTH_INFO
_EXPORT_INT(m, SNDCTL_SYNTH_INFO);
#endif
#ifdef SNDCTL_SYNTH_MEMAVL
_EXPORT_INT(m, SNDCTL_SYNTH_MEMAVL);
#endif
#ifdef SNDCTL_SYNTH_REMOVESAMPLE
_EXPORT_INT(m, SNDCTL_SYNTH_REMOVESAMPLE);
#endif
#ifdef SNDCTL_TMR_CONTINUE
_EXPORT_INT(m, SNDCTL_TMR_CONTINUE);
#endif
#ifdef SNDCTL_TMR_METRONOME
_EXPORT_INT(m, SNDCTL_TMR_METRONOME);
#endif
#ifdef SNDCTL_TMR_SELECT
_EXPORT_INT(m, SNDCTL_TMR_SELECT);
#endif
#ifdef SNDCTL_TMR_SOURCE
_EXPORT_INT(m, SNDCTL_TMR_SOURCE);
#endif
#ifdef SNDCTL_TMR_START
_EXPORT_INT(m, SNDCTL_TMR_START);
#endif
#ifdef SNDCTL_TMR_STOP
_EXPORT_INT(m, SNDCTL_TMR_STOP);
#endif
#ifdef SNDCTL_TMR_TEMPO
_EXPORT_INT(m, SNDCTL_TMR_TEMPO);
#endif
#ifdef SNDCTL_TMR_TIMEBASE
_EXPORT_INT(m, SNDCTL_TMR_TIMEBASE);
#endif
return m;
}
10 changes: 9 additions & 1 deletion configure

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 8 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3553,6 +3553,12 @@ AS_VAR_IF([have_nis], [yes], [
])
])

dnl On NetBSD, when using OSS audio, you need to link against libossaudio
AS_CASE([$ac_sys_system],
[NetBSD*], [OSSAUDIODEV_LIBS="-lossaudio"],
[OSSAUDIODEV_LIBS=""]
)

dnl Check for SQLite library. Use pkg-config if available.
PKG_CHECK_MODULES(
[LIBSQLITE3], [sqlite3 >= 3.7.15], [], [
Expand Down Expand Up @@ -6786,7 +6792,8 @@ PY_STDLIB_MOD([_socket],
dnl platform specific extensions
PY_STDLIB_MOD([grp], [], [test "$ac_cv_func_getgrgid" = yes -o "$ac_cv_func_getgrgid_r" = yes])
PY_STDLIB_MOD([ossaudiodev],
[], [test "$ac_cv_header_linux_soundcard_h" = yes -o "$ac_cv_header_sys_soundcard_h" = yes])
[], [test "$ac_cv_header_linux_soundcard_h" = yes -o "$ac_cv_header_sys_soundcard_h" = yes],
[], [$OSSAUDIODEV_LIBS])
PY_STDLIB_MOD([pwd], [], [test "$ac_cv_func_getpwuid" = yes -o "$ac_cv_func_getpwuid_r" = yes])
PY_STDLIB_MOD([resource], [], [test "$ac_cv_header_sys_resource_h" = yes])
PY_STDLIB_MOD([_scproxy],
Expand Down
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy