GNOME Bugzilla – Bug 559583
Swift synthesis driver causes Python client to get "TypeError: could not demarshal return value" on call to getAllVoices
Last modified: 2008-11-16 16:34:23 UTC
Python clients connecting to the gnome-speech driver for the Cepstral Swift 5.1.0 and 4.2.1 engines end up getting a "TypeError: could not demarshal return value" on a call to the driver's getAllVoices method. The same call in from C clients does not result in the same problem.
Created attachment 122092 [details] Simple app to reproduct This Python app reproduces the problem. To do the same with C, use the gnome-speech test-speech application.
> Simple app to reproduct I'm pretty sure I wrote "Simple app to reproduce the problem", but I guess I didn't. :-(
Created attachment 122115 [details] [review] Patch to remedy the problem The problem boils down to the Cepstral voices using varying upper/lower cases for the gender string and the fact that the driver was setting the gender to -1, which is an illegal value. This patch changes the swift gender string to lower case before doing a string compare and also defaults the value to male if the gender string is neither "male" nor "female". Mental note to self - make a new release before the next GNOME 2.24.x deadline.
New gnome-speech 0.4.22 release made. Closing this as FIXED.