[Python-es] Threads con operaciones I/O en Python
Pepe Aracil
pepe en diselpro.com
Vie Jul 2 14:33:10 CEST 2010
Si tienes algun problema con el wrapper para speex, yo he hecho un
wrapper para el codec GSM con ctypes.
<code>
from ctypes import *
class Gsm():
def __init__(self):
self._libgsm = CDLL("libgsm.so.1")
self._gsmEnc = None
self._gsmDec = None
self._encArray = (c_char * 33)()
self._decArray = (c_char * 320)()
self.gsm_reset()
def gsm_encode(self, data):
if (len(data) % 320):
print "Error gms_encode. Data frame size no a multiple of 320"
encData = ""
while len(data) >= 320:
self._libgsm.gsm_encode(self._gsmEnc,data[0:320],self._encArray)
encData += self._encArray.raw
data = data[320:]
return encData
def gsm_decode(self, data):
if (len(data) % 33):
print "Error gms_encode. Data frame size no a multiple of 33"
decData = ""
while len(data) >= 33:
self._libgsm.gsm_decode(self._gsmDec,data[0:33],self._decArray)
decData += self._decArray.raw
data = data[33:]
return decData
def gsm_reset(self):
if self._gsmEnc:
self._libgsm.gsm_destroy(self._gsmEnc)
</code>
Salud.
Félix Palazuelos Pérez escribió:
> Hola, estoy inmerso en el desarrolo de una aplicación de audio via 485
> con ossaudiodev y speex en python. Un ordenador tendra una gui en
> wxPython y un botón de hablar, al ir todo por puerto serie había
> pensado en crear un hilo para escuchar las tramas del puerto serie y
> el principal con la gui. ¿Mejor hilos que procesos teneindo en cuenta
> que el trabajo de speex (extensión en C) lo va a hacer el hilo?
> Necesito la máxima rápidez, ya que si no el sonido se entrecortaría. A
> ver si me podeís aconseja ren rendimiento de hilos y eso. Muchas
> gracias a todos :)
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
Más información sobre la lista de distribución Python-es