Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Nov 24 14:06:22 2015 +0000
Revision:
137:32dd35a6dbc9
Parent:
135:2f4290590e51
core source of the .bin (09/21/2015) in the field

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 0:4d17cd9c8f9d 1 #include "rtp.h"
klauss 0:4d17cd9c8f9d 2
klauss 0:4d17cd9c8f9d 3 RTP_Header::RTP_Header( int cb_ext ){
klauss 0:4d17cd9c8f9d 4 // por algum motivo do alem, comecar do 0 nao funcionou
klauss 0:4d17cd9c8f9d 5 ss_id = 0x01010101 + ( uint32_t )cb_ext;
klauss 0:4d17cd9c8f9d 6 seq_number = 0x0101;
klauss 0:4d17cd9c8f9d 7 timestamp = 240;
klauss 0:4d17cd9c8f9d 8 }
klauss 0:4d17cd9c8f9d 9
klauss 0:4d17cd9c8f9d 10 RTP_Header::~RTP_Header(){
klauss 0:4d17cd9c8f9d 11 // something
klauss 0:4d17cd9c8f9d 12 }
klauss 0:4d17cd9c8f9d 13
klauss 0:4d17cd9c8f9d 14 char * RTP_Header::build_header( char * pkg ){
klauss 0:4d17cd9c8f9d 15 if( pkg == NULL ) return( NULL );
klauss 0:4d17cd9c8f9d 16
klauss 121:ee02790d00b7 17 for( register int i = 0; i < RTP_HEADER_SIZE; i++ ) pkg[ i ] = 0xff;
klauss 0:4d17cd9c8f9d 18
klauss 0:4d17cd9c8f9d 19 pkg[ 0 ] &= 0x80;
klauss 0:4d17cd9c8f9d 20
klauss 0:4d17cd9c8f9d 21 pkg[ 1 ] &= 0x08;
klauss 0:4d17cd9c8f9d 22
klauss 0:4d17cd9c8f9d 23 pkg[ 2 ] = 0xff;
klauss 0:4d17cd9c8f9d 24 pkg[ 2 ] &= ( char )( seq_number >> 8 );
klauss 0:4d17cd9c8f9d 25 pkg[ 3 ] &= ( char )( seq_number & 0xff );
klauss 0:4d17cd9c8f9d 26
klauss 0:4d17cd9c8f9d 27 pkg[ 4 ] &= ( char )( timestamp >> 24 & 0xff );
klauss 0:4d17cd9c8f9d 28 pkg[ 5 ] &= ( char )( timestamp >> 16 & 0xff );
klauss 0:4d17cd9c8f9d 29 pkg[ 6 ] &= ( char )( timestamp >> 8 & 0xff );
klauss 0:4d17cd9c8f9d 30 pkg[ 7 ] &= ( char )( timestamp & 0xff );
klauss 0:4d17cd9c8f9d 31
klauss 0:4d17cd9c8f9d 32 pkg[ 8 ] &= ( char )( ss_id >> 24 & 0xff );
klauss 0:4d17cd9c8f9d 33 pkg[ 9 ] &= ( char )( ss_id >> 16 & 0xff );
klauss 0:4d17cd9c8f9d 34 pkg[ 10 ] &= ( char )( ss_id >> 8 & 0xff );
klauss 0:4d17cd9c8f9d 35 pkg[ 11 ] &= ( char )( ss_id & 0xff );
klauss 0:4d17cd9c8f9d 36
klauss 121:ee02790d00b7 37 pkg[ RTP_HEADER_SIZE ] = 0;
klauss 0:4d17cd9c8f9d 38 timestamp += 240;
klauss 0:4d17cd9c8f9d 39 seq_number++;
klauss 0:4d17cd9c8f9d 40
klauss 0:4d17cd9c8f9d 41 return( pkg );
klauss 0:4d17cd9c8f9d 42 }
klauss 0:4d17cd9c8f9d 43
klauss 0:4d17cd9c8f9d 44 size_t RTP_Header::size( void ){
klauss 121:ee02790d00b7 45 return( RTP_HEADER_SIZE );
klauss 0:4d17cd9c8f9d 46 }
klauss 0:4d17cd9c8f9d 47
klauss 0:4d17cd9c8f9d 48 RTP_Body::RTP_Body(){
klauss 0:4d17cd9c8f9d 49 // do something
klauss 0:4d17cd9c8f9d 50 }
klauss 0:4d17cd9c8f9d 51
klauss 0:4d17cd9c8f9d 52 RTP_Body::~RTP_Body(){
klauss 0:4d17cd9c8f9d 53 // something
klauss 0:4d17cd9c8f9d 54 }
klauss 0:4d17cd9c8f9d 55
klauss 0:4d17cd9c8f9d 56 size_t RTP_Body::size( void ){
klauss 0:4d17cd9c8f9d 57 return( sizeof( RTP_Body ) );
klauss 0:4d17cd9c8f9d 58 }
klauss 0:4d17cd9c8f9d 59
klauss 0:4d17cd9c8f9d 60 char * RTP_Body::build_body( char * dest, char * buffer ){
klauss 119:ee6a53069455 61 for( register int i = 0; i < CB_AUDIO_DATA_SIZE; i++ ) dest[ i ] = buffer[ i ];
klauss 0:4d17cd9c8f9d 62 return( dest );
klauss 0:4d17cd9c8f9d 63 }
klauss 0:4d17cd9c8f9d 64
klauss 0:4d17cd9c8f9d 65 RTP::RTP( int ext ){
klauss 0:4d17cd9c8f9d 66 rtp_header = new RTP_Header( ext );
klauss 87:679ee0d594a9 67
klauss 87:679ee0d594a9 68 if( rtp_header == NULL )
klauss 87:679ee0d594a9 69 {
klauss 87:679ee0d594a9 70 memory_is_over = true;
klauss 132:05cd37f7e007 71 if( debug_rtp == true ) vz_printf ("[%d] RTP_HEADER allocation failed", ext );
klauss 132:05cd37f7e007 72 if( debug_memory ) vz_debug ("[%d] RTP_Header allocation fail", ext );
klauss 87:679ee0d594a9 73 }
klauss 87:679ee0d594a9 74 else
klauss 87:679ee0d594a9 75 {
klauss 87:679ee0d594a9 76 rtp_header_new_counter++;
klauss 87:679ee0d594a9 77 }
klauss 87:679ee0d594a9 78
klauss 0:4d17cd9c8f9d 79 rtp_body = new RTP_Body();
klauss 87:679ee0d594a9 80 if( rtp_body == NULL )
klauss 87:679ee0d594a9 81 {
klauss 87:679ee0d594a9 82 memory_is_over = true;
klauss 132:05cd37f7e007 83 if( debug_rtp == true ) vz_printf ("[%d] RTP_BODY allocation failed", ext );
klauss 132:05cd37f7e007 84 if( debug_memory ) vz_debug ("[%d ]RTP_Body allocation fail", ext );
klauss 87:679ee0d594a9 85 }
klauss 87:679ee0d594a9 86 else
klauss 87:679ee0d594a9 87 {
klauss 87:679ee0d594a9 88 rtp_body_new_counter++;
klauss 87:679ee0d594a9 89 }
klauss 135:2f4290590e51 90
klauss 135:2f4290590e51 91 buffer [ 0 ] = '\0';
klauss 135:2f4290590e51 92 pkg [ 0 ] = '\0';
klauss 0:4d17cd9c8f9d 93 }
klauss 0:4d17cd9c8f9d 94
klauss 0:4d17cd9c8f9d 95 RTP::~RTP(){
klauss 87:679ee0d594a9 96 if( rtp_header != NULL)
klauss 87:679ee0d594a9 97 {
klauss 87:679ee0d594a9 98 delete( rtp_header );
klauss 87:679ee0d594a9 99 rtp_header_delete_counter++;
klauss 87:679ee0d594a9 100 }
klauss 87:679ee0d594a9 101 if( rtp_body != NULL )
klauss 87:679ee0d594a9 102 {
klauss 87:679ee0d594a9 103 delete( rtp_body );
klauss 87:679ee0d594a9 104 rtp_body_delete_counter++;
klauss 87:679ee0d594a9 105 }
klauss 0:4d17cd9c8f9d 106 }
klauss 0:4d17cd9c8f9d 107
klauss 0:4d17cd9c8f9d 108 char * RTP::build_eth_package( char * buffer ){
klauss 87:679ee0d594a9 109 if( rtp_header != NULL ) rtp_header->build_header( this->pkg );
klauss 121:ee02790d00b7 110 if( rtp_body != NULL ) rtp_body->build_body( this->pkg + RTP_HEADER_OFFSET, buffer );
klauss 0:4d17cd9c8f9d 111 return( this->pkg );
klauss 0:4d17cd9c8f9d 112 }
klauss 0:4d17cd9c8f9d 113
klauss 0:4d17cd9c8f9d 114 size_t RTP::header_size( void ){
klauss 87:679ee0d594a9 115 //if( rtp_header != NULL ) return rtp_header->size();
klauss 87:679ee0d594a9 116 return ( rtp_header != NULL ) ? rtp_header->size() : 0;
klauss 109:a5b8264ffbbc 117 }
klauss 109:a5b8264ffbbc 118
klauss 109:a5b8264ffbbc 119 int RTP::print_yourself ( void )
klauss 109:a5b8264ffbbc 120 {
klauss 132:05cd37f7e007 121 vz_printf ("buffer :: %p", ( void * ) buffer );
klauss 132:05cd37f7e007 122 vz_printf ("pkg :: %p", ( void * ) pkg );
klauss 132:05cd37f7e007 123 vz_printf ("rtp_header :: %p", ( void * ) rtp_header );
klauss 132:05cd37f7e007 124 vz_printf ("rtp_body :: %p", ( void * ) rtp_body );
klauss 109:a5b8264ffbbc 125 if ( rtp_header != NULL )
klauss 109:a5b8264ffbbc 126 {
klauss 132:05cd37f7e007 127 vz_printf ("ss_id :: %d", rtp_header -> get_ss_id () );
klauss 132:05cd37f7e007 128 vz_printf ("seq_number :: %d", rtp_header -> get_seq_number () );
klauss 132:05cd37f7e007 129 vz_printf ("timestamp :: %d", rtp_header -> get_timestamp () );
klauss 109:a5b8264ffbbc 130 }
klauss 109:a5b8264ffbbc 131 else
klauss 109:a5b8264ffbbc 132 {
klauss 132:05cd37f7e007 133 vz_printf ("Objeto rtp_header nao vinculado");
klauss 109:a5b8264ffbbc 134 }
klauss 109:a5b8264ffbbc 135 return ( sizeof( RTP ) );
klauss 0:4d17cd9c8f9d 136 }