Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
rtp.cpp
00001 #include "rtp.h" 00002 00003 RTP_Header::RTP_Header( int cb_ext ){ 00004 // por algum motivo do alem, comecar do 0 nao funcionou 00005 ss_id = 0x01010101 + ( uint32_t )cb_ext; 00006 seq_number = 0x0101; 00007 timestamp = 240; 00008 } 00009 00010 RTP_Header::~RTP_Header(){ 00011 // something 00012 } 00013 00014 char * RTP_Header::build_header( char * pkg ){ 00015 if( pkg == NULL ) return( NULL ); 00016 00017 for( register int i = 0; i < __RTP_HEADER_SIZE__; i++ ) pkg[ i ] = 0xff; 00018 00019 pkg[ 0 ] &= 0x80; 00020 00021 pkg[ 1 ] &= 0x08; 00022 00023 pkg[ 2 ] = 0xff; 00024 pkg[ 2 ] &= ( char )( seq_number >> 8 ); 00025 pkg[ 3 ] &= ( char )( seq_number & 0xff ); 00026 00027 pkg[ 4 ] &= ( char )( timestamp >> 24 & 0xff ); 00028 pkg[ 5 ] &= ( char )( timestamp >> 16 & 0xff ); 00029 pkg[ 6 ] &= ( char )( timestamp >> 8 & 0xff ); 00030 pkg[ 7 ] &= ( char )( timestamp & 0xff ); 00031 00032 pkg[ 8 ] &= ( char )( ss_id >> 24 & 0xff ); 00033 pkg[ 9 ] &= ( char )( ss_id >> 16 & 0xff ); 00034 pkg[ 10 ] &= ( char )( ss_id >> 8 & 0xff ); 00035 pkg[ 11 ] &= ( char )( ss_id & 0xff ); 00036 00037 pkg[ __RTP_HEADER_SIZE__ ] = 0; 00038 timestamp += 240; 00039 seq_number++; 00040 00041 return( pkg ); 00042 } 00043 00044 size_t RTP_Header::size( void ){ 00045 return( __RTP_HEADER_SIZE__ ); 00046 } 00047 00048 RTP_Body::RTP_Body(){ 00049 // do something 00050 } 00051 00052 RTP_Body::~RTP_Body(){ 00053 // something 00054 } 00055 00056 size_t RTP_Body::size( void ){ 00057 return( sizeof( RTP_Body ) ); 00058 } 00059 00060 char * RTP_Body::build_body( char * dest, char * buffer ){ 00061 for( register int i = 0; i < __CB_AUDIO_DATA_SIZE__; i++ ) dest[ i ] = buffer[ i ]; 00062 return( dest ); 00063 } 00064 00065 RTP::RTP( int ext ){ 00066 rtp_header = new RTP_Header( ext ); 00067 rtp_body = new RTP_Body(); 00068 } 00069 00070 RTP::~RTP(){ 00071 if( rtp_header ) delete( rtp_header ); 00072 if( rtp_body ) delete( rtp_body ); 00073 } 00074 00075 char * RTP::build_eth_package( char * buffer ){ 00076 rtp_header->build_header( this->pkg ); 00077 rtp_body->build_body( this->pkg + __RTP_HEADER_OFFSET__, buffer ); 00078 return( this->pkg ); 00079 } 00080 00081 size_t RTP::header_size( void ){ 00082 return rtp_header->size(); 00083 }
Generated on Fri Jul 22 2022 09:19:18 by
1.7.2