Skip to content

Commit 06ded89

Browse files
committed
report nework data
1 parent 0738792 commit 06ded89

5 files changed

Lines changed: 446 additions & 3 deletions

File tree

windows/APIExample/APIExample/APIExample.rc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,7 @@ BEGIN
602602
COMBOBOX IDC_COMBO_COLOR,411,331,76,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
603603
PUSHBUTTON "Image File Path",IDC_BUTTON_IMAGE,331,329,73,14
604604
EDITTEXT IDC_EDIT_IMAGE_PATH,411,329,144,14,ES_AUTOHSCROLL
605+
CONTROL "Report",IDC_CHECK_REPORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,570,325,38,10
605606
END
606607

607608
IDD_DIALOG_MUTI_SOURCE DIALOGEX 0, 0, 632, 400

windows/APIExample/APIExample/Basic/LiveBroadcasting/CLiveBroadcastingDlg.cpp

Lines changed: 308 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
153166
END_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

Comments
 (0)