mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
[3.10] bpo-46053: Fix OSS audio support on NetBSD (GH-30065). (GH-95477)
(cherry picked from commit 2e7e3c4c10)
Co-authored-by: Thomas Klausner <tk@giga.or.at>
This commit is contained in:
parent
6765a784a7
commit
ae24962457
3 changed files with 82 additions and 0 deletions
|
|
@ -0,0 +1 @@
|
|||
Fix OSS audio support on NetBSD.
|
||||
|
|
@ -1212,16 +1212,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
|
||||
|
|
@ -1268,46 +1288,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;
|
||||
}
|
||||
|
|
|
|||
3
setup.py
3
setup.py
|
|
@ -1663,6 +1663,9 @@ class PyBuildExt(build_ext):
|
|||
# Platform-specific libraries
|
||||
if HOST_PLATFORM.startswith(('linux', 'freebsd', 'gnukfreebsd')):
|
||||
self.add(Extension('ossaudiodev', ['ossaudiodev.c']))
|
||||
elif HOST_PLATFORM.startswith(('netbsd')):
|
||||
self.add(Extension('ossaudiodev', ['ossaudiodev.c'],
|
||||
libraries=["ossaudio"]))
|
||||
elif not AIX:
|
||||
self.missing.append('ossaudiodev')
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue