A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 3

Tha stuth an artaigil air a thoirt bho mo seanail zen.

A’ sgrùdadh einnsean Mediastreamer2 VoIP. Pàirt 3

A’ leasachadh eisimpleir gineadair tòna

Anns an roimhe artaigil Sgrìobh sinn tagradh gineadair tòna agus chleachd sinn e gus fuaim a tharraing bho neach-labhairt coimpiutair. A-nis bheir sinn an aire nach till ar prògram cuimhne air ais chun charn nuair a thig e gu crìch. Tha an t-àm ann a’ chùis seo a shoilleireachadh.

Às deidh nach eil feum againn air a’ chuairt tuilleadh, bu chòir tòiseachadh air cuimhne a shaoradh le bhith a’ stad an loidhne-phìoban dàta. Gus seo a dhèanamh, feumaidh tu stòr a’ ghleoc agus an ticker a dhì-cheangal bhon chuairt a’ cleachdadh a’ ghnìomh ms_ticker_detach(). Anns a ’chùis againn, feumaidh sinn an ticker a dhì-cheangal bhon cuir a-steach sìoltachain stòr falamh:

ms_ticker_detach(ticker, voidsource)

Co-dhiù, às deidh dhuinn stad a chuir air a ’ghiùladair, is urrainn dhuinn a chuairt atharrachadh agus a chuir air ais ag obair, a-rithist a’ ceangal an ticker.

A-nis is urrainn dhuinn a thoirt air falbh leis a’ ghnìomh ms_ticker_destroy():

ms_ticker_destroy(ticker)

Tha an inneal-giùlain air stad agus is urrainn dhuinn tòiseachadh air pàirtean dheth a thoirt às a chèile, a’ dì-cheangal nan sìoltachain. Gus seo a dhèanamh, cleachd an gnìomh ms_filter_unlink():

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

tha adhbhar nan argamaidean an aon rud ris a’ ghnìomh ms_filter_link().

Bidh sinn a’ toirt air falbh na sìoltachain a tha a-nis dealaichte a’ cleachdadh ms_filter_destroy():

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

Le bhith a’ cur nan loidhnichean sin ris an eisimpleir againn, gheibh sinn crìoch ceart air a’ phrògram bho shealladh riaghladh cuimhne.

Mar a chì sinn, airson crìochnachadh ceart a’ phrògraim dh’fheumadh sinn timcheall air an aon àireamh de loidhnichean de chòd a chur ris agus a bha aig an toiseach, le cuibheas de cheithir loidhnichean de chòd airson gach sìoltachan. Tha e a ’tionndadh a-mach gum bi meud còd a’ phrògraim a ’dol suas ann an co-rèir ris an àireamh de shìoltachain a thathas a’ cleachdadh sa phròiseact. Ma bhruidhneas sinn mu mhìle sìoltachain anns a ’chuairt, thèid ceithir mìle loidhne de ghnìomhachd àbhaisteach airson an cruthachadh agus an sgrios a chuir ris a’ chòd agad.

A-nis gu bheil fios agad mar a chuireas tu crìoch gu ceart air prògram a chleachdas sruthan meadhanan. Anns na h-eisimpleirean a leanas, air sgàth compactness, nì mi “dìochuimhneachadh” seo a dhèanamh. Ach nach dìochuimhnich thu?

Cha tug luchd-leasachaidh sruth nam meadhanan seachad innealan bathar-bog gus làimhseachadh sìoltachain a dhèanamh comasach nuair a bha iad a’ cruinneachadh / a’ dì-chruinneachadh chuairtean. Ach a dh’ aindeoin sin, tha neach-cuideachaidh ann a leigeas leat criathrag a chuir a-steach / a thoirt air falbh bhon chuairt gu sgiobalta.

Tillidh sinn gu bhith a 'fuasgladh na cùise seo nas fhaide air adhart, nuair a tha an àireamh de shìoltachain anns na h-eisimpleirean againn nas àirde na dusan no dhà.

Air adhart artaigil Cruinnichidh sinn cuairteachadh meatair ìre chomharran agus ionnsaichidh sinn mar a leughas tu toradh tomhais bhon chriathrag. Nach dèan sinn measadh air cruinneas tomhais.

Source: www.habr.com

Cuir beachd ann