ortp初始化
/**
* Initialize the oRTP library. You should call this function first before using
* oRTP API.
**/
void ortp_init() { if (ortp_initialized++) return; //全局初始化标志 #ifdef _WIN32 win32_init_sockets(); //初始化socket #endif av_profile_init(&av_profile); //注册所需的payload类型 ortp_global_stats_reset(); init_random_number_generator(); ortp_message("oRTP-" ORTP_VERSION " initialized."); }
ortp退出
/** * Gracefully uninitialize the library, including shutdowning the scheduler if it was started. * **/ void ortp_exit() { if (ortp_initialized==0) { ortp_warning("ortp_exit() called without prior call to ortp_init(), ignored."); return; } ortp_initialized--; if (ortp_initialized==0){ if (__ortp_scheduler!=NULL) { rtp_scheduler_destroy(__ortp_scheduler); __ortp_scheduler=NULL; } } }
外部调用ortp初始化
int init_rtpservice() { ortp_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL); ortp_set_log_handler(__logv_out); //orpt LOG, 设置orpt日志 ortp_init(); return RESULT_SUCCESS; }
外部调用ortp反初始化
int uninit_rtpservice() { rtp_profile_clear_all(p_RtpProfile); rtp_profile_destroy(p_RtpProfile); ortp_exit();
return RESULT_SUCCESS; }