Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: call.cpp
- Revision:
- 114:472502b31a12
- Parent:
- 113:db67ae00550e
- Child:
- 115:a1e1e2e60a2c
diff -r db67ae00550e -r 472502b31a12 call.cpp --- a/call.cpp Thu Apr 16 12:57:13 2015 +0000 +++ b/call.cpp Mon Apr 20 14:40:09 2015 +0000 @@ -7,8 +7,11 @@ this->rtp_server_ext = rtp_server_ext; this->rtp_server_port = rtp_server_port; this->rtp_server.set_address( __RTP_SEVER_IP__, rtp_server_port ); - this->rtp_sock.set_blocking( false, 0 ); - this->rtp_sock.bind( cb_port ); + rtp_sock.set_blocking( false, 0 ); + debug_msg("primeiro"); + this->rtp_sock.bind( cb_port ); // rtp port + debug_msg("segundo"); + this->rtp_sock.init(); this->rtp = new RTP( this->cb_ext ); if( rtp == NULL ) @@ -31,9 +34,7 @@ char * VZ_call::get_eth_message( int * length ){ uint8_t * pkg; - Endpoint rtp_from; - - *length = rtp_sock.receiveFrom( rtp_from, server2cb, sizeof( server2cb ) ); + *length = rtp_sock.receiveFrom( rtp_server, server2cb, sizeof( server2cb ) ); t.reset(); rtpbuf_next( &rtpbuf ); @@ -55,25 +56,24 @@ int VZ_call::send_message( char * buffer ){ t.reset(); - int send = this->rtp_sock.sendTo( this->rtp_server, buffer, __CB_AUDIO_DATA_SIZE__ + this->rtp->header_size() ); - if( send != __CB_AUDIO_DATA_SIZE__ + this->rtp->header_size() ) - { - if( debug_reconnect ) - { - send_msg("Reconnect RTP"); - miss_ftp_udp_send_pkg++; - } - reconnect(); - } - return( send ); + return( this->rtp_sock.sendTo( this->rtp_server, buffer, __CB_AUDIO_DATA_SIZE__ + this->rtp->header_size() ) ); + + /* + //FIXME verificar como fica se eu esperar o sendTo chegar em != 0 + int8_t sent = 0; + do{ + sent = this->rtp_sock.sendTo( this->rtp_server, buffer, __CB_AUDIO_DATA_SIZE__ + this->rtp->header_size() ) ); + }while( sent == 0 ); + return( sent ); + */ } -//uint8_t * VZ_call::build_cb_package( void ){ - // return build_cb_package( cb_ext, cb_port, __AUDIO__, server2cb, buffer ); +uint8_t * VZ_call::build_cb_package( void ){ + // return __build_cb_package__( cb_ext, cb_port, __AUDIO__, server2cb, buffer ); // colocar esta funcao novamente pra envio de msg, assim como encapsular melhor a funcao // de criacao dos pacotes pro cb em algumas funcoes. -// return 0x00; -//} + return 0x00; +} char * VZ_call::build_eth_package( uint8_t * buffer ){ return this->rtp->build_eth_package( ( char * )buffer ); @@ -112,6 +112,7 @@ cbx_pkg_idle_timer.start(); } + int VZ_call::print_yourself ( void ) { send_msg("t :: %d", ( int ) t.read () ); @@ -135,11 +136,4 @@ int VZ_call::rtp_print_yourself ( void ) { return rtp -> print_yourself (); -} - -void VZ_call::reconnect( void ) -{ - this->rtp_sock.close(); - this->rtp_sock.set_blocking( false, 0 ); - this->rtp_sock.bind( cb_port ); } \ No newline at end of file