/** Create RTSP session handle */ RTSP_DECLARE(rtsp_client_session_t*) rtsp_client_session_create( rtsp_client_t *client, const char *server_ip, apr_port_t server_port, const char *resource_location) { rtsp_client_session_t *session; apr_pool_t *pool = apt_pool_create(); session = apr_palloc(pool,sizeof(rtsp_client_session_t)); session->pool = pool; session->obj = NULL; session->connection = NULL; session->active_request = NULL; session->pending_request_queue = apt_list_create(pool); session->request_timer = apt_poller_task_timer_create( client->task, rtsp_client_timer_proc, session, pool); session->resource_table = apr_hash_make(pool); session->term_state = TERMINATION_STATE_NONE; apt_string_assign(&session->server_ip,server_ip,pool); session->server_port = server_port; apt_string_assign(&session->resource_location,resource_location,pool); apt_string_reset(&session->id); apt_log(RTSP_LOG_MARK,APT_PRIO_NOTICE,"Create RTSP Handle " APT_PTR_FMT,session); return session; }
/** Create control channel */ MRCP_DECLARE(mrcp_control_channel_t*) mrcp_client_control_channel_create(mrcp_connection_agent_t *agent, void *obj, apr_pool_t *pool) { mrcp_control_channel_t *channel = apr_palloc(pool,sizeof(mrcp_control_channel_t)); channel->agent = agent; channel->connection = NULL; channel->active_request = NULL; channel->request_timer = NULL; channel->removed = FALSE; channel->obj = obj; channel->pool = pool; channel->request_timer = apt_poller_task_timer_create( agent->task, mrcp_client_timer_proc, channel, pool); return channel; }