[Opalvoip-svn] SF.net SVN: opalvoip:[32282] opal/trunk
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2014-07-02 04:42:42
|
Revision: 32282 http://sourceforge.net/p/opalvoip/code/32282 Author: rjongbloed Date: 2014-07-02 04:42:32 +0000 (Wed, 02 Jul 2014) Log Message: ----------- Merged revision(s) 32273-32280 from opal/branches/v3_14: Added Round Trip Time calculation (as per RFC 3550) to RTP statistics. Modified Paths: -------------- opal/trunk/include/opal/mediasession.h opal/trunk/include/rtp/rtp_session.h opal/trunk/samples/openphone/main.cxx opal/trunk/samples/openphone/openphone.wxg opal/trunk/samples/openphone/openphone.xrc opal/trunk/src/rtp/rtp_session.cxx Property Changed: ---------------- opal/trunk/ Index: opal/trunk =================================================================== --- opal/trunk 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk 2014-07-02 04:42:32 UTC (rev 32282) Property changes on: opal/trunk ___________________________________________________________________ Modified: svn:mergeinfo ## -7,7 +7,7 ## /opal/branches/rjongbloed/BarnardPlus:20584,20656,20749,20751,20756,20762,20786,20789,20814,20820,20829,20831,20841,20843,20923,20927,20938,22016-22017,22518,22582,22941 /opal/branches/v3_10:25182-29485,30896 /opal/branches/v3_12:28489-31709 -/opal/branches/v3_14:31505-32272 +/opal/branches/v3_14:31505-32280 /opal/branches/v3_2:21143,21220,21227,21253,21455 /opal/branches/v3_4:21060,21062,21088,21092,21111,21113,21115,21119,21143,21148,21151-21152,21155,21158,21184,21188,21253,21265-21266,21283-21284,21298,21300,21303,21307,21309,21311,21327,21331,21333,21359,21367,21369,21488,21556,21564-21565,21568,21570,21620,21625,21631,21748,21751,21756,21759,21761,21767,21770,22246,23044,23140,23143,23286 /opal/branches/v3_6:22169,22178,22184,22186,22197,22204,22216,22251,22253,22255,22258,22260,22291,22296,22300,22306,22308,22313,22319,22336,22353,22358,22436,22447,22449,22497,22511,22517,22519-22521,22527,22536,22538,22589,22596,22599,22617,22620,22622,22630,22640,22655,22675,22682,22726-22728,22730,22733,22738,22745-22746,22800,22820-22821,22842,22844-22845,22851,22853,22889,22896,22902,22904,22906,22918,22924,22928,22946,22965,22967,22976,22978,22980,22982,22994,23028,23123,23125-23126,23128,23157,23165,23173,23175,23183,23294,23341,23465,23467,23474,23521,23829,24346,24809 \ No newline at end of property Modified: opal/trunk/include/opal/mediasession.h =================================================================== --- opal/trunk/include/opal/mediasession.h 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk/include/opal/mediasession.h 2014-07-02 04:42:32 UTC (rev 32282) @@ -79,14 +79,15 @@ unsigned m_packetsOutOfOrder; unsigned m_packetsTooLate; unsigned m_packetOverruns; - unsigned m_minimumPacketTime; - unsigned m_averagePacketTime; - unsigned m_maximumPacketTime; + unsigned m_minimumPacketTime; // Milliseconds + unsigned m_averagePacketTime; // Milliseconds + unsigned m_maximumPacketTime; // Milliseconds + unsigned m_roundTripTime; // Milliseconds // Audio - unsigned m_averageJitter; - unsigned m_maximumJitter; - unsigned m_jitterBufferDelay; + unsigned m_averageJitter; // Milliseconds + unsigned m_maximumJitter; // Milliseconds + unsigned m_jitterBufferDelay; // Milliseconds #if OPAL_VIDEO // Video Modified: opal/trunk/include/rtp/rtp_session.h =================================================================== --- opal/trunk/include/rtp/rtp_session.h 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk/include/rtp/rtp_session.h 2014-07-02 04:42:32 UTC (rev 32282) @@ -560,6 +560,11 @@ time of received packets in milliseconds. */ DWORD GetJitterTimeOnRemote() const { return jitterLevelOnRemote/GetJitterTimeUnits(); } + + /**Get round trip time to remote. + This is calculated according to the RFC 3550 algorithm. + */ + DWORD GetRoundTripTime() const { return roundTripTime; } //@} virtual void SetCloseOnBYE(bool v) { m_closeOnBye = v; } @@ -664,6 +669,7 @@ PTimeInterval lastReceivedPacketTime; PTime lastSRTimestamp; PTime lastSRReceiveTime; + PTime lastRRSendTime; WORD lastRRSequenceNumber; unsigned m_lastTxFIRSequenceNumber; @@ -699,6 +705,7 @@ DWORD jitterLevel; DWORD jitterLevelOnRemote; DWORD maximumJitterLevel; + DWORD roundTripTime; DWORD m_syncTimestamp; PTime m_syncRealTime; Modified: opal/trunk/samples/openphone/main.cxx =================================================================== --- opal/trunk/samples/openphone/main.cxx 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk/samples/openphone/main.cxx 2014-07-02 04:42:32 UTC (rev 32282) @@ -8046,6 +8046,10 @@ value.sprintf(m_printFormat, statistics.m_averageJitter); STATISTICS_FIELD_END(TxAudio, AvgJitter) +STATISTICS_FIELD_BEG(TxAudio, RoundTripTime) + value.sprintf(m_printFormat, statistics.m_roundTripTime); +STATISTICS_FIELD_END(TxAudio, RoundTripTime) + STATISTICS_FIELD_BEG(RxVideo, Bandwidth) value.sprintf(m_printFormat, CalculateBandwidth(statistics.m_totalBytes)); STATISTICS_FIELD_END(RxVideo, Bandwidth) @@ -8130,6 +8134,10 @@ value.sprintf(m_printFormat, statistics.m_maximumPacketTime); STATISTICS_FIELD_END(TxVideo, MaxTime) +STATISTICS_FIELD_BEG(TxVideo, RoundTripTime) + value.sprintf(m_printFormat, statistics.m_roundTripTime); +STATISTICS_FIELD_END(TxVideo, RoundTripTime) + STATISTICS_FIELD_BEG(TxVideo, Frames) value.sprintf(m_printFormat, statistics.m_totalFrames); STATISTICS_FIELD_END(TxVideo, Frames) Modified: opal/trunk/samples/openphone/openphone.wxg =================================================================== --- opal/trunk/samples/openphone/openphone.wxg 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk/samples/openphone/openphone.wxg 2014-07-02 04:42:32 UTC (rev 32282) @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!-- generated by wxGlade 0.6.3 on Wed Apr 30 09:25:05 2014 --> +<!-- generated by wxGlade 0.6.3 on Wed Jul 02 13:49:56 2014 --> <application path="openphone.xrc" name="OpenPhone" class="" option="0" language="XRC" top_window="CallDialog" encoding="ISO-8859-1" use_gettext="1" overwrite="0" use_new_namespace="1" for_version="2.8" is_template="0"> <object class="MyMenuBar" name="MenuBar" base="EditMenuBar"> @@ -4526,7 +4526,7 @@ <option>0</option> <object class="wxFlexGridSizer" name="grid_sizer_17_copy" base="EditFlexGridSizer"> <hgap>2</hgap> - <rows>4</rows> + <rows>5</rows> <cols>4</cols> <vgap>0</vgap> <object class="sizeritem"> @@ -4673,6 +4673,42 @@ <option>0</option> <object class="wxStaticText" name="label_77_copy_copy_1" base="EditStaticText"> <attribute>1</attribute> + <label>Round trip:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <border>0</border> + <option>0</option> + <object class="wxStaticText" name="TxAudioRoundTripTime" base="EditStaticText"> + <style>wxST_NO_AUTORESIZE</style> + <attribute>1</attribute> + <label>%u ms</label> + <size>32, 9d</size> + </object> + </object> + <object class="sizeritem"> + <border>0</border> + <option>0</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>8</height> + <width>8</width> + </object> + </object> + <object class="sizeritem"> + <border>0</border> + <option>0</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>8</height> + <width>8</width> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <option>0</option> + <object class="wxStaticText" name="label_77_copy_copy_1_copy" base="EditStaticText"> + <attribute>1</attribute> <label>Avg Jitter:</label> </object> </object> @@ -4994,7 +5030,7 @@ <option>0</option> <object class="wxFlexGridSizer" name="grid_sizer_17_copy_copy" base="EditFlexGridSizer"> <hgap>2</hgap> - <rows>5</rows> + <rows>6</rows> <cols>4</cols> <vgap>0</vgap> <object class="sizeritem"> @@ -5139,16 +5175,16 @@ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> <border>0</border> <option>0</option> - <object class="wxStaticText" name="label_68" base="EditStaticText"> + <object class="wxStaticText" name="label_68_copy_1" base="EditStaticText"> <attribute>1</attribute> - <label>Key Frames:</label> + <label>Round Trip:</label> </object> </object> <object class="sizeritem"> <flag>wxALIGN_CENTER_VERTICAL</flag> <border>0</border> <option>0</option> - <object class="wxStaticText" name="TxVideoKeyFrames" base="EditStaticText"> + <object class="wxStaticText" name="TxVideoRoundTripTime" base="EditStaticText"> <style>wxST_NO_AUTORESIZE</style> <attribute>1</attribute> <label>%u</label> @@ -5180,7 +5216,7 @@ <option>0</option> <object class="wxStaticText" name="label_66" base="EditStaticText"> <attribute>1</attribute> - <label>Frames:</label> + <label>Total Frames:</label> </object> </object> <object class="sizeritem"> @@ -5193,6 +5229,42 @@ <size>32, 9d</size> </object> </object> + <object class="sizeritem"> + <border>0</border> + <option>0</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>8</height> + <width>8</width> + </object> + </object> + <object class="sizeritem"> + <border>0</border> + <option>0</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>8</height> + <width>8</width> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>0</border> + <option>0</option> + <object class="wxStaticText" name="label_68" base="EditStaticText"> + <attribute>1</attribute> + <label>Key Frames:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <border>0</border> + <option>0</option> + <object class="wxStaticText" name="TxVideoKeyFrames" base="EditStaticText"> + <style>wxST_NO_AUTORESIZE</style> + <attribute>1</attribute> + <label>%u</label> + <size>32, 9d</size> + </object> + </object> </object> </object> </object> Modified: opal/trunk/samples/openphone/openphone.xrc =================================================================== --- opal/trunk/samples/openphone/openphone.xrc 2014-07-02 04:39:38 UTC (rev 32281) +++ opal/trunk/samples/openphone/openphone.xrc 2014-07-02 04:42:32 UTC (rev 32282) @@ -1,7 +1,1370 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- generated by wxGlade 0.6.3 on Wed Apr 30 09:25:51 2014 --> +<!-- generated by wxGlade 0.6.3 on Wed Jul 02 13:51:09 2014 --> <resource version="2.3.0.1"> + <object class="wxPanel" name="InCallPanel" subclass="InCallPanel"> + <style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxBOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> + <border>8</border> + <object class="wxCheckBox" name="SpeakerMute"> + <checked>1</checked> + <label>Speaker</label> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxALIGN_CENTER_HORIZONTAL</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxSlider" name="SpeakerVolume"> + <style>wxSL_VERTICAL|wxSL_INVERSE</style> + <min>0</min> + <max> 100</max> + <size>16, 72d</size> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxGauge" name="SpeakerGauge"> + <style>wxGA_VERTICAL|wxGA_SMOOTH</style> + <range>100</range> + <size>16, 72d</size> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxBOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> + <border>8</border> + <object class="wxCheckBox" name="MicrophoneMute"> + <checked>1</checked> + <label>Microphone</label> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxEXPAND|wxALIGN_CENTER_HORIZONTAL</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxSlider" name="MicrophoneVolume"> + <style>wxSL_VERTICAL|wxSL_INVERSE</style> + <min>0</min> + <max> 100</max> + <size>16, 72d</size> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxGauge" name="MicrophoneGauge"> + <style>wxGA_VERTICAL|wxGA_SMOOTH</style> + <range>100</range> + <size>16, 72d</size> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <object class="wxNotebook" name="Statistics"> + <usenotebooksizer>1</usenotebooksizer> + <object class="notebookpage"> + <label>Rx Audio</label> + <object class="wxPanel" name="RxAudioStatistics"> + <style>wxTAB_TRAVERSAL</style> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxALL</flag> + <border>4</border> + <object class="wxFlexGridSizer"> + <hgap>2</hgap> + <rows>7</rows> + <cols>4</cols> + <vgap>0</vgap> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_78"> + <label>Bandwidth:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioBandwidth"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 9d</size> + <label>%.1f kbps</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_79"> + <label>Min Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioMinTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_65"> + <label>Total Bytes:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioBytes"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 8d</size> + <label>%llu</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_81"> + <label>Avg Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioAvgTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_67"> + <label>Packets:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioPackets"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_80"> + <label>Max Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioMaxTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_73"> + <label>Packets Lost:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioLost"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_77_copy"> + <label>Avg Jitter:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioAvgJitter"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_71"> + <label>Out of Order:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioOutOfOrder"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_77"> + <label>Max Jitter:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioMaxJitter"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_75"> + <label>Too Late:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioTooLate"> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_77_copy_2"> + <label>Jitter Delay:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioJitterDelay"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_75_copy_27"> + <label>Overruns:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioOverruns"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="notebookpage"> + <label>Tx Audio</label> + <object class="wxPanel" name="TxAudioStatistics"> + <style>wxTAB_TRAVERSAL</style> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxALL</flag> + <border>4</border> + <object class="wxFlexGridSizer"> + <hgap>2</hgap> + <rows>5</rows> + <cols>4</cols> + <vgap>0</vgap> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_78_copy"> + <label>Bandwidth:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioBandwidth"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 9d</size> + <label>%.1f kbps</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_79_copy"> + <label>Min Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioMinTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_65_copy"> + <label>Total Bytes:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioBytes"> + <style>wxST_NO_AUTORESIZE</style> + <size>14, 8d</size> + <label>%llu</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_81_copy"> + <label>Avg Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioAvgTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_67_copy_1_copy"> + <label>Packets:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioPackets"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_80_copy"> + <label>Max Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioMaxTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_101"> + <label>Packets Lost:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioLost"> + <label>%u</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_77_copy_copy_1"> + <label>Round trip:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioRoundTripTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="spacer"> + <size>8, 8</size> + </object> + <object class="spacer"> + <size>8, 8</size> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_77_copy_copy_1_copy"> + <label>Avg Jitter:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="TxAudioAvgJitter"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="notebookpage"> + <label>Rx Video</label> + <object class="wxPanel" name="RxVideoStatistics"> + <style>wxTAB_TRAVERSAL</style> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxALL</flag> + <border>4</border> + <object class="wxFlexGridSizer"> + <hgap>2</hgap> + <rows>7</rows> + <cols>4</cols> + <vgap>0</vgap> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_78_copy_1"> + <label>Bandwidth:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxVideoBandwidth"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 9d</size> + <label>%.1f kbps</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_79_copy_1"> + ... [truncated message content] |