Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Розробка функцій для класу інтерфейсу між модулем УШ і модулем протоколу RTP

Реферат Розробка функцій для класу інтерфейсу між модулем УШ і модулем протоколу RTP





uiBaseAddress = (unsigned int *) (BASE_DATA_ADDRESS);

m_pvBaseDataCtrl = (SLineCtrl *) (m_puiBaseAddress + (CONF_SIZE>> 2));

m_puiDumpNum = (unsigned int *) (m_pvBaseDataCtrl +64) + (sizeof (m_uiDumpNum)>> 2);

m_puiBaseDataForRTP = m_puiDumpNum + (sizeof (m_uiDumpNum)>> 2);

m_puiBaseDataForUH = m_puiBaseDataForRTP + (DUMP_SIZE * 2>> 2);

// глибина буфера відтворення

# ifdef ___ PC

m_ucMaxPlayBackBufInd = JITTER_BUF_SIZE/10;

# else

m_ucMaxPlayBackBufInd = (JITTER_BUF_SIZE <<1)/10 ;//в два рази більше джіттер буфера

# endif

// буфер відтворення для запису

m_pvPlayBackBuf = new SData [m_ucMaxPlayBackBufInd <<5]; // буфер для всіх 32 каналів

m_pvTmpPlayBackBuf = new SData [32];

// буфер для читання даних мовного трафіку з УШ

m_puiDataFromUH = new unsigned int [DUMP_SIZE>> 2];

// буфер накопичення даних мовного трафіку, прочитаних з УШ для 32 КІ

m_pvAccumulatedData = new SData [ACCBUFF_DEPTH <<5]; (! m_pvPlayBackBuf | |! m_pvAccumulatedData | |! m_puiDataFromUH | |! m_pvTmpPlayBackBuf)

{

printf ("t_UHInterface :: t_UHInterface: Allocation memory error! n");

exit (1);

}

// проініціалізувати буфер з керуючою інформацією кодування/декодування

memset (m_vLineCtrl, 0, sizeof (m_vLineCtrl));

// проініціалізувати буфер з ознаками зміни керуючої інформації

// кодування/декодування

memset (m_uiChangeLineCtrl, 0, sizeof (m_uiChangeLineCtrl));

// проініціалізувати буфер з даними для УШ як відсутність пакетів для всіх КІ

// (тиша)

i = 0;

while (i <= 31)

{

ClearDataInPlayBackBuf (i + +);

}

// обнулити буфер накопичення даних мовного трафіку

memset (m_iAccPutInd, 0, sizeof (m_iAccPutInd));

memset (m_iAccIndDelta, 0, sizeof (m_iAccIndDelta));

// обнулити масив з ознаками необхідності накопичення даних мовного трафіку для 32 КІ

memset (m_IsAccumulating, 0, sizeof (m_IsAccumulating));

# ifndef ___ PC

// дескриптор пристрою

m_devd = dsp6713b_open (m_cName);

if (m_devd <0)

{

printf ("!! t_UHInterface :: run% i DSP2_open error, Res =% i, name =% s n", m_ucUHNum, m_devd, m_cName);

exit (1);

}

# endif

}

/** ПРИЗНАЧЕННЯ: деструктор

* ВХІДНІ ПАРАМЕТРИ: немає

* ВИХІДНІ ПАРАМЕТРИ: немає

*/_UHInterface :: ~ t_UHInterface ()

{

delete [] m_puiDataFromUH;

delete [] m_pvAccumulatedData;

delete [] m_pvPlayBackBuf;

delete [] m_pvTmpPlayBackBuf;

}

/** ПРИЗНАЧЕННЯ: встановити ознака виконання потоку агента УШ

* ВХІДНІ ПАРАМЕТРИ: brunnung - значення ознаки виконання потоку

* ВИХІДНІ ПАРАМЕТРИ: немає

*/t_UHInterface :: set_running (bool brunning)

{

m_is_running = brunning;

}

/** ПРИЗНАЧЕННЯ: зупинити потік агента УШ

* ВХІДНІ ПАРАМЕТРИ: немає

* ВИХІДНІ ПАРАМЕТРИ: немає

*/t_UHInterface :: stop (void)

{

timespec sleeptimer;

m_bstop_running = true;

while (m_is_running)

{

sleeptimer.tv_sec = 0;

sleeptimer.tv_nsec = 10000000;// 10 мс

nanosleep (& slee ptimer, NULL);

}

}

/** ПРИЗНАЧЕННЯ: записати у внутрішню пам'ять УШ дані конфігурації

* ВХІДНІ ПАРАМЕТРИ: ucCINum - кількість КД в ІКМ


Назад | сторінка 6 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Методика роботи з модулем "Реалізація і склад" програмного забезп ...
  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Розробка системи організації віддаленого обміну файлами з використанням про ...
  • Реферат на тему: Розробка клієнтського веб-інтерфейсу до бази даних туристичної фірми
  • Реферат на тему: Розробка інтерфейсу користувача для роботи з базою даних &Автомайстерня&