diff options
-rw-r--r-- | Lib/test/test_ossaudiodev.py | 9 | ||||
-rw-r--r-- | Misc/ACKS | 1 | ||||
-rw-r--r-- | Misc/NEWS | 4 | ||||
-rw-r--r-- | Modules/ossaudiodev.c | 8 |
4 files changed, 21 insertions, 1 deletions
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py index dda6137..055ad6c 100644 --- a/Lib/test/test_ossaudiodev.py +++ b/Lib/test/test_ossaudiodev.py @@ -159,6 +159,15 @@ class OSSAudioDevTests(unittest.TestCase): dsp.close() self.assertTrue(dsp.closed) + def test_mixer_methods(self): + # Issue #8139: ossaudiodev didn't initialize its types properly, + # therefore some methods were unavailable. + mixer = ossaudiodev.openmixer() + try: + self.assertGreaterEqual(mixer.fileno(), 0) + finally: + mixer.close() + def test_main(): try: @@ -372,6 +372,7 @@ Ben Jackson David Jacobs Kevin Jacobs Kjetil Jacobsen +Bertrand Janin Geert Jansen Jack Jansen Bill Janssen @@ -287,6 +287,10 @@ C-API Library ------- +- Issue #8139: ossaudiodev didn't initialize its types properly, therefore + some methods (such as oss_mixer_device.fileno()) were not available. + Initial patch by Bertrand Janin. + - Issue #7512: shutil.copystat() could raise an OSError when the filesystem didn't support chflags() (for example ZFS under FreeBSD). The error is now silenced. diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c index 7686902..6654d71 100644 --- a/Modules/ossaudiodev.c +++ b/Modules/ossaudiodev.c @@ -986,11 +986,17 @@ static struct PyModuleDef ossaudiodevmodule = { NULL }; -PyObject* +PyMODINIT_FUNC PyInit_ossaudiodev(void) { PyObject *m; + if (PyType_Ready(&OSSAudioType) < 0) + return NULL; + + if (PyType_Ready(&OSSMixerType) < 0) + return NULL; + m = PyModule_Create(&ossaudiodevmodule); if (m == NULL) return NULL; |