@@ -129,6 +129,7 @@ void CLiveBroadcastingDlg::DoDataExchange(CDataExchange* pDX)
129129 DDX_Control (pDX, IDC_BUTTON_IMAGE, m_btnImagePath);
130130 DDX_Control (pDX, IDC_CHECK_ENABLE_BACKGROUND, m_chkEnableBackground);
131131 DDX_Control (pDX, IDC_EDIT_IMAGE_PATH, m_edtImagePath);
132+ DDX_Control (pDX, IDC_CHECK_REPORT, m_chkReport);
132133}
133134
134135
@@ -150,6 +151,18 @@ BEGIN_MESSAGE_MAP(CLiveBroadcastingDlg, CDialogEx)
150151 ON_BN_CLICKED(IDC_BUTTON_IMAGE, &CLiveBroadcastingDlg::OnBnClickedButtonImage)
151152 ON_BN_CLICKED(IDC_CHECK_ENABLE_BACKGROUND, &CLiveBroadcastingDlg::OnBnClickedCheckEnableBackground)
152153 ON_CBN_SELCHANGE(IDC_COMBO_BACKGROUND_TYPE, &CLiveBroadcastingDlg::OnSelchangeComboBackgroundType)
154+
155+
156+ ON_MESSAGE(WM_MSGID(EID_NETWORK_QUALITY), &CLiveBroadcastingDlg::OnEIDNetworkQuality)
157+ ON_MESSAGE(WM_MSGID(EID_RTC_STATS), &CLiveBroadcastingDlg::onEIDRtcStats)
158+ ON_MESSAGE(WM_MSGID(EID_LOCAL_AUDIO_STATS), &CLiveBroadcastingDlg::onEIDLocalAudioStats)
159+ ON_MESSAGE(WM_MSGID(EID_LOCAL_AUDIO_STATE_CHANED), &CLiveBroadcastingDlg::onEIDLocalAudioStateChanged)
160+ ON_MESSAGE(WM_MSGID(EID_REMOTE_AUDIO_STATS), &CLiveBroadcastingDlg::onEIDRemoteAudioStats)
161+ ON_MESSAGE(WM_MSGID(EID_REMOTE_AUDIO_STATE_CHANGED), &CLiveBroadcastingDlg::onEIDRemoteAudioStateChanged)
162+ ON_MESSAGE(WM_MSGID(EID_LOCAL_VIDEO_STATS), &CLiveBroadcastingDlg::onEIDLocalVideoStats)
163+ ON_MESSAGE(WM_MSGID(EID_LOCAL_VIDEO_STATE_CHANGED), &CLiveBroadcastingDlg::onEIDLocalVideoStateChanged)
164+ ON_MESSAGE(WM_MSGID(EID_REMOTE_VIDEO_STATS), &CLiveBroadcastingDlg::onEIDRemoteVideoStats)
165+ ON_BN_CLICKED(IDC_CHECK_REPORT, &CLiveBroadcastingDlg::OnBnClickedCheckReport)
153166END_MESSAGE_MAP()
154167
155168
@@ -833,3 +846,298 @@ void CLiveBroadcastingDlg::OnSelchangeComboBackgroundType()
833846 m_btnImagePath.ShowWindow (SW_SHOW);
834847 }
835848}
849+
850+ LRESULT CLiveBroadcastingDlg::OnEIDNetworkQuality (WPARAM wParam, LPARAM lParam) {
851+ PNetworkQuality quality = (PNetworkQuality)wParam;
852+ CString strInfo = _T (" ===onNetworkQuality===" );
853+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
854+ strInfo.Format (_T (" uid:%u" ), quality->uid );
855+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
856+ strInfo.Format (_T (" txQuality:%d" ), quality->txQuality );
857+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
858+ strInfo.Format (_T (" rxQuality:%u" ), quality->rxQuality );
859+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
860+
861+ if (quality) {
862+ delete quality;
863+ quality = nullptr ;
864+ }
865+ return 0 ;
866+ }
867+ LRESULT CLiveBroadcastingDlg::onEIDRtcStats (WPARAM wParam, LPARAM lParam) {
868+ RtcStats* stats = (RtcStats*)wParam;
869+ CString strInfo = _T (" ===onRtcStats===" );
870+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
871+ strInfo.Format (_T (" duration:%u" ), stats->duration );
872+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
873+ strInfo.Format (_T (" txBytes:%u" ), stats->txBytes );
874+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
875+ strInfo.Format (_T (" rxBytes:%u" ), stats->rxBytes );
876+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
877+
878+ strInfo.Format (_T (" txAudioBytes:%u" ), stats->txAudioBytes );
879+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
880+ strInfo.Format (_T (" txVideoBytes:%u" ), stats->txVideoBytes );
881+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
882+
883+ strInfo.Format (_T (" rxAudioBytes:%u" ), stats->rxAudioBytes );
884+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
885+ strInfo.Format (_T (" rxVideoBytes:%u" ), stats->rxVideoBytes );
886+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
887+
888+ strInfo.Format (_T (" txKBitRate:%u" ), stats->txKBitRate );
889+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
890+ strInfo.Format (_T (" rxKBitRate:%u" ), stats->rxKBitRate );
891+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
892+
893+ strInfo.Format (_T (" rxAudioKBitRate:%u" ), stats->rxAudioKBitRate );
894+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
895+ strInfo.Format (_T (" txAudioKBitRate:%u" ), stats->txAudioKBitRate );
896+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
897+
898+ strInfo.Format (_T (" rxVideoKBitRate:%u" ), stats->rxVideoKBitRate );
899+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
900+ strInfo.Format (_T (" txVideoKBitRate:%u" ), stats->txVideoKBitRate );
901+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
902+
903+ strInfo.Format (_T (" lastmileDelay:%u" ), stats->lastmileDelay );
904+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
905+ strInfo.Format (_T (" userCount:%u" ), stats->userCount );
906+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
907+
908+ strInfo.Format (_T (" cpuAppUsage:%u" ), stats->cpuAppUsage );
909+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
910+ strInfo.Format (_T (" cpuTotalUsage:%u" ), stats->cpuTotalUsage );
911+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
912+
913+
914+ strInfo.Format (_T (" gatewayRtt:%u" ), stats->gatewayRtt );
915+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
916+ strInfo.Format (_T (" memoryAppUsageRatio:%u" ), stats->memoryAppUsageRatio );
917+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
918+ strInfo.Format (_T (" memoryTotalUsageRatio:%u" ), stats->memoryTotalUsageRatio );
919+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
920+ strInfo.Format (_T (" memoryAppUsageInKbytes:%u" ), stats->memoryAppUsageInKbytes );
921+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
922+
923+
924+ strInfo.Format (_T (" txPacketLossRate:%u" ), stats->txPacketLossRate );
925+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
926+ strInfo.Format (_T (" rxPacketLossRate:%u" ), stats->rxPacketLossRate );
927+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
928+
929+
930+ if (stats) {
931+ delete stats;
932+ stats = nullptr ;
933+ }
934+ return 0 ;
935+ }
936+
937+ LRESULT CLiveBroadcastingDlg::onEIDLocalAudioStats (WPARAM wParam, LPARAM lParam) {
938+ LocalAudioStats* stats = (LocalAudioStats*)wParam;
939+ CString strInfo = _T (" ===onLocalAudioStats===" );
940+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
941+
942+ strInfo.Format (_T (" numChannels:%u" ), stats->numChannels );
943+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
944+ strInfo.Format (_T (" sentSampleRate:%u" ), stats->sentSampleRate );
945+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
946+
947+ strInfo.Format (_T (" sentBitrate:%u" ), stats->sentBitrate );
948+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
949+ strInfo.Format (_T (" txPacketLossRate:%u" ), stats->txPacketLossRate );
950+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
951+
952+
953+ if (stats) {
954+ delete stats;
955+ stats = nullptr ;
956+ }
957+ return 0 ;
958+ }
959+
960+ LRESULT CLiveBroadcastingDlg::onEIDLocalAudioStateChanged (WPARAM wParam, LPARAM lParam) {
961+ LOCAL_AUDIO_STREAM_STATE state = (LOCAL_AUDIO_STREAM_STATE)wParam;
962+ LOCAL_AUDIO_STREAM_ERROR error = (LOCAL_AUDIO_STREAM_ERROR)lParam;
963+ CString strInfo = _T (" ===onLocalAudioStateChanged===" );
964+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
965+
966+ strInfo.Format (_T (" state:%d" ), state);
967+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
968+ strInfo.Format (_T (" error:%d" ), error);
969+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
970+ return 0 ;
971+ }
972+ LRESULT CLiveBroadcastingDlg::onEIDRemoteAudioStats (WPARAM wParam, LPARAM lParam) {
973+ RemoteAudioStats* stats = (RemoteAudioStats*)wParam;
974+ CString strInfo = _T (" ===onRemoteAudioStats===" );
975+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
976+
977+ strInfo.Format (_T (" uid:%u" ), stats->uid );
978+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
979+ strInfo.Format (_T (" quality:%d" ), stats->quality );
980+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
981+
982+ strInfo.Format (_T (" networkTransportDelay:%d" ), stats->networkTransportDelay );
983+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
984+ strInfo.Format (_T (" jitterBufferDelay:%d" ), stats->jitterBufferDelay );
985+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
986+
987+ strInfo.Format (_T (" audioLossRate:%d" ), stats->audioLossRate );
988+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
989+ strInfo.Format (_T (" numChannels:%d" ), stats->numChannels );
990+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
991+ strInfo.Format (_T (" receivedSampleRate:%d" ), stats->receivedSampleRate );
992+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
993+ strInfo.Format (_T (" receivedBitrate:%d" ), stats->receivedBitrate );
994+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
995+
996+ strInfo.Format (_T (" totalFrozenTime:%d" ), stats->totalFrozenTime );
997+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
998+ strInfo.Format (_T (" frozenRate:%d" ), stats->frozenRate );
999+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1000+ strInfo.Format (_T (" mosValue:%d" ), stats->mosValue );
1001+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1002+ strInfo.Format (_T (" totalActiveTime:%d" ), stats->totalActiveTime );
1003+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1004+
1005+ strInfo.Format (_T (" publishDuration:%d" ), stats->publishDuration );
1006+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1007+ if (stats) {
1008+ delete stats;
1009+ stats = nullptr ;
1010+ }
1011+ return 0 ;
1012+ }
1013+ LRESULT CLiveBroadcastingDlg::onEIDRemoteAudioStateChanged (WPARAM wParam, LPARAM lParam) {
1014+ CString strInfo = _T (" ===onRemoteAudioStateChanged===" );
1015+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1016+ PRemoteAudioState state = (PRemoteAudioState)wParam;
1017+
1018+ strInfo.Format (_T (" elapsed:%d" ), state->elapsed );
1019+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1020+ strInfo.Format (_T (" uid:%u" ), state->uid );
1021+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1022+ strInfo.Format (_T (" state:%d" ), state->state );
1023+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1024+ strInfo.Format (_T (" reason:%d" ), state->reason );
1025+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1026+ return 0 ;
1027+ }
1028+ LRESULT CLiveBroadcastingDlg::onEIDLocalVideoStats (WPARAM wParam, LPARAM lParam) {
1029+ LocalVideoStats* stats = (LocalVideoStats*)wParam;
1030+ CString strInfo = _T (" ===onLocalVideoStats===" );
1031+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1032+
1033+ strInfo.Format (_T (" sentBitrate:%d" ), stats->sentBitrate );
1034+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1035+
1036+ strInfo.Format (_T (" sentFrameRate:%d" ), stats->sentFrameRate );
1037+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1038+ strInfo.Format (_T (" encoderOutputFrameRate:%d" ), stats->encoderOutputFrameRate );
1039+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1040+
1041+ strInfo.Format (_T (" rendererOutputFrameRate:%d" ), stats->rendererOutputFrameRate );
1042+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1043+ strInfo.Format (_T (" targetBitrate:%d" ), stats->targetBitrate );
1044+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1045+
1046+ strInfo.Format (_T (" qualityAdaptIndication:%d" ), stats->qualityAdaptIndication );
1047+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1048+ strInfo.Format (_T (" encodedBitrate:%d" ), stats->encodedBitrate );
1049+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1050+
1051+ strInfo.Format (_T (" encodedFrameWidth:%d" ), stats->encodedFrameWidth );
1052+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1053+ strInfo.Format (_T (" encodedFrameHeight:%d" ), stats->encodedFrameHeight );
1054+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1055+
1056+ strInfo.Format (_T (" encodedFrameCount:%d" ), stats->encodedFrameCount );
1057+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1058+ strInfo.Format (_T (" codecType:%d" ), stats->codecType );
1059+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1060+
1061+ if (stats) {
1062+ delete stats;
1063+ stats = nullptr ;
1064+ }
1065+ return 0 ;
1066+ }
1067+ LRESULT CLiveBroadcastingDlg::onEIDLocalVideoStateChanged (WPARAM wParam, LPARAM lParam) {
1068+
1069+ LOCAL_VIDEO_STREAM_STATE state = (LOCAL_VIDEO_STREAM_STATE)wParam;
1070+ LOCAL_VIDEO_STREAM_ERROR error = (LOCAL_VIDEO_STREAM_ERROR)lParam;
1071+ CString strInfo = _T (" ===onLocalVideoStateChanged===" );
1072+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1073+
1074+ strInfo.Format (_T (" state:%d" ), state);
1075+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1076+ strInfo.Format (_T (" error:%d" ), error);
1077+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1078+ return 0 ;
1079+ }
1080+ LRESULT CLiveBroadcastingDlg::onEIDRemoteVideoStats (WPARAM wParam, LPARAM lParam) {
1081+ RemoteVideoStats* stats = (RemoteVideoStats*)wParam;
1082+ CString strInfo = _T (" ===onRemoteVideoStats===" );
1083+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1084+
1085+ strInfo.Format (_T (" uid:%u" ), stats->uid );
1086+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1087+ strInfo.Format (_T (" delay:%d" ), stats->delay );
1088+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1089+
1090+ strInfo.Format (_T (" width:%d" ), stats->width );
1091+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1092+ strInfo.Format (_T (" height:%d" ), stats->height );
1093+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1094+
1095+ strInfo.Format (_T (" receivedBitrate:%d" ), stats->receivedBitrate );
1096+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1097+ strInfo.Format (_T (" decoderOutputFrameRate:%d" ), stats->decoderOutputFrameRate );
1098+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1099+
1100+ strInfo.Format (_T (" rendererOutputFrameRate:%d" ), stats->rendererOutputFrameRate );
1101+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1102+
1103+ strInfo.Format (_T (" packetLossRate:%d" ), stats->packetLossRate );
1104+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1105+ strInfo.Format (_T (" rxStreamType:%d" ), stats->rxStreamType );
1106+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1107+
1108+ strInfo.Format (_T (" totalFrozenTime:%d" ), stats->totalFrozenTime );
1109+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1110+ strInfo.Format (_T (" frozenRate:%d" ), stats->frozenRate );
1111+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1112+
1113+ strInfo.Format (_T (" totalActiveTime:%d" ), stats->totalActiveTime );
1114+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1115+ strInfo.Format (_T (" publishDuration:%d" ), stats->publishDuration );
1116+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1117+
1118+ if (stats) {
1119+ delete stats;
1120+ stats = nullptr ;
1121+ }
1122+ return 0 ;
1123+ }
1124+ LRESULT CLiveBroadcastingDlg::onEIDRemoteVideoStateChanged (WPARAM wParam, LPARAM lParam) {
1125+ CString strInfo = _T (" ===onRemoteVideoStateChanged===" );
1126+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1127+ PRemoteVideoState state = (PRemoteVideoState)wParam;
1128+
1129+ strInfo.Format (_T (" elapsed:%d" ), state->elapsed );
1130+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1131+ strInfo.Format (_T (" uid:%u" ), state->uid );
1132+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1133+ strInfo.Format (_T (" state:%d" ), state->state );
1134+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1135+ strInfo.Format (_T (" reason:%d" ), state->reason );
1136+ m_lstInfo.InsertString (m_lstInfo.GetCount (), strInfo);
1137+ return 0 ;
1138+ }
1139+
1140+ void CLiveBroadcastingDlg::OnBnClickedCheckReport ()
1141+ {
1142+ m_eventHandler.SetReport (m_chkReport.GetCheck () != 0 );
1143+ }
0 commit comments