Skip to content

Commit 1ab1ba6

Browse files
author
Xia Ning
committed
Merge remote-tracking branch 'refs/remotes/origin/dev/3.4.5'
2 parents 93309f9 + 75f2c04 commit 1ab1ba6

16 files changed

Lines changed: 524 additions & 56 deletions

File tree

windows/APIExample/APIExample.sln

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,26 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProcessScreenShare", "APIEx
99
EndProject
1010
Global
1111
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12-
Debug|Win32 = Debug|Win32
1312
Debug|x64 = Debug|x64
14-
Release|Win32 = Release|Win32
13+
Debug|x86 = Debug|x86
1514
Release|x64 = Release|x64
15+
Release|x86 = Release|x86
1616
EndGlobalSection
1717
GlobalSection(ProjectConfigurationPlatforms) = postSolution
18-
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|Win32.ActiveCfg = Debug|Win32
19-
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|Win32.Build.0 = Debug|Win32
2018
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|x64.ActiveCfg = Debug|x64
2119
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|x64.Build.0 = Debug|x64
22-
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|Win32.ActiveCfg = Release|Win32
23-
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|Win32.Build.0 = Release|Win32
20+
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|x86.ActiveCfg = Debug|Win32
21+
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Debug|x86.Build.0 = Debug|Win32
2422
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x64.ActiveCfg = Release|x64
2523
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x64.Build.0 = Release|x64
26-
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|Win32.ActiveCfg = Debug|Win32
27-
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|Win32.Build.0 = Debug|Win32
24+
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x86.ActiveCfg = Release|Win32
25+
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x86.Build.0 = Release|Win32
2826
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x64.ActiveCfg = Debug|Win32
29-
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Release|Win32.ActiveCfg = Release|Win32
30-
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Release|Win32.Build.0 = Release|Win32
27+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x86.ActiveCfg = Debug|Win32
28+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x86.Build.0 = Debug|Win32
3129
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Release|x64.ActiveCfg = Release|Win32
30+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Release|x86.ActiveCfg = Release|Win32
31+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Release|x86.Build.0 = Release|Win32
3232
EndGlobalSection
3333
GlobalSection(SolutionProperties) = preSolution
3434
HideSolutionNode = FALSE

windows/APIExample/APIExample/APIExample.rc

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#undef APSTUDIO_READONLY_SYMBOLS
1818

1919
/////////////////////////////////////////////////////////////////////////////
20-
// ����(���壬�й�) resources
20+
// Chinese (Simplified, PRC) resources
2121

2222
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
2323
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
@@ -202,10 +202,13 @@ BEGIN
202202
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,11,328,48,8
203203
EDITTEXT IDC_EDIT_CHANNELNAME,71,326,218,13,ES_AUTOHSCROLL
204204
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,307,326,50,14
205-
LTEXT "ChannelList",IDC_STATIC_CHANNEL_LIST,11,353,53,8
206-
COMBOBOX IDC_COMBO_CHANNEL_LIST,71,352,218,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
205+
LTEXT "ChannelList",IDC_STATIC_CHANNEL_LIST,10,348,53,8
206+
COMBOBOX IDC_COMBO_CHANNEL_LIST,70,347,218,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
207207
LTEXT "",IDC_STATIC_DETAIL,442,325,181,58
208-
PUSHBUTTON "JoinChannel",IDC_BUTTON_LEAVE_CHANNEL,308,353,50,14
208+
PUSHBUTTON "JoinChannel",IDC_BUTTON_LEAVE_CHANNEL,307,348,50,14
209+
CONTROL "Publish Audio",IDC_CHECK_PUBLISH_AUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,27,379,60,10
210+
CONTROL "Publish Video",IDC_CHECK_PUBLISH_VIDEO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,121,379,59,10
211+
GROUPBOX "Channel Publish",IDC_STATIC,16,366,173,31
209212
END
210213

211214
IDD_DIALOG_AUDIO_PROFILE DIALOGEX 0, 0, 632, 400
@@ -572,22 +575,31 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
572575
FONT 8, "MS Shell Dlg", 400, 0, 0x1
573576
BEGIN
574577
LTEXT "",IDC_STATIC_VIDEO,1,0,483,310
575-
LISTBOX IDC_LIST_INFO_BROADCASTING,491,0,139,312,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
576-
COMBOBOX IDC_COMBO_ROLE,56,349,60,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
577-
COMBOBOX IDC_COMBO_PERSONS,168,349,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
578-
LTEXT "Client Role",IDC_STATIC_ROLE,8,351,44,10
579-
LTEXT "Persons",IDC_STATIC_PERSONS,123,353,37,8
580-
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,240,353,48,8
581-
EDITTEXT IDC_EDIT_CHANNELNAME,296,349,108,12,ES_AUTOHSCROLL
582-
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,412,347,50,14
583-
LTEXT "",IDC_STATIC_DETAIL,420,314,188,27
584-
LTEXT "Loopback Device",IDC_STATIC_LOOPBACK_DEVICE,12,373,66,8
585-
COMBOBOX IDC_COMBO_LOOPBACK_DEVICE,81,370,150,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
586-
CONTROL "Enable Loopback",IDC_CHECK_LOOPBACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,242,369,72,13
587-
LTEXT "Loopback Volume",IDC_STATIC_LOOPBACK_VOLUME,319,371,68,8
588-
CONTROL "",IDC_SLIDER_LOOPBACK,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,392,366,204,17
589-
COMBOBOX IDC_COMBO_AUDIENCE_LATENCY,548,349,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
590-
LTEXT "Audience Latency",IDC_STATIC_AUDIENCE_LATENCY,476,350,62,8
578+
LISTBOX IDC_LIST_INFO_BROADCASTING,491,0,139,294,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
579+
COMBOBOX IDC_COMBO_ROLE,56,352,60,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
580+
COMBOBOX IDC_COMBO_PERSONS,168,352,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
581+
LTEXT "Client Role",IDC_STATIC_ROLE,8,354,44,10
582+
LTEXT "Persons",IDC_STATIC_PERSONS,123,356,37,8
583+
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,240,356,48,8
584+
EDITTEXT IDC_EDIT_CHANNELNAME,296,352,108,12,ES_AUTOHSCROLL
585+
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,412,350,50,14
586+
LTEXT "",IDC_STATIC_DETAIL,492,301,138,20
587+
LTEXT "Loopback Device",IDC_STATIC_LOOPBACK_DEVICE,12,376,66,8
588+
COMBOBOX IDC_COMBO_LOOPBACK_DEVICE,81,373,150,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
589+
CONTROL "Enable Loopback",IDC_CHECK_LOOPBACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,242,372,72,13
590+
LTEXT "Loopback Volume",IDC_STATIC_LOOPBACK_VOLUME,319,374,68,8
591+
CONTROL "",IDC_SLIDER_LOOPBACK,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,392,369,204,17
592+
COMBOBOX IDC_COMBO_AUDIENCE_LATENCY,548,352,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
593+
LTEXT "Audience Latency",IDC_STATIC_AUDIENCE_LATENCY,476,353,62,8
594+
GROUPBOX "Video Background Substitution",IDC_STATIC,10,318,555,31
595+
CONTROL "Enable Video Source Background",IDC_CHECK_ENABLE_BACKGROUND,
596+
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,333,119,10
597+
LTEXT "Video Source Background",IDC_STATIC_BACKGROUND,154,333,81,8
598+
COMBOBOX IDC_COMBO_BACKGROUND_TYPE,244,331,76,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
599+
LTEXT "Background Color",IDC_STATIC_COLOR,334,332,57,8
600+
COMBOBOX IDC_COMBO_COLOR,411,331,76,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
601+
PUSHBUTTON "Image File Path",IDC_BUTTON_IMAGE,331,329,73,14
602+
EDITTEXT IDC_EDIT_IMAGE_PATH,411,329,144,14,ES_AUTOHSCROLL
591603
END
592604

593605
IDD_DIALOG_MUTI_SOURCE DIALOGEX 0, 0, 632, 400
@@ -914,12 +926,12 @@ IDB_BITMAP_NETWORK_STATE BITMAP "res\\IDB_NETWORK_QUALITY.bmp"
914926

915927
IDR_TEST_WAVE WAVE "res\\ID_TEST_AUDIO.wav"
916928

917-
#endif // ����(���壬�й�) resources
929+
#endif // Chinese (Simplified, PRC) resources
918930
/////////////////////////////////////////////////////////////////////////////
919931

920932

921933
/////////////////////////////////////////////////////////////////////////////
922-
// Ӣ��(����) resources
934+
// English (United States) resources
923935

924936
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
925937
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
@@ -1045,7 +1057,7 @@ BEGIN
10451057
IDS_ABOUTBOX "&About APIExample..."
10461058
END
10471059

1048-
#endif // Ӣ��(����) resources
1060+
#endif // English (United States) resources
10491061
/////////////////////////////////////////////////////////////////////////////
10501062

10511063

windows/APIExample/APIExample/Advanced/MediaEncrypt/CAgoraMediaEncryptDlg.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,21 @@ BOOL CAgoraMediaEncryptDlg::OnInitDialog()
158158
m_localVideoWnd.MoveWindow(&rcArea);
159159
m_localVideoWnd.ShowWindow(SW_SHOW);
160160
int nIndex = 0;
161-
m_cmbEncryptMode.InsertString(nIndex++, _T("AES_128_XTS"));
161+
/*m_cmbEncryptMode.InsertString(nIndex++, _T("AES_128_XTS"));
162162
m_cmbEncryptMode.InsertString(nIndex++, _T("AES_128_ECB"));
163163
m_cmbEncryptMode.InsertString(nIndex++, _T("AES_256_XTS"));
164164
m_cmbEncryptMode.InsertString(nIndex++, _T("SM4_128_ECB"));
165165
166166
m_mapEncryptMode.insert(std::make_pair("AES_128_XTS", AES_128_XTS));
167167
m_mapEncryptMode.insert(std::make_pair("AES_128_ECB", AES_128_ECB));
168168
m_mapEncryptMode.insert(std::make_pair("AES_256_XTS", AES_256_XTS));
169-
m_mapEncryptMode.insert(std::make_pair("SM4_128_ECB", SM4_128_ECB));
169+
m_mapEncryptMode.insert(std::make_pair("SM4_128_ECB", SM4_128_ECB));*/
170170

171+
m_cmbEncryptMode.InsertString(nIndex++, _T("AES_128_GCM2"));
172+
m_cmbEncryptMode.InsertString(nIndex++, _T("AES_256_GCM2"));
173+
m_cmbEncryptMode.SetCurSel(0);
174+
m_mapEncryptMode.insert(std::make_pair("AES_128_GCM2", AES_128_GCM2));
175+
m_mapEncryptMode.insert(std::make_pair("AES_256_GCM2", AES_256_GCM2));
171176
int i = 0;
172177
ResumeStatus();
173178
return TRUE;
@@ -226,7 +231,12 @@ void CAgoraMediaEncryptDlg::OnBnClickedButtonJoinchannel()
226231
m_lstInfo.InsertString(m_lstInfo.GetCount(), strInfo);
227232
}
228233

234+
std::string getEncryptionSaltFromServer()
235+
{
236+
return "EncryptionKdfSaltInBase64Strings";
237+
}
229238
//set media encrypt button click handler
239+
230240
void CAgoraMediaEncryptDlg::OnBnClickedButtonSetMediaEncrypt()
231241
{
232242
//get window text to convert utf-8 string
@@ -239,6 +249,7 @@ void CAgoraMediaEncryptDlg::OnBnClickedButtonSetMediaEncrypt()
239249
EncryptionConfig config;
240250
config.encryptionMode = m_mapEncryptMode[encryption.c_str()];
241251
config.encryptionKey = secret.c_str();
252+
memcpy(config.encryptionKdfSalt, getEncryptionSaltFromServer().c_str(), 32);
242253
//set encrypt mode
243254
m_rtcEngine->enableEncryption(true, config);
244255
CString strInfo;
@@ -442,4 +453,4 @@ void CAgoraMediaEncryptHandler::onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDE
442453
stateChanged->state = state;
443454
::PostMessage(m_hMsgHanlder, WM_MSGID(EID_REMOTE_VIDEO_STATE_CHANED), (WPARAM)stateChanged, 0);
444455
}
445-
}
456+
}

windows/APIExample/APIExample/Advanced/MultiChannel/CAgoraMultiChannelDlg.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ void CAgoraMultiChannelDlg::DoDataExchange(CDataExchange* pDX)
2727
DDX_Control(pDX, IDC_COMBO_CHANNEL_LIST, m_cmbChannelList);
2828
DDX_Control(pDX, IDC_BUTTON_LEAVE_CHANNEL, m_btnLeaveChannel);
2929
DDX_Control(pDX, IDC_STATIC_DETAIL, m_staDetail);
30+
DDX_Control(pDX, IDC_CHECK_PUBLISH_AUDIO, m_chkPublishAudio);
31+
DDX_Control(pDX, IDC_CHECK_PUBLISH_VIDEO, m_chkPublishVideo);
3032
}
3133

3234

@@ -156,6 +158,9 @@ void CAgoraMultiChannelDlg::ResumeStatus()
156158
m_joinChannel = false;
157159
m_initialize = false;
158160
m_audioMixing = false;
161+
162+
m_chkPublishAudio.SetCheck(false);
163+
m_chkPublishVideo.SetCheck(false);
159164
}
160165

161166

@@ -182,6 +187,9 @@ BOOL CAgoraMultiChannelDlg::OnInitDialog()
182187
m_staVideoArea.GetClientRect(&rcArea);
183188
m_localVideoWnd.MoveWindow(&rcArea);
184189
m_localVideoWnd.ShowWindow(SW_SHOW);
190+
191+
m_chkPublishAudio.SetWindowText(mediaPlayerCtrlPublishAudio);
192+
m_chkPublishVideo.SetWindowText(mediaPlayerCtrlPublishVideo);
185193
ResumeStatus();
186194
return TRUE;
187195
}
@@ -243,6 +251,8 @@ void CAgoraMultiChannelDlg::OnBnClickedButtonJoinchannel()
243251
ChannelMediaOptions options;
244252
options.autoSubscribeAudio = true;
245253
options.autoSubscribeVideo = true;
254+
options.publishLocalAudio = m_chkPublishAudio.GetCheck();
255+
options.publishLocalVideo = m_chkPublishVideo.GetCheck();
246256
pChannel->setClientRole(CLIENT_ROLE_BROADCASTER);
247257
//join channel
248258
if (0 == pChannel->joinChannel(APP_TOKEN, "", 0, options))

windows/APIExample/APIExample/Advanced/MultiChannel/CAgoraMultiChannelDlg.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,4 +609,6 @@ class CAgoraMultiChannelDlg : public CDialogEx
609609
afx_msg void OnBnClickedButtonJoinchannel();
610610
afx_msg void OnBnClickedButtonLeaveChannel();
611611
afx_msg void OnSelchangeListInfoBroadcasting();
612+
CButton m_chkPublishAudio;
613+
CButton m_chkPublishVideo;
612614
};

windows/APIExample/APIExample/Advanced/RTMPStream/AgoraRtmpStreaming.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,19 @@ void CAgoraRtmpStreamingDlgRtcEngineEventHandler::onRtmpStreamingStateChanged(co
103103
}
104104
}
105105

106+
void CAgoraRtmpStreamingDlgRtcEngineEventHandler::onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)
107+
{
108+
if (m_hMsgHanlder) {
109+
PRtmpStreamEvent rtmpEvent = new RtmpStreamEvent;
110+
int len = strlen(url);
111+
rtmpEvent->url = new char[len + 1];
112+
rtmpEvent->url[len] = 0;
113+
strcpy_s(rtmpEvent->url, len + 1, url);
114+
rtmpEvent->eventCode = eventCode;
115+
::PostMessage(m_hMsgHanlder, WM_MSGID(EID_RTMP_STREAM_EVENT), (WPARAM)rtmpEvent, 0);
116+
}
117+
}
118+
106119

107120

108121
void CAgoraRtmpStreamingDlgRtcEngineEventHandler::onStreamUnpublished(const char *url)
@@ -176,6 +189,7 @@ BEGIN_MESSAGE_MAP(CAgoraRtmpStreamingDlg, CDialogEx)
176189
ON_BN_CLICKED(IDC_BUTTON_REMOVE_STREAM, &CAgoraRtmpStreamingDlg::OnBnClickedButtonRemoveStream)
177190
ON_BN_CLICKED(IDC_BUTTON_REMOVE_ALLSTREAM, &CAgoraRtmpStreamingDlg::OnBnClickedButtonRemoveAllstream)
178191
ON_LBN_SELCHANGE(IDC_LIST_INFO_BROADCASTING, &CAgoraRtmpStreamingDlg::OnSelchangeListInfoBroadcasting)
192+
ON_MESSAGE(WM_MSGID(EID_RTMP_STREAM_EVENT), &CAgoraRtmpStreamingDlg::OnEIDRtmpEvent)
179193
ON_WM_TIMER()
180194
END_MESSAGE_MAP()
181195

@@ -658,6 +672,34 @@ BOOL CAgoraRtmpStreamingDlg::PreTranslateMessage(MSG* pMsg)
658672
return CDialogEx::PreTranslateMessage(pMsg);
659673
}
660674

675+
LRESULT CAgoraRtmpStreamingDlg::OnEIDRtmpEvent(WPARAM wParam, LPARAM lParam)
676+
{
677+
PRtmpStreamEvent streamEvent = (PRtmpStreamEvent)wParam;
678+
679+
if (streamEvent) {
680+
RTMP_STREAMING_EVENT eventCode = (RTMP_STREAMING_EVENT)streamEvent->eventCode;
681+
switch (eventCode)
682+
{
683+
case agora::rtc::RTMP_STREAMING_EVENT_FAILED_LOAD_IMAGE:
684+
m_lstInfo.InsertString(m_lstInfo.GetCount(), _T("failed load image"));
685+
break;
686+
case agora::rtc::RTMP_STREAMING_EVENT_URL_ALREADY_IN_USE:
687+
m_lstInfo.InsertString(m_lstInfo.GetCount(), _T("rtmp url in use, you need use new url"));
688+
break;
689+
default:
690+
break;
691+
}
692+
if (streamEvent->url) {
693+
delete[] streamEvent->url;
694+
streamEvent->url = nullptr;
695+
}
696+
delete streamEvent;
697+
streamEvent = nullptr;
698+
}
699+
700+
return 0;
701+
}
702+
661703
LRESULT CAgoraRtmpStreamingDlg::OnEIDStreamUnpublished(WPARAM wParam, LPARAM lParam)
662704
{
663705
char* url = (char*)wParam;

windows/APIExample/APIExample/Advanced/RTMPStream/AgoraRtmpStreaming.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@ class CAgoraRtmpStreamingDlgRtcEngineEventHandler
102102
- #ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154)
103103
- #ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156)
104104
*/
105-
virtual void onStreamPublished(const char *url, int error);
105+
virtual void onStreamPublished(const char *url, int error) override;
106+
107+
virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)override;
106108
private:
107109
HWND m_hMsgHanlder;
108110
};
@@ -169,7 +171,9 @@ class CAgoraRtmpStreamingDlg : public CDialogEx
169171
afx_msg void OnSelchangeListInfoBroadcasting();
170172
afx_msg LRESULT OnEIDStreamUnpublished(WPARAM wParam, LPARAM lParam);
171173
afx_msg LRESULT OnEIDStreamPublished(WPARAM wParam, LPARAM lParam);
174+
afx_msg LRESULT OnEIDRtmpEvent(WPARAM wParam, LPARAM lParam);
172175
afx_msg void OnTimer(UINT_PTR nIDEvent);
176+
173177
virtual BOOL PreTranslateMessage(MSG* pMsg);
174178

175179
CEdit m_edtChannelName;

0 commit comments

Comments
 (0)