It materiaal fan it artikel is nommen út myn
Ferbetterjen fan de toangenerator foarbyld
Yn it foarige
Neidat wy it circuit net mear nedich binne, moat it befrijen fan ûnthâld begjinne troch de gegevenspipeline te stopjen. Om dit te dwaan, moatte jo de klokboarne en ticker losmeitsje fan it circuit mei de funksje ms_ticker_detach(). Yn ús gefal moatte wy de ticker loskeppelje fan 'e filterynfier voidsource:
ms_ticker_detach(ticker, voidsource)
Troch de wei, nei it stopjen fan de cunewalde, kinne wy feroarje syn circuit en sette it wer yn wurking, wer ferbinen de ticker.
No kinne wy it fuortsmite mei de funksje ms_ticker_destroy():
ms_ticker_destroy(ticker)
De transportband is stoppe en wy kinne begjinne te disassemble dielen fan it, losmeitsje de filters. Om dit te dwaan, brûk de funksje ms_filter_unlink():
ms_filter_unlink(voidsource, 0, dtmfgen, 0);
ms_filter_unlink(dtmfgen, 0, snd_card_write, 0);
it doel fan 'e arguminten is itselde as foar de funksje ms_filter_link().
Wy ferwiderje de no skieden filters mei help fan ms_filter_destroy():
ms_filter_destroy(voidsource);
ms_filter_destroy(dtmfgen);
ms_filter_destroy(snd_card_write);
Troch dizze rigels ta te foegjen oan ús foarbyld, krije wy in juste programmabeëiniging út it eachpunt fan ûnthâldbehear.
Sa't wy sjen kinne, fereasket de juste foltôging fan it programma ús om sawat itselde oantal rigels koade ta te foegjen as oan it begjin, mei in gemiddelde fan fjouwer rigels koade per filter. It docht bliken dat de grutte fan it programma koade sil tanimme yn ferhâlding ta it oantal filters brûkt yn it projekt. As wy prate oer tûzen filters yn it circuit, dan sille fjouwer tûzen rigels fan routine operaasjes foar it meitsjen en ferneatigje se wurde tafoege oan jo koade.
No wite jo hoe't jo in programma korrekt kinne beëinigje dat in mediastreamer brûkt. Yn 'e folgjende foarbylden sil ik om' e kompaktheid "ferjitte" om dit te dwaan. Mar jo sille net ferjitte?
De ûntwikkelders fan 'e mediastreamer levere gjin software-ark om manipulaasje fan filters te fasilitearjen by it gearstallen / disassemble fan circuits. Dochs is der in helper wêrmei jo fluch ynfoegje / fuortsmite in filter út it circuit.
Wy sille letter weromkomme nei it oplossen fan dit probleem, as it oantal filters yn ús foarbylden mear as in pear tsientallen is.
Folgjende
Boarne: www.habr.com