[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