static apt_bool_t rtsp_server_on_destroy(apt_task_t *task) { apt_poller_task_t *poller_task = apt_task_object_get(task); rtsp_server_t *server = apt_poller_task_object_get(poller_task); rtsp_server_listening_socket_destroy(server); apt_poller_task_cleanup(poller_task); return TRUE; }
static apt_bool_t mrcp_server_agent_on_destroy(apt_task_t *task) { apt_poller_task_t *poller_task = apt_task_object_get(task); mrcp_connection_agent_t *agent = apt_poller_task_object_get(poller_task); mrcp_server_agent_listening_socket_destroy(agent); apt_poller_task_cleanup(poller_task); return TRUE; }
static apt_bool_t mrcp_server_agent_on_destroy(apt_task_t *task) { apt_poller_task_t *poller_task = apt_task_object_get(task); mrcp_connection_agent_t *agent = apt_poller_task_object_get(poller_task); apt_pollset_t *pollset = apt_poller_task_pollset_get(poller_task); if(pollset) { apt_pollset_remove(pollset,&agent->listen_sock_pfd); } mrcp_server_agent_listening_socket_destroy(agent); apt_poller_task_cleanup(poller_task); return TRUE; }
/* Process task message */ static apt_bool_t rtsp_server_task_msg_process(apt_task_t *task, apt_task_msg_t *task_msg) { apt_poller_task_t *poller_task = apt_task_object_get(task); rtsp_server_t *server = apt_poller_task_object_get(poller_task); task_msg_data_t *data = (task_msg_data_t*) task_msg->data; switch(data->type) { case TASK_MSG_SEND_MESSAGE: rtsp_server_session_response_process(server,data->session,data->message); break; case TASK_MSG_TERMINATE_SESSION: rtsp_server_session_do_terminate(server,data->session); break; } return TRUE; }
/* Process task message */ static apt_bool_t mrcp_server_agent_msg_process(apt_task_t *task, apt_task_msg_t *task_msg) { apt_poller_task_t *poller_task = apt_task_object_get(task); mrcp_connection_agent_t *agent = apt_poller_task_object_get(poller_task); connection_task_msg_t *msg = (connection_task_msg_t*) task_msg->data; switch(msg->type) { case CONNECTION_TASK_MSG_ADD_CHANNEL: mrcp_server_agent_channel_add(agent,msg->channel,msg->descriptor); break; case CONNECTION_TASK_MSG_MODIFY_CHANNEL: mrcp_server_agent_channel_modify(agent,msg->channel,msg->descriptor); break; case CONNECTION_TASK_MSG_REMOVE_CHANNEL: mrcp_server_agent_channel_remove(agent,msg->channel); break; case CONNECTION_TASK_MSG_SEND_MESSAGE: mrcp_server_agent_messsage_send(agent,msg->channel->connection,msg->message); break; } return TRUE; }