Changeset 198

Show
Ignore:
Timestamp:
12/04/07 17:46:47 (9 months ago)
Author:
sip
Message:

Added LogicalChannelRate? and ModeRequest?.
Implemented new logging feature.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libh324m/src/FileLogger.cpp

    r196 r198  
    2020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. 
    2121 */ 
     22#include <stdarg.h> 
     23#include <stdio.h> 
     24#include <string.h> 
     25#include <sys/types.h> 
     26#include <sys/stat.h> 
     27#include <fcntl.h> 
     28#include <unistd.h> 
    2229#include "FileLogger.h" 
    23 #include <stdarg.h> 
    2430 
    2531FileLogger::FileLogger() 
     
    3541} 
    3642 
    37 #ifdef DUMP_H223  
    3843void FileLogger::SetMuxByte(BYTE b) 
    3944{ 
    40         //New line 
    41         if (num % 32 == 0) 
    42         { 
    43                 if (num>0) 
    44                 { 
    45                         char name[256]; 
    46                         sprintf(name,"/tmp/h245_out_%x.log",(unsigned int)this); 
    47                         int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
    48                         write(fd,line1,linesize); 
    49                         write(fd,"\r\n",2); 
    50                         write(fd,line3,linesize); 
    51                         write(fd,"\r\n",2); 
     45        if (level>5) 
     46        { 
     47                //New line 
     48                if (num % 32 == 0) 
     49                { 
     50                        if (num>0) 
     51                        { 
     52                                char name[256]; 
     53                                sprintf(name,"/tmp/h245_out_%x.log",(unsigned int)this); 
     54                                int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
     55                                if (fd!=-1) 
     56                                { 
     57                                        write(fd,line1,linesize); 
     58                                        write(fd,"\r\n",2); 
     59                                        write(fd,line3,linesize); 
     60                                        write(fd,"\r\n",2); 
     61                                        close(fd); 
     62                                } 
     63                        }  
     64                        sprintf(line1,"%.8X ",num); 
     65                        l1 = line1+8; 
     66                } 
     67 
     68                int numchar = sprintf(l1," %.2X",b); 
     69                l1[numchar] = ' '; 
     70                l1+=3; 
     71                num++; 
     72        } 
     73
     74 
     75void FileLogger::SetMuxInfo(const char*info,...) 
     76
     77        if (level>5) 
     78        { 
     79                va_list ap; 
     80 
     81                //Set list 
     82                va_start(ap,info); 
     83 
     84                //Set line info 
     85                int numchar = vsprintf(l2,info,ap); 
     86 
     87                //Reset list 
     88                va_end(ap); 
     89 
     90                //Remove \0 
     91                l2[numchar]=' '; 
     92 
     93                //Move l2 
     94                l2 += numchar; 
     95 
     96                //Calculate the remining 
     97                int rest = l2-line2-32*3; 
     98 
     99                //if we have past the end of line 
     100                if (rest>=0) 
     101                { 
     102                        //Set to blank 
     103                        memset(line3,' ',linesize); 
     104                        //Copy to line3 
     105                        memcpy(line3+8,line2,32*3); 
     106                        //Move end of line2 to begining 
     107                        memcpy(line2,line2+32*3,rest); 
     108                        //Move to the begining 
     109                        l2 = line2+rest; 
     110                } 
     111        } 
     112
     113 
     114void FileLogger::SetDemuxByte(BYTE b) 
     115
     116        if (level>5) 
     117        { 
     118                //New line 
     119                if (num % 32 == 0) 
     120                { 
     121                        if (num>0) 
     122                        { 
     123                                char name[256]; 
     124                                sprintf(name,"/tmp/h245_%x.log",(unsigned int)this); 
     125                                int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
     126                                if (fd!=-1) 
     127                                { 
     128                                        write(fd,line3,linesize-6); 
     129                                        if (line3[linesize-5]==' ') { 
     130                                                write(fd,line2+2,6); 
     131                                        } else if (line3[linesize-3]!=' ') { 
     132                                                write(fd,line3+linesize-6,3); 
     133                                                write(fd,line2+5,3); 
     134                                        } else { 
     135                                                write(fd,line3+linesize-6,6); 
     136                                        } 
     137                                        memset(line2,' ',8); 
     138                                        write(fd,"\r\n",2); 
     139                                        write(fd,line1,linesize); 
     140                                        write(fd,"\r\n",2); 
     141                                        memcpy(line3,line2,linesize); 
     142                                } 
     143                                close(fd); 
     144                        } else 
     145                                memset(line3,' ',linesize); 
     146                        sprintf(line1,"%.8X ",num); 
     147                        memset(line2,' ',linesize); 
     148                        l1 = line1+8; 
     149                        l2 = line2+8; 
     150 
     151                } 
     152                int numchar = sprintf(l1," %.2X",b); 
     153                l1[numchar] = ' '; 
     154                numchar = sprintf(l2,"   "); 
     155                l2[numchar] = ' '; 
     156                l1+=3; 
     157                l2+=3; 
     158                num++; 
     159        } 
     160
     161 
     162void FileLogger::SetDemuxInfo(int offset,const char*info,...) 
     163
     164        if (level>5) 
     165        { 
     166                va_list ap; 
     167 
     168                //Set list 
     169                va_start(ap,info); 
     170 
     171                //Set line info 
     172                int numchar = vsprintf(l2+offset,info,ap); 
     173 
     174                //Reset list 
     175                va_end(ap); 
     176 
     177                //Remove \0 
     178                l2[numchar+offset]=' '; 
     179        } 
     180
     181 
     182void FileLogger::DumpMedia(BYTE *data,DWORD len) 
     183
     184        if (level>5) 
     185        { 
     186                char name[256]; 
     187                sprintf(name,"/tmp/media_%x.raw",(unsigned int)this); 
     188                int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
     189                if (fd!=-1) 
     190                { 
     191                        write(fd,data,len); 
    52192                        close(fd); 
    53                 }  
    54                 sprintf(line1,"%.8X ",num); 
    55                 l1 = line1+8; 
    56         } 
    57  
    58         int numchar = sprintf(l1," %.2X",b); 
    59         l1[numchar] = ' '; 
    60         l1+=3; 
    61         num++; 
    62 
    63  
    64 void FileLogger::SetMuxInfo(const char*info,...) 
    65 
    66         va_list ap; 
    67  
    68         //Set list 
    69         va_start(ap,info); 
    70  
    71         //Set line info 
    72         int numchar = vsprintf(l2,info,ap); 
    73  
    74         //Remove \0 
    75         l2[numchar]=' '; 
    76  
    77         //Move l2 
    78         l2 += numchar; 
    79  
    80         //Calculate the remining 
    81         int rest = l2-line2-32*3; 
    82  
    83         //if we have past the end of line 
    84         if (rest>=0) 
    85         { 
    86                 //Set to blank 
    87                 memset(line3,' ',linesize); 
    88                 //Copy to line3 
    89                 memcpy(line3+8,line2,32*3); 
    90                 //Move end of line2 to begining 
    91                 memcpy(line2,line2+32*3,rest); 
    92                 //Move to the begining 
    93                 l2 = line2+rest; 
    94         } 
    95 
    96  
    97 void FileLogger::SetDemuxByte(BYTE b) 
    98 
    99         //New line 
    100         if (num % 32 == 0) 
    101         { 
    102                 if (num>0) 
    103                 { 
    104                         char name[256]; 
    105                         sprintf(name,"/tmp/h245_%x.log",(unsigned int)this); 
    106                         int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
    107                         write(fd,line3,linesize-6); 
    108                         if (line3[linesize-5]==' ') { 
    109                                 write(fd,line2+2,6); 
    110                         } else if (line3[linesize-3]!=' ') { 
    111                                 write(fd,line3+linesize-6,3); 
    112                                 write(fd,line2+5,3); 
    113                         } else { 
    114                                 write(fd,line3+linesize-6,6); 
    115                         } 
    116                         memset(line2,' ',8); 
    117                         write(fd,"\r\n",2); 
    118                         write(fd,line1,linesize); 
    119                         write(fd,"\r\n",2); 
    120                         memcpy(line3,line2,linesize); 
     193                } 
     194        } 
     195
     196 
     197void FileLogger::DumpInput(BYTE *data,DWORD len) 
     198
     199        if (level>5) 
     200        { 
     201                char name[256]; 
     202                sprintf(name,"/tmp/h223_in_%x.raw",(unsigned int)this); 
     203                int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
     204                if (fd!=-1) 
     205                { 
     206                        write(fd,data,len); 
    121207                        close(fd); 
    122                 } else 
    123                         memset(line3,' ',linesize); 
    124                 sprintf(line1,"%.8X ",num); 
    125                 memset(line2,' ',linesize); 
    126                 l1 = line1+8; 
    127                 l2 = line2+8; 
    128  
    129         } 
    130         int numchar = sprintf(l1," %.2X",b); 
    131         l1[numchar] = ' '; 
    132         numchar = sprintf(l2,"   "); 
    133         l2[numchar] = ' '; 
    134         l1+=3; 
    135         l2+=3; 
    136         num++; 
    137 
    138  
    139 void FileLogger::SetDemuxInfo(int offset,const char*info,...) 
    140 
    141         va_list ap; 
    142  
    143         //Set list 
    144         va_start(ap,info); 
    145  
    146         //Set line info 
    147         int numchar = vsprintf(l2+offset,info,ap); 
    148  
    149         //Remove \0 
    150         l2[numchar+offset]=' '; 
    151 
    152 #else 
    153  
    154 void FileLogger::SetMuxByte(BYTE b) 
    155 
    156 
    157  
    158 void FileLogger::SetMuxInfo(const char*info,...) 
    159 
    160 
    161  
    162 void FileLogger::SetDemuxByte(BYTE b) 
    163 
    164 
    165  
    166 void FileLogger::SetDemuxInfo(int offset,const char*info,...) 
    167 
    168 
    169 #endif 
     208                } 
     209        } 
     210
     211 
     212void FileLogger::DumpOutput(BYTE *data,DWORD len) 
     213
     214        if (level>5) 
     215        { 
     216                char name[256]; 
     217                sprintf(name,"/tmp/h223_out_%x.raw",(unsigned int)this); 
     218                int fd = open(name,O_CREAT|O_WRONLY|O_APPEND); 
     219                if (fd!=-1) 
     220                { 
     221                        write(fd,data,len); 
     222                        close(fd); 
     223                } 
     224        } 
     225
  • libh324m/src/FileLogger.h

    r196 r198  
    1818        virtual void SetDemuxByte(BYTE b); 
    1919        virtual void SetDemuxInfo(int offset,const char*info,...); 
     20        virtual void DumpMedia(BYTE *data,DWORD len); 
     21        virtual void DumpInput(BYTE *data,DWORD len); 
     22        virtual void DumpOutput(BYTE *data,DWORD len); 
    2023private: 
    2124        char line1[linesize]; 
  • libh324m/src/H223AL.h

    r66 r198  
    22#define _H223AL_H_ 
    33 
    4 #include "H223Const.h" 
     4#include "H324MConfig.h" 
    55#include "H223MuxSDU.h" 
    66 
     
    1212        virtual void SendClosingFlag()=0; 
    1313        virtual int IsSegmentable() = 0; 
     14        virtual ~H223ALReceiver() = 0; 
    1415}; 
    1516 
     
    2122        virtual void OnPDUCompleted()=0; 
    2223        virtual int IsSegmentable() = 0; 
     24        virtual ~H223ALSender() = 0; 
    2325}; 
    2426 
     
    2830        //H223SDUListener 
    2931        virtual void OnSDU(BYTE* data,DWORD length) = 0; 
     32        virtual ~H223SDUListener() = 0; 
    3033}; 
    3134#endif 
  • libh324m/src/H223Demuxer.h

    r99 r198  
    22#define _H223Demuxer_H_ 
    33 
    4 #include "H223Const.h" 
     4#include "H324MConfig.h" 
    55#include "H223AL.h" 
    66#include "H223MuxTable.h" 
  • libh324m/src/H223Flag.h

    r3 r198  
    11#ifndef _H223FLAG_H_ 
    22#define _H223FLAG_H_ 
    3 #include "H223Const.h" 
     3#include "H324MConfig.h" 
    44 
    55class H223Flag 
  • libh324m/src/H223Header.h

    r3 r198  
    11#ifndef _H223HEADER_H_ 
    22#define _H223HEADER_H_ 
    3 #include "H223Const.h" 
     3#include "H324MConfig.h" 
    44 
    55class H223Header 
  • libh324m/src/H223MuxSDU.h

    r63 r198  
    22#define _H223MUXSDU_H_ 
    33 
    4 #include "H223Const.h" 
     4#include "H324MConfig.h" 
    55 
    66#include <list> 
    77#include <map> 
    8 using namespace std; 
    98 
    109class H223MuxSDU 
     
    1514        ~H223MuxSDU(); 
    1615         
    17         int    Push(BYTE b); 
     16        int Push(BYTE b); 
    1817        int  Push(BYTE *b,int len); 
    1918        BYTE Pop(); 
    2019        BYTE *GetPointer() {return buffer;} 
    21         int    Length(); 
     20        int Length(); 
    2221 
    2322        void Begin(); 
     
    3130}; 
    3231 
    33 typedef map<int,H223MuxSDU*> H223MuxSDUMap; 
    34 typedef list<H223MuxSDU*> H223MuxSDUList; 
     32typedef std::map<int,H223MuxSDU*> H223MuxSDUMap; 
     33typedef std::list<H223MuxSDU*> H223MuxSDUList; 
    3534 
    3635#endif 
  • libh324m/src/H223MuxTable.h

    r26 r198  
    11#ifndef _H223MUXTABLE_H_ 
    22#define _H223MUXTABLE_H_ 
    3 #include "H223Const.h" 
    43#include "H245.h" 
    54 
  • libh324m/src/H223Muxer.cpp

    r196 r198  
    2222#include "H223Muxer.h" 
    2323#include "FileLogger.h" 
     24 
    2425extern "C" 
    2526{ 
    2627#include "golay.h" 
    2728} 
    28  
    29 #define Debug printf 
    3029 
    3130H223Muxer::H223Muxer() 
  • libh324m/src/H223Muxer.h

    r99 r198  
    22#define _H223MUXER_H_ 
    33 
    4 #include "H223Const.h" 
     4#include "H324MConfig.h" 
    55#include "H223MuxTable.h" 
    66#include "H223MuxSDU.h" 
  • libh324m/src/H245ChannelsFactory.cpp

    r196 r198  
    210210int H245ChannelsFactory::OnEstablishIndication(int number, H245Channel *channel) 
    211211{ 
    212         Debug("-OnEstablishIndication [%d]\n",number); 
     212        Logger::Debug("-OnEstablishIndication [%d]\n",number); 
    213213 
    214214        int local = -1; 
     
    256256int H245ChannelsFactory::OnEstablishConfirm(int number) 
    257257{ 
    258         Debug("-OnEstablishConfirm [%d]\n",number); 
     258        Logger::Debug("-OnEstablishConfirm [%d]\n",number); 
    259259 
    260260        //Search channel  
  • libh324m/src/H245ChannelsFactory.h

    r196 r198  
    1717        virtual int OnChannelStablished(int channel, MediaType type) = 0; 
    1818        virtual int OnChannelReleased(int channel, MediaType type) = 0; 
     19        virtual ~H245ChannelsFactoryListener() = 0; 
    1920}; 
    2021 
  • libh324m/src/H245Connection.h

    r7 r198  
    1414                e_ModeRequest, 
    1515                e_RoundTripDelay, 
    16                 e_MultiplexTable 
     16                e_MultiplexTable, 
     17                e_LogicalChannelRate 
    1718        }; 
    1819         
     
    3233        virtual int OnH245Indication(H245_IndicationMessage& ind) = 0; 
    3334        */ 
     35        virtual ~H245Connection() = 0; 
    3436}; 
    3537 
  • libh324m/src/H245LogicalChannels.cpp

    r196 r198  
    2020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. 
    2121 */ 
    22  
    2322#include "H245LogicalChannels.h" 
    24  
    25 #define Debug printf 
     23#include "log.h" 
    2624 
    2725H245LogicalChannels::H245LogicalChannels(H245Connection & con) 
     
    3836int H245LogicalChannels::EstablishRequest(int channelNumber,H245Channel & channel) 
    3937{ 
    40         Debug("H245 H245LogicalChannels Establish Request [%d]\n", channelNumber); 
     38        Logger::Debug("H245 H245LogicalChannels Establish Request [%d]\n", channelNumber); 
    4139 
    4240        //TODO: Store h245channel on list 
     
    9391int H245LogicalChannels::ReleaseRequest(int channelNumber) 
    9492{ 
    95         Debug("H245 H245LogicalChannels Release Request [%d]\n", channelNumber); 
     93        Logger::Debug("H245 H245LogicalChannels Release Request [%d]\n", channelNumber); 
    9694 
    9795        //Pdu 
     
    143141        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    144142 
    145         Debug("H245 H245LogicalChannelAck received [%d]\n", channelNumber); 
     143        Logger::Debug("H245 H245LogicalChannelAck received [%d]\n", channelNumber); 
    146144 
    147145        //See if channel exist 
     
    178176        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    179177 
    180         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     178        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    181179 
    182180        //See if channel exist 
     
    219217        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    220218 
    221         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     219        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    222220 
    223221        //See if channel exist 
     
    310308        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    311309 
    312         Debug("H245 H245OpenLogicalChannel received [%d]\n", channelNumber); 
     310        Logger::Debug("H245 H245OpenLogicalChannel received [%d]\n", channelNumber); 
    313311 
    314312        //See if channel exist 
     
    352350        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    353351 
    354         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     352        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    355353 
    356354        //See if channel exist 
     
    398396        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    399397 
    400         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     398        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    401399 
    402400        //See if channel exist 
     
    426424        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    427425 
    428         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     426        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    429427 
    430428        //See if channel exist 
     
    451449        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    452450 
    453         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     451        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    454452 
    455453        //See if channel exist 
     
    476474        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    477475 
    478         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     476        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    479477 
    480478        //See if channel exist 
     
    501499        int channelNumber = pdu.m_forwardLogicalChannelNumber; 
    502500 
    503         Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
     501        Logger::Debug("H245 H245LogicalChannelReject received [%d]\n", channelNumber); 
    504502 
    505503        //See if channel exist 
  • libh324m/src/H245MasterSlave.cpp

    r196 r198  
    2121 */ 
    2222#include "H245MasterSlave.h" 
    23  
    24 #define Debug printf 
     23#include "log.h" 
    2524 
    2625H245MasterSlave::H245MasterSlave(H245Connection &con):H245Negotiator(con)  
     
    4039BOOL H245MasterSlave::Request() 
    4140{ 
    42         Debug("H245 Request MasterSlaveDetermination\n"); 
     41        Logger::Debug("H245 Request MasterSlaveDetermination\n"); 
    4342 
    4443        //If already processing 
     
    6463{ 
    6564        //Debug 
    66         Debug("H245 MasterSlaveDetermination\n"); 
     65        Logger::Debug("H245 MasterSlaveDetermination\n"); 
    6766 
    6867        H324ControlPDU reply; 
     
    150149BOOL H245MasterSlave::HandleAck(const H245_MasterSlaveDeterminationAck & pdu) 
    151150{ 
    152         Debug("H245 MasterSlave Ack\n"); 
     151        Logger::Debug("H245 MasterSlave Ack\n"); 
    153152 
    154153        MasterSlaveStatus newStatus; 
     
    192191{ 
    193192         
    194         Debug("H245 Received MasterSlaveDeterminationReject\n"); 
     193        Logger::Debug("H245 Received MasterSlaveDeterminationReject\n"); 
    195194 
    196195        //Reply 
     
    234233BOOL H245MasterSlave::HandleRelease(const H245_MasterSlaveDeterminationRelease & /*pdu*/) 
    235234{ 
    236         Debug("H245 Received MasterSlaveDeterminationRelease\n"); 
     235        Logger::Debug("H245 Received MasterSlaveDeterminationRelease\n"); 
    237236 
    238237        if (state == e_Idle) 
  • libh324m/src/H245MuxTable.cpp

    r196 r198  
    2121 */ 
    2222#include "H245MuxTable.h" 
    23  
    24 #define Debug printf 
     23#include "log.h" 
    2524 
    2625H245MuxTable::H245MuxTable(H245Connection & con) 
     
    4443BOOL H245MuxTable::TransferRequest(H223MuxTable& table) 
    4544{ 
    46         Debug("H245 MultiplexEntrySend\n"); 
     45        Logger::Debug("H245 MultiplexEntrySend\n"); 
    4746 
    4847        //If not in idle 
     
    7271BOOL H245MuxTable::HandleAck(const H245_MultiplexEntrySendAck  & pdu) 
    7372{ 
    74         Debug("H245 MultiplexEntrySend accepted\n"); 
     73        Logger::Debug("H245 MultiplexEntrySend accepted\n"); 
    7574 
    7675        //If already idle 
     
    102101BOOL H245MuxTable::HandleReject(const H245_MultiplexEntrySendReject & pdu) 
    103102{ 
    104         Debug("H245 MultiplexEntrySend rejected\n"); 
     103        Logger::Debug("H245 MultiplexEntrySend rejected\n"); 
    105104 
    106105        //If already idle 
     
    135134BOOL H245MuxTable::HandleRequest(const H245_MultiplexEntrySend & pdu) 
    136135{ 
    137         Debug("H245 MultiplexEntrySend request\n"); 
     136        Logger::Debug("H245 MultiplexEntrySend request\n"); 
    138137 
    139138        //Create table 
  • libh324m/src/H245RoundTrip.cpp

    r196 r198  
    2121 */ 
    2222#include "H245RoundTrip.h" 
    23  
    24 #define Debug printf 
     23#include "log.h" 
    2524 
    2625H245RoundTripDelay::H245RoundTripDelay(H245Connection & con) 
     
    2928        awaitingResponse = FALSE; 
    3029        sequenceNumber = 0; 
    31         retryCount = 1; 
    3230} 
    3331 
     
    3836BOOL H245RoundTripDelay::Start() 
    3937{ 
    40         Debug("H245 Started round trip delay\n"); 
     38        Logger::Debug("H245 Started round trip delay\n"); 
    4139 
    4240        sequenceNumber = (sequenceNumber + 1)%256; 
     
    4644 
    4745        pdu.BuildRoundTripDelayRequest(sequenceNumber); 
     46 
    4847        if (!connection.WriteControlPDU(pdu)) 
    4948                return FALSE; 
    50  
    51         tripStartTime = PTimer::Tick(); 
    5249 
    5350        return TRUE; 
     
    5754BOOL H245RoundTripDelay::HandleRequest(const H245_RoundTripDelayRequest & pdu) 
    5855{ 
    59         Debug("H245 Started round trip delay"); 
     56        Logger::Debug("H245 Started round trip delay"); 
    6057 
    6158        H324ControlPDU reply; 
     59 
    6260        reply.BuildRoundTripDelayResponse(pdu.m_sequenceNumber); 
     61 
    6362        return connection.WriteControlPDU(reply); 
    6463} 
     
    6665BOOL H245RoundTripDelay::HandleResponse(const H245_RoundTripDelayResponse & pdu) 
    6766{ 
    68         PTimeInterval tripEndTime = PTimer::Tick(); 
    69  
    70         Debug("H245 Handling round trip delay\n"); 
     67        Logger::Debug("H245 Handling round trip delay\n"); 
    7168 
    7269        if (awaitingResponse && pdu.m_sequenceNumber == sequenceNumber)  
    7370        { 
    7471                awaitingResponse = FALSE; 
    75                 roundTripTime = tripEndTime - tripStartTime; 
    76                 retryCount = 3; 
    7772 
    7873                //Set event 
    79                 connection.OnEvent(Event(roundTripTime)); 
     74                connection.OnEvent(Event()); 
    8075        } 
    8176 
    8277        return TRUE; 
    8378} 
    84  
    85 /* 
    86 void H245RoundTripDelay::HandleTimeout(PTimer &, INT) 
    87 { 
    88 //      PWaitAndSignal wait(mutex); 
    89  
    90 //      PTRACE(3, "H245\tTimeout on round trip delay: seq=" << sequenceNumber 
    91         //                       << (awaitingResponse ? " awaitingResponse" : " idle")); 
    92  
    93         if (awaitingResponse && retryCount > 0) 
    94                 retryCount--; 
    95         awaitingResponse = FALSE; 
    96  
    97         connection.OnControlProtocolError(H245Connection::e_RoundTripDelay, "Timeout"); 
    98 } 
    99 */ 
  • libh324m/src/H245RoundTrip.h

    r3 r198  
    1313        { 
    1414                public: 
    15                         Event(PTimeInterval &d): delay(d
     15                        Event(
    1616                        { 
    1717                                source = H245Connection::e_RoundTripDelay; 
    1818                        }; 
    19                         PTimeInterval delay; 
    2019        }; 
    2120 
    2221public: 
    23     H245RoundTripDelay(H245Connection & connection); 
     22       H245RoundTripDelay(H245Connection & connection); 
    2423        virtual ~H245RoundTripDelay(); 
    2524 
    26     BOOL Start(); 
    27     BOOL HandleRequest(const H245_RoundTripDelayRequest & pdu); 
    28     BOOL HandleResponse(const H245_RoundTripDelayResponse & pdu); 
    29     /*void HandleTimeout(PTimer &, INT);*/ 
    30  
    31     PTimeInterval GetRoundTripDelay() const { return roundTripTime; } 
    32     BOOL IsRemoteOffline() const { return retryCount == 0; } 
     25        BOOL Start(); 
     26        BOOL HandleRequest(const H245_RoundTripDelayRequest & pdu); 
     27        BOOL HandleResponse(const H245_RoundTripDelayResponse & pdu); 
    3328 
    3429protected: 
    35     BOOL          awaitingResponse; 
    36     unsigned      sequenceNumber; 
    37     PTimeInterval tripStartTime; 
    38     PTimeInterval roundTripTime; 
    39     unsigned      retryCount; 
     30        BOOL          awaitingResponse; 
     31        unsigned      sequenceNumber; 
    4032}; 
    4133 
  • libh324m/src/H245TerminalCapability.cpp

    r196 r198  
    2121 */ 
    2222#include "H245TerminalCapability.h" 
    23  
    24 #define Debug printf 
     23#include "log.h" 
    2524 
    2625H245TerminalCapability::H245TerminalCapability(H245Connection & con) 
     
    4544BOOL H245TerminalCapability::TransferRequest(H245Capabilities* capabilities) 
    4645{ 
    47         //Debug 
    48         Debug("H245 TerminalCapabilitySet TransferRequest\n"); 
     46        //Logger::Debug 
     47        Logger::Debug("H245 TerminalCapabilitySet TransferRequest\n"); 
    4948 
    5049        //We are already in progress  
     
    7069BOOL H245TerminalCapability::HandleAck(const H245_TerminalCapabilitySetAck & pdu) 
    7170{ 
    72         Debug("H245 Received TerminalCapabilitySetAck\n"); 
     71        Logger::Debug("H245 Received TerminalCapabilitySetAck\n"); 
    7372         
    7473        //Check sequence number 
     
    9190BOOL H245TerminalCapability::HandleReject(const H245_TerminalCapabilitySetReject & pdu) 
    9291{ 
    93         Debug("H245 Received TerminalCapabilitySetReject\n"); 
     92        Logger::Debug("H245 Received TerminalCapabilitySetReject\n"); 
    9493         
    9594        //Check sequence number 
    &hel