int main(int argc, char*argv[]) { if(argc < 3) { fprintf(stderr, "usage: %s <ip> <command> \n", argv[0]); return(0); } const char* ip = argv[1]; argc--; const char* cmd = argv[2]; argc--; rcp_connect(ip); start_event_handler(); client_register(RCP_USER_LEVEL_SERVICE, "service", RCP_REGISTRATION_TYPE_NORMAL, RCP_ENCRYPTION_MODE_PLAIN); if(strcmp(cmd, "UP") == 0) { pelcod_move_up(PTZ_ADDRESS, 0x3f); } else if(strcmp(cmd, "DOWN") == 0) { pelcod_move_down(PTZ_ADDRESS, 0x3f); } else if(strcmp(cmd, "LEFT") == 0) { pelcod_move_left(PTZ_ADDRESS, 0x3f); } else if(strcmp(cmd, "RIGHT") == 0) { pelcod_move_right(PTZ_ADDRESS, 0x3f); } usleep(CMD_DURATION*1000); pelcod_move_stop(PTZ_ADDRESS); stop_event_handler(); return(1); }
static void callback_hello( uint16_t tag, void *data, size_t len ) { check_expected( tag ); check_expected( data ); check_expected( len ); stop_event_handler(); stop_messenger(); }
void message_replied_callback( uint16_t tag, void *data, size_t len, void *user_data ) { assert_int_equal( tag, TAG2 ); assert_string_equal( data, MESSAGE2 ); assert_int_equal( ( int ) len, strlen( MESSAGE2 ) + 1 ); assert_string_equal( user_data, CONTEXT_DATA ); xfree( user_data ); stop_event_handler(); assert_true( stop_messenger() ); }
static void secure_channel_read( int fd, void* data ) { UNUSED( fd ); UNUSED( data ); if ( recv_from_secure_channel( &switch_info ) < 0 ) { switch_event_disconnected( &switch_info ); return; } if ( switch_info.recv_queue->length > 0 ) { int ret = handle_messages_from_secure_channel( &switch_info ); if ( ret < 0 ) { stop_event_handler(); stop_messenger(); } } }
int switch_event_disconnected( struct switch_info *sw_info ) { sw_info->state = SWITCH_STATE_DISCONNECTED; if ( sw_info->fragment_buf != NULL ) { free_buffer( sw_info->fragment_buf ); sw_info->fragment_buf = NULL; } if ( sw_info->send_queue != NULL ) { delete_message_queue( sw_info->send_queue ); sw_info->send_queue = NULL; } if ( sw_info->recv_queue != NULL ) { delete_message_queue( sw_info->recv_queue ); sw_info->recv_queue = NULL; } if ( sw_info->secure_channel_fd >= 0 ) { set_readable( switch_info.secure_channel_fd, false ); set_writable( switch_info.secure_channel_fd, false ); delete_fd_handler( switch_info.secure_channel_fd ); close( sw_info->secure_channel_fd ); sw_info->secure_channel_fd = -1; } // send secure channle disconnect state to application service_send_state( sw_info, &sw_info->datapath_id, MESSENGER_OPENFLOW_DISCONNECTED ); flush_messenger(); debug( "send disconnected state" ); stop_event_handler(); stop_messenger(); return 0; }
void stop_chibach() { stop_event_handler(); stop_messenger(); }
int main() { tlog_init(TLOG_MODE_STDERR, TLOG_INFO, NULL); rcp_connect("10.25.25.223"); start_event_handler(); client_register(RCP_USER_LEVEL_LIVE, "", RCP_REGISTRATION_TYPE_NORMAL, RCP_ENCRYPTION_MODE_MD5); rcp_coder_list encoders, decoders; get_coder_list(RCP_CODER_ENCODER, RCP_MEDIA_TYPE_VIDEO, &encoders, 1); TL_DEBUG("***"); for (int i=0; i<encoders.count; i++) TL_DEBUG("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); TL_DEBUG("***"); get_coder_list(RCP_CODER_DECODER, RCP_MEDIA_TYPE_VIDEO, &decoders, 1); TL_DEBUG("***"); for (int i=0; i<decoders.count; i++) TL_DEBUG("%x %x %x %x %x", decoders.coder[i].number, decoders.coder[i].caps, decoders.coder[i].current_cap, decoders.coder[i].param_caps, decoders.coder[i].current_param); TL_DEBUG("***"); rcp_session session; memset(&session, 0, sizeof(rcp_session)); unsigned short tcp_port = stream_connect_tcp(&session); rcp_media_descriptor desc = { RCP_MEP_TCP, 1, 1, 0, tcp_port, 0, 1, RCP_VIDEO_CODING_H263P, RCP_VIDEO_RESOLUTION_4CIF }; client_connect(&session, RCP_CONNECTION_METHOD_GET, RCP_MEDIA_TYPE_VIDEO, 0, &desc); initiate_tcp_stream(&session, &decoders.coder[0]); int res = fork(); if (res == 0) { while (1) { sleep(2); int n = keep_alive(&session); //TL_DEBUG("active connections = %d", n); if (n < 0) break; } } rtp_merge_desc mdesc; rtp_init(RTP_PAYLOAD_TYPE_H263, 1, &mdesc); time_t end_time = time(NULL) + 10; while (time(NULL) < end_time) { /* int num = recv(con.stream_socket, buffer, 1500, 0); rtp_push_frame(buffer, num, &mdesc); */ char buff[2000]; int size = recv(session.stream_socket, buff, 1000, 0); fwrite(buff, size, 1, stdout); /* rtp_recv(session.stream_socket, &mdesc); if (rtp_pop_frame(&mdesc) == 0) fwrite(mdesc.data, mdesc.frame_lenght, 1, stdout); */ } stop_event_handler(); return 0; }
int main(int argc, char* argv[]) { tlog_init(TLOG_MODE_STDERR, TLOG_INFO, NULL); if (argc < 2) { TL_INFO("%s ip\n", argv[0]); return 0; } rcp_connect(argv[1]); start_event_handler(); client_register(RCP_USER_LEVEL_LIVE, "", RCP_REGISTRATION_TYPE_NORMAL, RCP_ENCRYPTION_MODE_MD5); rcp_coder_list encoders; get_coder_list(RCP_CODER_DECODER, RCP_MEDIA_TYPE_VIDEO, &encoders, 2); int preset_id = get_coder_preset(8); rcp_mpeg4_preset preset; get_preset(preset_id, &preset, 1); log_preset(TLOG_INFO, &preset, 1); preset.resolution = RCP_VIDEO_RESOLUTION_4CIF; set_preset(preset_id, &preset, 1); log_preset(TLOG_INFO, &preset, 1); /* for (int i=0; i<encoders.count; i++) { int mode; get_coder_video_operation_mode(encoders.coder[i].number, &mode); TL_INFO("video mode is %d", mode); TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); mode = (mode==1)?2:1; mode = set_coder_video_operation_mode(encoders.coder[i].number, mode); TL_INFO("video mode is %d", mode); TL_INFO("-----------------------"); } get_coder_list(RCP_CODER_ENCODER, RCP_MEDIA_TYPE_VIDEO, &encoders, 1); for (int i=0; i<encoders.count; i++) { int mode; get_coder_video_operation_mode(encoders.coder[i].number, &mode); TL_INFO("video mode is %d", mode); TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); mode = (mode==1)?2:1; mode = set_coder_video_operation_mode(encoders.coder[i].number, mode); TL_INFO("video mode is %d", mode); TL_INFO("-----------------------"); } get_coder_list(RCP_CODER_DECODER, RCP_MEDIA_TYPE_AUDIO, &encoders, 1); for (int i=0; i<encoders.count; i++) { TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); TL_INFO("-----------------------"); } */ stop_event_handler(); return 0; }