Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 12

เชฒเซ‡เช–เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชฎเชพเชฐเชพ เชชเชฐเชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชเซ‡เชจ เชšเซ‡เชจเชฒ.

Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 12

เช›เซ‡เชฒเซเชฒเชพเชฎเชพเช‚ เชฒเซ‡เช–, เชฎเซ‡เช‚ เชŸเซ€เช•เชฐ เชชเชฐเชจเชพ เชฒเซ‹เชกเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชจเชพ เชฎเซเชฆเซเชฆเชพ เช…เชจเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชฎเชพเช‚ เชตเชงเซ เชชเชกเชคเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เชฒเซ‹เชกเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพเชจเซ€ เชฐเซ€เชคเซ‹ เชชเชฐ เชตเชฟเชšเชพเชฐ เช•เชฐเชตเชพเชจเซเช‚ เชตเชšเชจ เช†เชชเซเชฏเซเช‚ เชนเชคเซเช‚. เชชเชฐเช‚เชคเซ เชฎเซ‡เช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชกเซ‡เชŸเชพ เชšเชณเชตเชณเชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เช•เซเชฐเชพเชซเซเชŸ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเชพ เชกเชฟเชฌเช—เซ€เช‚เช—เชจเชพ เชฎเซเชฆเซเชฆเชพเช“เชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชตเชงเซ เชคเชพเชฐเซเช•เชฟเช• เชนเชถเซ‡ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชคเซเชฏเชพเชฐเซ‡ เชœ เชชเซเชฐเชฆเชฐเซเชถเชจ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเชพ เชฎเซเชฆเซเชฆเชพเช“ เชชเชฐ เชตเชฟเชšเชพเชฐ เช•เชฐเซ‹.

เชกเซ€เชฌเช—เซ€เช‚เช— เช•เซเชฐเชพเชซเซเชŸ เชซเชฟเชฒเซเชŸเชฐเซเชธ

เช…เชฎเซ‡ เช…เช—เชพเช‰เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชฎเชพเช‚ เชกเซ‡เชŸเชพ เช–เชธเซ‡เชกเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟเชจเซ‡ เชœเซ‹เชฏเชพ เชชเช›เซ€, เชคเซ‡เชฎเชพเช‚ เช›เซเชชเชพเชฏเซ‡เชฒเชพ เชœเซ‹เช–เชฎเซ‹ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเซ€ เชคเชพเชฐเซเช•เชฟเช• เชฐเชนเซ‡เชถเซ‡. "เชกเซ‡เชŸเชพ เชซเซเชฒเซ‹" เชธเชฟเชฆเซเชงเชพเช‚เชคเชจเซ€ เชเช• เชตเชฟเชถเซ‡เชทเชคเชพ เช เช›เซ‡ เช•เซ‡ เชกเซ‡เชŸเชพ เชซเซเชฒเซ‹เชจเชพ เชธเซเชคเซเชฐเซ‹เชค เชชเชฐ เชธเซเชฅเชฟเชค เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเชพ เชขเช—เชฒเชพเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชฎเชฐเซ€เชจเซ€ เชซเชพเชณเชตเชฃเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชตเชพเชนเชจเชพ เช…เช‚เชคเซ‡ เชธเซเชฅเชฟเชค เชซเชฟเชฒเซเชŸเชฐเซเชธ เชฆเซเชตเชพเชฐเชพ เชขเช—เชฒเชพเชฎเชพเช‚ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฎเชพเชฐเซเช— เชตเชงเซเชฎเชพเช‚, เชจเชตเชพ เชกเซ‡เชŸเชพเชจเซเช‚ เชจเชฟเชฐเซเชฎเชพเชฃ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เชตเชฟเชจเชพเชถ เชตเชšเซเชšเซ‡ เช•เซเชฏเชพเช‚เช• เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฎเซ‡เชฎเชฐเซ€ เชฐเซ€เชฒเซ€เช เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช• เชฌเชจเชพเชตเชจเชพเชฐ เช•เชฐเชคเชพเช‚ เช…เชฒเช— เชซเชฟเชฒเซเชŸเชฐ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชชเชพเชฐเชฆเชฐเซเชถเช• เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช—เชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€, เชซเชฟเชฒเซเชŸเชฐ เชฎเชพเชŸเซ‡, เช‡เชจเชชเซเชŸ เชฌเซเชฒเซ‹เช• เชชเซเชฐเชพเชชเซเชค เชฅเชตเชพ เชชเชฐ, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเชฐเชค เชœ เชคเซ‡เชจเซ‹ เชจเชพเชถ เช•เชฐเชตเชพ, เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เช†เช‰เชŸเชชเซเชŸ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชจเชตเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ เชฌเซเชฒเซ‹เช•เชจเซ‡ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชตเชพเชœเชฌเซ€ เชฐเชนเซ‡เชถเซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชซเชฟเชฒเซเชŸเชฐเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เชธเชฐเชณเชคเชพเชฅเซ€ เชถเซ‹เชงเซ€ เชถเช•เชพเชฏ เช›เซ‡ - เชœเซ‹ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชซเชฟเชฒเซเชŸเชฐเชฎเชพเช‚ เชฒเซ€เช• เชถเซ‹เชงเซ‡ เช›เซ‡, เชคเซ‹ เชชเช›เซ€เชจเซเช‚ เชซเชฟเชฒเซเชŸเชฐ เช‡เชจเช•เชฎเชฟเช‚เช— เชฌเซเชฒเซ‹เช•เซเชธเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชจเชทเซเชŸ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชญเซ‚เชฒ เช›เซ‡. เชชเชฐเช‚เชคเซ เช‰เชšเซเชš เชชเซเชฐเชฆเชฐเซเชถเชจ เชœเชพเชณเชตเชตเชพเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€, เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช•เซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เช† เช…เชญเชฟเช—เชฎ เชซเชณเชฆเชพเชฏเซ€ เชจเชฅเซ€ - เชคเซ‡ เช•เซ‹เชˆเชชเชฃ เช‰เชชเชฏเซ‹เช—เซ€ เช†เช‰เชŸเชชเซเชŸ เชตเชฟเชจเชพ เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช•เซเชธ เชฎเชพเชŸเซ‡/เชฎเซเช•เซเชค เชฎเซ‡เชฎเชฐเซ€ เชซเชพเชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช•เชพเชฎเช—เซ€เชฐเซ€ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡.

เช† เช•เชพเชฐเชฃเซ‹เชธเชฐ, เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชซเชฟเชฒเซเชŸเชฐเซเชธ, เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช—เชจเซ‡ เชงเซ€เชฎเซเช‚ เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ€ เชจเช•เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฐเชณ เชจเช•เชฒเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡ (เช…เชฎเซ‡ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เช…เช—เชพเช‰เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚ เชตเชพเชค เช•เชฐเซ€ เชนเชคเซ€). เช† เชซเช‚เช•เซเชถเชจเซเชธ เชซเช•เซเชค เช•เซ‹เชชเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ "เชœเซ‚เชจเชพ" เชฎเซ‡เชธเซ‡เชœเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเชพ เชฌเซเชฒเซ‹เช•เชจเซ‡ "เชœเซ‹เชกเชตเชพ" เชฆเซเชตเชพเชฐเชพ เชฎเซ‡เชธเซ‡เชœ เชนเซ‡เชกเชฐเชจเซ‹ เชจเชตเซ‹ เชฆเชพเช–เชฒเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชเช• เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช• เชธเชพเชฅเซ‡ เชฌเซ‡ เชนเซ‡เชกเชฐเซ‹ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชฐเซ‡เชซเชฐเชจเซเชธ เช•เชพเช‰เชจเซเชŸเชฐ เชตเชงเซเชฏเซเช‚ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฌเซ‡ เชธเช‚เชฆเซ‡เชถเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชถเซ‡. เช†เชตเชพ "เชธเชพเชฎเชพเชœเชฟเช•" เชกเซ‡เชŸเชพ เชฌเซเชฒเซ‹เช• เชธเชพเชฅเซ‡ เชตเชงเซ เชธเช‚เชฆเซ‡เชถเชพ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, MS_TEE เชซเชฟเชฒเซเชŸเชฐ เชเช• เชœ เชธเชฎเชฏเซ‡ เช†เชตเซ€ เชเช• เชกเชเชจ เชชเซเชฐเช•เชพเชถ เชจเช•เชฒเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เชคเซ‡เชจเชพ เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เชธเชพเช‚เช•เชณเชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เชซเชฟเชฒเซเชŸเชฐเซเชธ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเชพ เช…เช‚เชค เชธเซเชงเซ€เชฎเชพเช‚ เช† เชธเช‚เชฆเชฐเซเชญ เช•เชพเช‰เชจเซเชŸเชฐ เชถเซ‚เชจเซเชฏ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเชตเซเช‚ เชœเซ‹เชˆเช เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฐเชฟเชฒเซ€เช เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡: ms_free(). เชœเซ‹ เช•เซ‰เชฒ เชจ เชฅเชพเชฏ, เชคเซ‹ เชชเช›เซ€ เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เช† เชญเชพเช— เชนเชตเซ‡ เชขเช—เชฒเชพเชฎเชพเช‚ เชชเชพเช›เซ‹ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เชเชŸเชฒเซ‡ เช•เซ‡. เชคเซ‡ "เชฒเซ€เช•" เช•เชฐเชถเซ‡. เชฒเชพเช‡เชŸ เช•เซ‹เชชเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เช•เชฟเช‚เชฎเชค เช เชธเชฐเชณเชคเชพเชฅเซ€ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช—เซเชฎเชพเชตเชตเซ€ เช›เซ‡ (เชœเซ‡เชฎ เช•เซ‡ เชจเชฟเชฏเชฎเชฟเชค เชจเช•เชฒเซ‹ เชธเชพเชฅเซ‡ เช•เซ‡เชธ เชนเชถเซ‡) เชœเซ‡ เช—เซเชฐเชพเชซ เชซเชฟเชฒเซเชŸเชฐ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.

เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชกเซ‡เชตเชฒเชชเชฐเซเชธ เชฎเซ‚เชณ เชซเชฟเชฒเซเชŸเชฐเซเชธเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชฒเชฟเช• เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เชนเซ‹เชตเชพเชฅเซ€, เชคเชฎเชพเชฐเซ‡ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชคเซ‡เชฎเชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฐเชพ เช•เซเชฐเชพเชซเซเชŸ เชซเชฟเชฒเซเชŸเชฐ เชธเชพเชฅเซ‡, เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เช–เซเชถเซ€เชจเชพ เช–เชกเชฎเชพเช•เชกเซ€ เช›เซ‹, เช…เชจเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชฎเชพเช‚ เชฒเซ€เช• เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ‹ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเชถเซ‹ เชคเซ‡ เชคเชฎเชพเชฐเซ€ เชšเซ‹เช•เชธเชพเชˆ เชชเชฐ เชจเชฟเชฐเซเชญเชฐ เชฐเชนเซ‡เชถเซ‡. เชคเชฎเชพเชฐเชพ เชกเชฟเชฌเช—เซ€เช‚เช— เชธเชฎเชฏเชจเซ‡ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡, เชซเชฟเชฒเซเชŸเชฐเซเชธ เชตเชฟเช•เชธเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เช…เชฎเชพเชฐเซ‡ เชฒเซ€เช• เชถเซ‹เชง เชคเช•เชจเซ€เช•เซ‹ เชœเซ‹เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช‰เชชเชฐเชพเช‚เชค, เชเชตเซเช‚ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชตเชพเชธเซเชคเชตเชฟเช• เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชซเชฟเชฒเซเชŸเชฐ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชœ เชฒเซ€เช• เชชเซ‹เชคเชพเชจเซ‡ เชชเซเชฐเช—เชŸ เช•เชฐเชถเซ‡, เชœเซเชฏเชพเช‚ "เชถเช‚เช•เชพเชธเซเชชเชฆ" เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฎเซ‹เชŸเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชกเซ€เชฌเช—เชฟเช‚เช— เชฎเชพเชŸเซ‡เชจเซ‹ เชธเชฎเชฏ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชฐเช—เชŸ เชฅเชพเชฏ เช›เซ‡?

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚ เชคเซ‡ เชงเชพเชฐเชตเซเช‚ เชคเชพเชฐเซเช•เชฟเช• เช›เซ‡ เชŸเซ‹เชš เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฆเซเชตเชพเชฐเชพ เช•เชฌเชœเซ‡ เช•เชฐเซ‡เชฒเซ€ เชฎเซ‡เชฎเชฐเซ€เชจเซ€ เชตเชงเชคเซ€ เชœเชคเซ€ เชŸเช•เชพเชตเชพเชฐเซ€ เชฌเชคเชพเชตเชถเซ‡.

เชฌเชพเชนเซเชฏ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เช เชนเชถเซ‡ เช•เซ‡ เช…เชฎเซเช• เชธเชฎเชฏเซ‡ เชธเชฟเชธเซเชŸเชฎ เชฎเชพเช‰เชธเชจเซ€ เชนเชฟเชฒเชšเชพเชฒเชจเซ‡ เชงเซ€เชฎเซ‡เชฅเซ€ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชธเซเช•เซเชฐเซ€เชจเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฆเซ‹เชฐเชถเซ‡. เชคเซ‡ เชชเชฃ เชถเช•เซเชฏ เช›เซ‡ เช•เซ‡ เชธเชฟเชธเซเชŸเชฎ เชฒเซ‹เช— เชตเชงเชถเซ‡, เชคเชฎเชพเชฐเซ€ เชนเชพเชฐเซเชก เชกเซเชฐเชพเชˆเชต เชชเชฐ เชœเช—เซเชฏเชพ เช–เชพเชถเซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเชšเชฟเชคเซเชฐ เชฐเซ€เชคเซ‡ เชตเชฐเซเชคเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชถเซ‡, เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เชœเชตเชพเชฌ เช†เชชเชถเซ‡ เชจเชนเซ€เช‚, เชซเชพเช‡เชฒ เช–เซ‹เชฒเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚, เชตเช—เซ‡เชฐเซ‡.

เชฒเซ€เช•เชจเซ€ เช˜เชŸเชจเชพเชจเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชตเชฟเชถเซเชฒเซ‡เชทเช• (เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชฏ เช›เซ‡) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚. เชคเซ‡ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชตเซ‡เชฒเช—เซเชฐเชฟเช‚เชก (เชธเชพเชฐเซเช‚ เชฒเซ‡เช– เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡) เช…เชฅเชตเชพ เช•เชฎเซเชชเชพเช‡เชฒเชฐเชฎเชพเช‚ เชฌเชฟเชฒเซเชŸ เชœเซ€เชธเซ€เชธเซ€ เชฎเซ‡เชฎเชฐเซ€ เชธเซ‡เชจเชฟเชŸเชพเชˆเชเชฐ เช…เชฅเชตเชพ เชฌเซ€เชœเซเช‚ เช•เช‚เชˆเชชเชฃ. เชœเซ‹ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช—เซเชฐเชพเชซ เชซเชฟเชฒเซเชŸเชฐเซเชธเชฎเชพเช‚เชฅเซ€ เชเช•เชฎเชพเช‚ เชฒเซ€เช• เชฅเชพเชฏ เช›เซ‡, เชคเซ‹ เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชจเซ€เชšเซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ เชชเชฆเซเชงเชคเชฟเช“เชฎเชพเช‚เชฅเซ€ เชเช•เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡.

เชคเซเชฐเชฃ เชชเชพเช‡เชจเซเชธ เชชเชฆเซเชงเชคเชฟ

เช‰เชชเชฐ เชœเชฃเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ, เชœเซ‹ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เชนเซ‹เชฏ, เชคเซ‹ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชซเชฟเชฒเซเชŸเชฐ เชคเชฐเชซ เชจเชฟเชฐเซเชฆเซ‡เชถ เช•เชฐเชถเซ‡ เชœเซ‡เชฃเซ‡ เชขเช—เชฒเชพเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชฎเชฐเซ€ เชซเชพเชณเชตเชฃเซ€เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€ เชนเชคเซ€. เชชเชฐเช‚เชคเซ เชคเซ‡ เชซเชฟเชฒเซเชŸเชฐเชจเซ‡ เชจเชฟเชฐเซเชฆเซ‡เชถ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚ เช•เซ‡ เชœเซ‡ เชคเซ‡เชจเซ‡ เชชเชฐเชค เช•เชฐเชตเชพเชจเซเช‚ "เชญเซ‚เชฒเซ€ เช—เชฏเซเช‚" เช›เซ‡, เชœเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚, เช—เซเชจเซ‡เช—เชพเชฐ เช›เซ‡. เช†เชฎ, เชตเชฟเชถเซเชฒเซ‡เชทเช• เชซเช•เซเชค เช†เชชเชฃเชพ เชญเชฏเชจเซ€ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เชฎเซ‚เชณเชจเซ‡ เชธเซ‚เชšเชตเชคเซเช‚ เชจเชฅเซ€.

เช—เซเชฐเชพเชซเชฎเชพเช‚ "เช–เชฐเชพเชฌ" เชซเชฟเชฒเซเชŸเชฐเชจเซเช‚ เชธเซเชฅเชพเชจ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช—เซเชฐเชพเชซเชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชจเซ‹เชกเซเชธ เชธเซเชงเซ€ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชนเชœเซ€ เชชเชฃ เชฒเซ€เช• เชถเซ‹เชงเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฌเชพเช•เซ€เชจเชพ เชคเซเชฐเชฃ เชชเชพเชˆเชจเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชซเชฟเชฒเซเชŸเชฐเชจเซ‡ เชธเซเชฅเชพเชจเซ€เช•เซƒเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชชเชฐเช‚เชคเซ เชเชตเซเช‚ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เช—เซเชฐเชพเชซเชฎเชพเช‚ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช˜เชŸเชพเชกเซ€เชจเซ‡, เชคเชฎเซ‡ เชซเชฟเชฒเซเชŸเชฐเซเชธ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎเชจเชพ เช…เชจเซเชฏ เช˜เชŸเช•เซ‹ เชตเชšเซเชšเซ‡เชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชฎเชพเชฐเซเช—เชจเซ‡ เชตเชฟเช•เซเชทเซ‡เชชเชฟเชค เช•เชฐเชถเซ‹ เช…เชจเซ‡ เชฒเซ€เช• เชนเชตเซ‡ เชฆเซ‡เช–เชพเชถเซ‡ เชจเชนเซ€เช‚. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชชเซ‚เชฐเซเชฃ-เช•เชฆเชจเชพ เช—เซเชฐเชพเชซ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡ เช…เชจเซ‡ เชจเซ€เชšเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เช…เชญเชฟเช—เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡.

เชธเซเชฒเชพเช‡เชกเชฟเช‚เช— เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชŸเชฐ เชชเชฆเซเชงเชคเชฟ

เชชเซเชฐเชธเซเชคเซเชคเชฟเชจเซ€ เชธเชฐเชณเชคเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชเช• เช—เซเชฐเชพเชซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เชœเซ‡เชฎเชพเช‚ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซ€ เชเช• เชธเชพเช‚เช•เชณ เช›เซ‡. เชคเซ‡เชฃเซ€ เชšเชฟเชคเซเชฐเชฎเชพเช‚ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.

Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 12

เชเช• เชจเชฟเชฏเชฎเชฟเชค เช†เชฒเซ‡เช– เชœเซ‡เชฎเชพเช‚, เชคเซˆเชฏเชพเชฐ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชซเชฟเชฒเซเชŸเชฐเซเชธ เชธเชพเชฅเซ‡, เชšเชพเชฐ เช•เซเชฐเชพเชซเซเชŸ เชซเชฟเชฒเซเชŸเชฐเซเชธ F1...F4 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชšเชพเชฐ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฐเช•เชพเชฐเชจเชพ, เชœเซ‡ เชคเชฎเซ‡ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เชฌเชจเชพเชตเซเชฏเชพ เชนเชคเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเชพเชšเซ€เชคเชพ เชตเชฟเชถเซ‡ เช•เซ‹เชˆ เชถเช‚เช•เชพ เชจเชฅเซ€. เชœเซ‹ เช•เซ‡, เชšเชพเชฒเซ‹ เชฎเชพเชจเซ€ เชฒเชˆเช เช•เซ‡ เชคเซ‡เชฎเชพเช‚เชจเชพ เช˜เชฃเชพเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช›เซ‡. เชตเชฟเชถเซเชฒเซ‡เชทเช•เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเชคเชพ, เช…เชฎเซ‡ เชคเซ‡เชจเชพ เช…เชนเซ‡เชตเชพเชฒเชฎเชพเช‚เชฅเซ€ เชถเซ€เช–เซ€เช เช›เซ€เช เช•เซ‡ เชšเซ‹เช•เซเช•เชธ เชซเชฟเชฒเซเชŸเชฐเซ‡ เชšเซ‹เช•เซเช•เชธ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชขเช—เชฒเชพ N เชจเช‚เชฌเชฐ เชชเชฐ เชชเชพเช›เซ€ เช†เชชเซ€ เชจเชฅเซ€. เชคเชฎเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เช…เชจเซเชฎเชพเชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ MS_VOID_SOURCE เชชเซเชฐเช•เชพเชฐเชจเชพ เช†เช‚เชคเชฐเชฟเช• เชซเชฟเชฒเซเชŸเชฐ เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชฒเชฟเช‚เช• เชนเชถเซ‡. เชคเซ‡เชจเซเช‚ เช•เชพเชฐเซเชฏ เชขเช—เชฒเชพเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ‡เชตเชพเชจเซเช‚ เช›เซ‡. เช…เชจเซเชฏ เชซเชฟเชฒเซเชŸเชฐเซเชธเซ‡ เชคเซ‡เชจเซ‡ เชคเซเชฏเชพเช‚ เชชเชฐเชค เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เชคเซ‡. เช…เชฎเซ‡ เชฒเซ€เช•เชจเซ€ เชนเช•เซ€เช•เชค เชถเซ‹เชงเซ€เชถเซเช‚.

เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชคเชพ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเชพ เช•เชฏเชพ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏเชคเชพ เชนเชคเซ€ เชคเซ‡ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชเช• เชตเชงเชพเชฐเชพเชจเซเช‚ เชซเชฟเชฒเซเชŸเชฐ เชฐเชœเซ‚ เช•เชฐเชตเชพเชจเซ€ เชฆเชฐเช–เชพเชธเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชœเซ‡ เชซเช•เซเชค เชธเช‚เชฆเซ‡เชถเชพเชจเซ‡ เช‡เชจเชชเซเชŸเชฅเซ€ เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เช‡เชจเชชเซเชŸ เชธเช‚เชฆเซ‡เชถเชจเซ€ เชจเช•เชฒ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชชเซเชฐเช•เชพเชถ เชจเชฅเซ€. , เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชธเชพเชฎเชพเชจเซเชฏ "เชญเชพเชฐเซ‡" เชเช•, เชชเช›เซ€ เชชเซเชฐเชตเซ‡เชถเชฆเซเชตเชพเชฐ เชชเชฐ เชชเซเชฐเชพเชชเซเชค เชธเช‚เชฆเซ‡เชถเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡. เช…เชฎเซ‡ เช†เชตเชพ เชซเชฟเชฒเซเชŸเชฐเชจเซ‡ เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชŸเชฐ เช•เชนเซ€เชถเซเช‚. เช…เชฎเซ‡ เชฎเชพเชจเซ€เช เช›เซ€เช เช•เซ‡ เชซเชฟเชฒเซเชŸเชฐ เชธเชฐเชณ เชนเซ‹เชตเชพเชฅเซ€, เชคเซ‡เชฎเชพเช‚ เช•เซ‹เชˆ เชฒเซ€เช•เซ‡เชœ เชจเชฅเซ€. เช…เชจเซ‡ เชเช• เชตเชงเซ เชธเช•เชพเชฐเชพเชคเซเชฎเช• เช—เซเชฃเชงเชฐเซเชฎ - เชœเซ‹ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เช†เชชเชฃเชพ เช—เซเชฐเชพเชซเชฎเชพเช‚ เช—เชฎเซ‡ เชคเซเชฏเชพเช‚ เช‰เชฎเซ‡เชฐเซ€เช, เชคเซ‹ เช† เชธเชฐเซเช•เชฟเชŸเชจเชพ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เช…เชธเชฐ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚. เช…เชฎเซ‡ เชซเชฟเชฒเซเชŸเชฐ-เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐเชจเซ‡ เชกเชฌเชฒ เชธเชฐเซเช•เชฟเชŸ เชธเชพเชฅเซ‡ เชตเชฐเซเชคเซเชณเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฆเชฐเซเชถเชพเชตเซ€เชถเซเช‚.

เช…เชฎเซ‡ เชตเซ‹เช‡เชกเชธเซ‹เชฐเซเชธ เชซเชฟเชฒเซเชŸเชฐ เชชเช›เซ€ เชคเชฐเชค เชœ เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐเชจเซ‡ เชšเชพเชฒเซ เช•เชฐเซ€เช เช›เซ€เช:
Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 12

เช…เชฎเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชธเชพเชฅเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเซ€เช เช›เซ€เช, เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เช† เชตเช–เชคเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเช• เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชŸเชฐเชจเซ‡ เชฆเซ‹เชท เช†เชชเชถเซ‡. เช›เซ‡เชตเชŸเซ‡, เชคเซ‡ เชคเซ‡ เช›เซ‡ เชœเซ‡ เชนเชตเซ‡ เชกเซ‡เชŸเชพเชจเชพ เชฌเซเชฒเซ‹เช•เซเชธ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เช…เชœเชพเชฃเซเชฏเชพ เชฌเซ‡เชฆเชฐเช•เชพเชฐ เชซเชฟเชฒเซเชŸเชฐ (เช…เชฅเชตเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธ) เชฆเซเชตเชพเชฐเชพ เช–เซ‹เชตเชพเชˆ เชœเชพเชฏ เช›เซ‡. เช†เช—เชณเชจเซเช‚ เชชเช—เชฒเซเช‚ เช เช›เซ‡ เช•เซ‡ เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชŸเชฐเชจเซ‡ เชธเชพเช‚เช•เชณเชจเซ€ เชธเชพเชฅเซ‡ เชœเชฎเชฃเซ€ เชฌเชพเชœเซเช, เชเช• เชซเชฟเชฒเซเชŸเชฐ เชฆเซเชตเชพเชฐเชพ เช–เชธเซ‡เชกเซ‹ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชถเชฐเซ‚ เช•เชฐเซ‹. เชคเซ‡เชฅเซ€, เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐเชจเซ‡ เชœเชฎเชฃเซ€ เชคเชฐเชซ เช–เชธเซ‡เชกเชตเชพเชฅเซ€, เช…เชฎเชจเซ‡ เชเช• เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชฎเชณเชถเซ‡ เชœเซเชฏเชพเช‚ เช†เช—เชพเชฎเซ€ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชฐเชฟเชชเซ‹เชฐเซเชŸเชฎเชพเช‚ "เชฒเซ€เช•" เชฎเซ‡เชฎเชฐเซ€ เชฌเซเชฒเซ‹เช•เซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช˜เชŸเชถเซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช† เชชเช—เชฒเชพ เชชเชฐ เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชŸเชฐ เชธเชฎเชธเซเชฏเชพ เชซเชฟเชฒเซเชŸเชฐ เชชเช›เซ€ เชคเชฐเชค เชœ เชธเชพเช‚เช•เชณเชฎเชพเช‚ เชนเชคเซเช‚. เชœเซ‹ เชคเซเชฏเชพเช‚ เชซเช•เซเชค เชเช• "เช–เชฐเชพเชฌ" เชซเชฟเชฒเซเชŸเชฐ เชนเชคเซเช‚, เชคเซ‹ เชชเช›เซ€ เชฒเซ€เช• เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฆเซƒเชถเซเชฏ เชฅเชˆ เชœเชถเซ‡. เช†เชฎ, เช…เชฎเซ‡ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชซเชฟเชฒเซเชŸเชฐ (เช…เชฅเชตเชพ เช…เชจเซ‡เช•เชฎเชพเช‚เชฅเซ€ เชเช•) เชธเซเชฅเชพเชจเชฟเช•เซ€เช•เชฐเชฃ เช•เชฐเซเชฏเซเช‚. เชซเชฟเชฒเซเชŸเชฐเชจเซ‡ "เชจเชฟเชถเซเชšเชฟเชค" เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช•เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชนเชฐเชพเชตเซ€ เชจ เชฒเชˆเช เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช…เชฎเซ‡ เชธเชพเช‚เช•เชณเชจเซ€ เชธเชพเชฅเซ‡ เชœเชฎเชฃเซ€ เชคเชฐเชซ เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐเชจเซ‡ เช–เชธเซ‡เชกเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เซ€เช เช›เซ€เช.

เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐ เชซเชฟเชฒเซเชŸเชฐเชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ

เช†เช‡เชธเซ‹เชฒเซ‡เชŸเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชจเชฟเชฏเชฎเชฟเชค เชซเชฟเชฒเซเชŸเชฐ เชœเซ‡เชตเซเช‚ เชœ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เชนเซ‡เชกเชฐ เชซเชพเช‡เชฒ:

/* ะคะฐะนะป iso_filter.h  ะžะฟะธัะฐะฝะธะต ะธะทะพะปะธั€ัƒัŽั‰ะตะณะพ ั„ะธะปัŒั‚ั€ะฐ. */

#ifndef iso_filter_h
#define iso_filter_h

/* ะ—ะฐะดะฐะตะผ ะธะดะตะฝั‚ะธั„ะธะบะฐั‚ะพั€ ั„ะธะปัŒั‚ั€ะฐ. */
#include <mediastreamer2/msfilter.h>

#define MY_ISO_FILTER_ID 1024

extern MSFilterDesc iso_filter_desc;

#endif

เชซเชฟเชฒเซเชŸเชฐ เชชเซ‹เชคเซ‡:

/* ะคะฐะนะป iso_filter.c  ะžะฟะธัะฐะฝะธะต ะธะทะพะปะธั€ัƒัŽั‰ะตะณะพ ั„ะธะปัŒั‚ั€ะฐ. */

#include "iso_filter.h"

    static void
iso_init (MSFilter * f)
{
}
    static void
iso_uninit (MSFilter * f)
{
}

    static void
iso_process (MSFilter * f)
{
    mblk_t *im;

    while ((im = ms_queue_get (f->inputs[0])) != NULL)
    {
        ms_queue_put (f->outputs[0], copymsg (im));
        freemsg (im);
    }
}

static MSFilterMethod iso_methods[] = {
    {0, NULL}
};

MSFilterDesc iso_filter_desc = {
    MY_ISO_FILTER_ID,
    "iso_filter",
    "A filter that reads from input and copy to its output.",
    MS_FILTER_OTHER,
    NULL,
    1,
    1,
    iso_init,
    NULL,
    iso_process,
    NULL,
    iso_uninit,
    iso_methods
};

MS_FILTER_DESC_EXPORT (iso_desc)

เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ‡ เชฌเชฆเชฒเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชชเชฆเซเชงเชคเชฟ

เชตเชงเซ เชธเซ‚เช•เซเชทเซเชฎ เชธเช‚เชถเซ‹เชงเชจ เชฎเชพเชŸเซ‡, เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชฎเซ‡เชฎเชฐเซ€ เชเช•เซเชธเซ‡เชธ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เช‰เชชเชฐเชพเช‚เชค, "เช•เซ‹เชฃ, เช•เซเชฏเชพเช‚ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡" เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชถเซ‡. เชคเซเชฐเชฃ เช•เชพเชฐเซเชฏเซ‹ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

OrtpMemoryFunctions reserv;
OrtpMemoryFunctions my;

reserv.malloc_fun = ortp_malloc;
reserv.realloc_fun = ortp_realloc;
reserv.free_fun = ortp_free;

my.malloc_fun = &my_malloc;
my.realloc_fun = &my_realloc;
my.free_fun = &my_free;

ortp_set_memory_functions(&my);

เช† เชฒเช•เซเชทเชฃ เชเชตเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชเชŸเชฒเซ€ เชงเซ€เชฎเซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เช†เชชเชฃเซเช‚ เชธเชฐเซเช•เชฟเชŸ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช–เซ‹เชฐเชตเชพเชˆ เชœเชพเชฏ เช›เซ‡. เช†เชตเซ€ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเช•เชจเซ‹ เชคเซเชฏเชพเช— เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชซเช‚เช•เซเชถเชจเซเชธเชจเชพ เช…เชตเซ‡เชœเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡.

เช…เชฎเซ‡ เชเช• เชธเชฐเชณ เช—เซเชฐเชพเชซ เชฎเชพเชŸเซ‡ เช•เซเชฐเชฟเชฏเชพเช“เชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เชตเชฟเชšเชพเชฐ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชถเชพเช–เชพเช“ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เช† เช…เชญเชฟเช—เชฎ เช…เชจเซเชฏ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช…เชฒเชฌเชคเซเชค เชตเชงเซ เชœเชŸเชฟเชฒเชคเชพ เชธเชพเชฅเซ‡, เชชเชฐเช‚เชคเซ เชตเชฟเชšเชพเชฐ เช เชœ เชฐเชนเซ‡ เช›เซ‡.

เชนเชตเซ‡ เชชเช›เซ€เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚, เช…เชฎเซ‡ เชŸเซ€เช•เชฐ เชชเชฐเชจเชพ เชญเชพเชฐเชจเซ‹ เช…เช‚เชฆเชพเชœ เช•เชพเชขเชตเชพเชจเชพ เชฎเซเชฆเซเชฆเชพ เช…เชจเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชฎเชพเช‚ เชตเชงเซ เชชเชกเชคเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เชฒเซ‹เชกเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพเชจเซ€ เชฐเซ€เชคเซ‹ เชœเซ‹เชˆเชถเซเช‚.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹