Mediastreamer2 VoIP இன்ஜினை ஆராய்கிறது. பகுதி 3

கட்டுரையின் பொருள் என்னுடையது ஜென் சேனல்.

Mediastreamer2 VoIP இன்ஜினை ஆராய்கிறது. பகுதி 3

டோன் ஜெனரேட்டர் உதாரணத்தை மேம்படுத்துதல்

முந்தையதில் கட்டுரை டோன் ஜெனரேட்டர் அப்ளிகேஷனை எழுதி, கம்ப்யூட்டர் ஸ்பீக்கரில் இருந்து ஒலியைப் பிரித்தெடுக்க அதைப் பயன்படுத்தினோம். இப்போது நம் நிரல் முடிந்ததும் நினைவகத்தை மீண்டும் குவியலுக்குத் திரும்பப் பெறாது என்பதைக் கவனிப்போம். இந்த சிக்கலை தெளிவுபடுத்த வேண்டிய நேரம் இது.

சர்க்யூட் தேவைப்படாத பிறகு, டேட்டா பைப்லைனை நிறுத்துவதன் மூலம் நினைவகத்தை விடுவித்தல் தொடங்க வேண்டும். இதைச் செய்ய, செயல்பாட்டைப் பயன்படுத்தி சர்க்யூட்டில் இருந்து கடிகார மூலத்தையும் டிக்கரையும் துண்டிக்க வேண்டும் ms_ticker_detach(). எங்கள் விஷயத்தில், வடிகட்டி உள்ளீட்டிலிருந்து டிக்கரைத் துண்டிக்க வேண்டும் voidsource:

ms_ticker_detach(ticker, voidsource)

மூலம், கன்வேயரை நிறுத்திய பிறகு, அதன் சர்க்யூட்டை மாற்றி, அதை மீண்டும் செயல்பாட்டில் வைக்கலாம், மீண்டும் டிக்கரை இணைக்கலாம்.

இப்போது செயல்பாட்டைப் பயன்படுத்தி அதை அகற்றலாம் ms_ticker_destroy():

ms_ticker_destroy(ticker)

கன்வேயர் நிறுத்தப்பட்டது, அதன் பகுதிகளை பிரித்து, வடிப்பான்களைத் துண்டிக்க ஆரம்பிக்கலாம். இதைச் செய்ய, செயல்பாட்டைப் பயன்படுத்தவும் ms_filter_unlink():

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

வாதங்களின் நோக்கம் செயல்பாட்டிற்கான அதே தான் ms_filter_link().

இப்போது பிரிக்கப்பட்ட வடிப்பான்களைப் பயன்படுத்தி அகற்றுவோம் ms_filter_destroy():

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

எங்கள் எடுத்துக்காட்டில் இந்த வரிகளைச் சேர்ப்பதன் மூலம், நினைவக நிர்வாகத்தின் பார்வையில் இருந்து சரியான நிரல் முடிவைப் பெறுவோம்.

நாம் பார்க்கிறபடி, நிரலின் சரியான முடிவிற்கு, தொடக்கத்தில் இருந்த அதே எண்ணிக்கையிலான குறியீட்டு வரிகளைச் சேர்க்க வேண்டும், ஒரு வடிகட்டிக்கு சராசரியாக நான்கு வரி குறியீடுகள். திட்டத்தில் பயன்படுத்தப்படும் வடிப்பான்களின் எண்ணிக்கையின் விகிதத்தில் நிரல் குறியீட்டின் அளவு அதிகரிக்கும் என்று மாறிவிடும். சுற்றுவட்டத்தில் உள்ள ஆயிரம் வடிப்பான்களைப் பற்றி நாம் பேசினால், அவற்றை உருவாக்குவதற்கும் அழிப்பதற்கும் வழக்கமான செயல்பாடுகளின் நான்காயிரம் வரிகள் உங்கள் குறியீட்டில் சேர்க்கப்படும்.

மீடியா ஸ்ட்ரீமரைப் பயன்படுத்தும் நிரலை எவ்வாறு சரியாக நிறுத்துவது என்பது இப்போது உங்களுக்குத் தெரியும். பின்வரும் எடுத்துக்காட்டுகளில், சுருக்கத்திற்காக, இதைச் செய்ய நான் "மறப்பேன்". ஆனால் நீங்கள் மறக்க மாட்டீர்களா?

மீடியா ஸ்ட்ரீமரின் டெவலப்பர்கள், சர்க்யூட்களை அசெம்பிள் செய்யும் போது/ பிரித்தெடுக்கும் போது வடிகட்டிகளைக் கையாளுவதற்கு வசதியாக மென்பொருள் கருவிகளை வழங்கவில்லை. ஆயினும்கூட, சுற்றுவட்டத்திலிருந்து ஒரு வடிகட்டியை விரைவாகச் செருக / அகற்ற உங்களை அனுமதிக்கும் ஒரு உதவியாளர் உள்ளது.

எங்களின் உதாரணங்களில் உள்ள வடிப்பான்களின் எண்ணிக்கை இரண்டு டசனைத் தாண்டும்போது, ​​இந்தச் சிக்கலைத் தீர்க்க நாங்கள் திரும்புவோம்.

அடுத்தது கட்டுரை நாங்கள் ஒரு சமிக்ஞை நிலை மீட்டர் சுற்று ஒன்றை ஒன்று சேர்ப்போம் மற்றும் வடிகட்டியிலிருந்து அளவீட்டு முடிவை எவ்வாறு படிப்பது என்பதைக் கற்றுக்கொள்வோம். அளவீட்டு துல்லியத்தை மதிப்பிடுவோம்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்