Estudiamos el motor VoIP Mediastreamer2. Parte 3

Material del artículo tomado de mi canal zen .



Mejorando el ejemplo del generador de tonos


En un artículo anterior , escribimos una aplicación de generador de tonos y con ella extrajimos el sonido del altavoz de una computadora. Ahora prestamos atención al hecho de que nuestro programa, al finalizar el trabajo, no devuelve la memoria al montón. Ha llegado el momento de aclarar este problema.


Después de que ya no necesitemos el circuito, la liberación de la memoria debería comenzar deteniendo la canalización de datos. Para hacer esto, debe desconectar la fuente del reloj, el ticker del circuito, utilizando la función ms_ticker_detach () . En nuestro caso, debemos desconectar el ticker de la entrada del filtro de fuente vacía :


ms_ticker_detach(ticker, voidsource)

Por cierto, después de que el transportador se detiene, podemos cambiar su esquema y volver a ponerlo en funcionamiento, conectando nuevamente el ticker.


Ahora podemos eliminarlo usando la función ms_ticker_destroy () :


ms_ticker_destroy(ticker)

El transportador se detiene y podemos proceder a desmontarlo desconectando los filtros. La función ms_filter_unlink () se usa para esto :


ms_filter_unlink(voidsource, 0, dtmfgen, 0);
ms_filter_unlink(dtmfgen, 0, snd_card_write, 0);

El propósito de los argumentos es el mismo que la función ms_filter_link () .


, , c ms_filter_destroy():


ms_filter_destroy(voidsource);
ms_filter_destroy(dtmfgen);
ms_filter_destroy(snd_card_write);

, , .


, , . , . , .


. , , "" . - ?


Los desarrolladores de la transmisión multimedia no proporcionaron herramientas de software para facilitar la manipulación de los filtros durante el montaje / desmontaje de los circuitos. Sin embargo, hay un ayudante que le permite insertar / quitar rápidamente un filtro del circuito.


Volveremos a resolver este problema más tarde, cuando el número de filtros en nuestros ejemplos exceda un par de docenas.


En el próximo artículo, ensamblaremos el circuito del medidor de nivel de señal y aprenderemos a leer el resultado de la medición del filtro. Estime la precisión de la medición.


All Articles