Skip to content

Commit 0720325

Browse files
author
xia ning
authored
Merge pull request #123 from AgoraIO/dev/win-multiprocess
Dev/win multiprocess
2 parents ed97cb3 + 5516afc commit 0720325

31 files changed

Lines changed: 2559 additions & 37 deletions

windows/APIExample/APIExample.sln

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.28307.852
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "APIExample", "APIExample\APIExample.vcxproj", "{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}"
77
EndProject
8+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProcessScreenShare", "APIExample\Advanced\MultiVideoSource\ProcessScreenShare\ProcessScreenShare.vcxproj", "{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}"
9+
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1012
Debug|x64 = Debug|x64
@@ -21,6 +23,12 @@ Global
2123
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x64.Build.0 = Release|x64
2224
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x86.ActiveCfg = Release|Win32
2325
{DB16CA2F-3910-4449-A5BD-6A602B33BE0F}.Release|x86.Build.0 = Release|Win32
26+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x64.ActiveCfg = Debug|Win32
27+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x86.ActiveCfg = Debug|Win32
28+
{2B345C3C-4BEA-4DA3-B754-43F9AD219D4A}.Debug|x86.Build.0 = Debug|Win32
29+
{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
2432
EndGlobalSection
2533
GlobalSection(SolutionProperties) = preSolution
2634
HideSolutionNode = FALSE

windows/APIExample/APIExample/APIExample.rc

Lines changed: 53 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -80,22 +80,6 @@ IDR_MAINFRAME ICON "res\\APIExample.ico"
8080
// Dialog
8181
//
8282

83-
IDD_DIALOG_LIVEBROADCASTING DIALOGEX 0, 0, 632, 400
84-
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
85-
FONT 8, "MS Shell Dlg", 400, 0, 0x1
86-
BEGIN
87-
LTEXT "",IDC_STATIC_VIDEO,1,0,483,310
88-
LISTBOX IDC_LIST_INFO_BROADCASTING,491,0,139,312,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
89-
COMBOBOX IDC_COMBO_ROLE,56,348,60,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
90-
COMBOBOX IDC_COMBO_PERSONS,182,348,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
91-
LTEXT "Client Role",IDC_STATIC_ROLE,8,351,44,10
92-
LTEXT "Persons",IDC_STATIC_PERSONS,141,351,37,8
93-
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,259,350,48,8
94-
EDITTEXT IDC_EDIT_CHANNELNAME,319,348,218,13,ES_AUTOHSCROLL
95-
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,555,348,50,14
96-
LTEXT "",IDC_STATIC_DETAIL,23,370,456,27
97-
END
98-
9983
IDD_DIALOG_RTMPINJECT DIALOGEX 0, 0, 632, 400
10084
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
10185
FONT 8, "MS Shell Dlg", 400, 0, 0x1
@@ -579,6 +563,37 @@ BEGIN
579563
PUSHBUTTON "Set AudioChange",IDC_BUTTON_UPDATE,421,381,60,14
580564
END
581565

566+
IDD_DIALOG_LIVEBROADCASTING DIALOGEX 0, 0, 632, 400
567+
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
568+
FONT 8, "MS Shell Dlg", 400, 0, 0x1
569+
BEGIN
570+
LTEXT "",IDC_STATIC_VIDEO,1,0,483,310
571+
LISTBOX IDC_LIST_INFO_BROADCASTING,491,0,139,312,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
572+
COMBOBOX IDC_COMBO_ROLE,56,348,60,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
573+
COMBOBOX IDC_COMBO_PERSONS,182,348,60,30,CBS_DROPDOWNLIST | WS_VSCROLL
574+
LTEXT "Client Role",IDC_STATIC_ROLE,8,351,44,10
575+
LTEXT "Persons",IDC_STATIC_PERSONS,141,351,37,8
576+
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,259,350,48,8
577+
EDITTEXT IDC_EDIT_CHANNELNAME,319,348,218,13,ES_AUTOHSCROLL
578+
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,555,348,50,14
579+
LTEXT "",IDC_STATIC_DETAIL,23,370,456,27
580+
END
581+
582+
IDD_DIALOG_MUTI_SOURCE DIALOGEX 0, 0, 632, 400
583+
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
584+
FONT 8, "MS Shell Dlg", 400, 0, 0x1
585+
BEGIN
586+
LTEXT "",IDC_STATIC_VIDEO,1,0,483,310
587+
LISTBOX IDC_LIST_INFO_BROADCASTING,491,0,139,312,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
588+
LTEXT "Channel Name",IDC_STATIC_CHANNELNAME,15,352,48,8
589+
EDITTEXT IDC_EDIT_CHANNELNAME,75,350,318,13,ES_AUTOHSCROLL
590+
PUSHBUTTON "JoinChannel",IDC_BUTTON_JOINCHANNEL,418,351,50,14
591+
LTEXT "",IDC_STATIC_DETAIL,329,370,301,27
592+
PUSHBUTTON "Publish Screen",IDC_BUTTON_PUBLISH,484,350,50,14
593+
COMBOBOX IDC_COMBO_SCREEN_SHARE,76,368,317,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
594+
LTEXT "Share Info",IDC_STATIC_SHARE,17,370,38,8
595+
END
596+
582597

583598
/////////////////////////////////////////////////////////////////////////////
584599
//
@@ -588,12 +603,6 @@ END
588603
#ifdef APSTUDIO_INVOKED
589604
GUIDELINES DESIGNINFO
590605
BEGIN
591-
IDD_DIALOG_LIVEBROADCASTING, DIALOG
592-
BEGIN
593-
RIGHTMARGIN, 630
594-
BOTTOMMARGIN, 397
595-
END
596-
597606
IDD_DIALOG_RTMPINJECT, DIALOG
598607
BEGIN
599608
RIGHTMARGIN, 630
@@ -738,6 +747,18 @@ BEGIN
738747
RIGHTMARGIN, 630
739748
BOTTOMMARGIN, 397
740749
END
750+
751+
IDD_DIALOG_LIVEBROADCASTING, DIALOG
752+
BEGIN
753+
RIGHTMARGIN, 630
754+
BOTTOMMARGIN, 397
755+
END
756+
757+
IDD_DIALOG_MUTI_SOURCE, DIALOG
758+
BEGIN
759+
RIGHTMARGIN, 630
760+
BOTTOMMARGIN, 397
761+
END
741762
END
742763
#endif // APSTUDIO_INVOKED
743764

@@ -747,11 +768,6 @@ END
747768
// AFX_DIALOG_LAYOUT
748769
//
749770

750-
IDD_DIALOG_LIVEBROADCASTING AFX_DIALOG_LAYOUT
751-
BEGIN
752-
0
753-
END
754-
755771
IDD_DIALOG_RTMPINJECT AFX_DIALOG_LAYOUT
756772
BEGIN
757773
0
@@ -872,6 +888,16 @@ BEGIN
872888
0
873889
END
874890

891+
IDD_DIALOG_LIVEBROADCASTING AFX_DIALOG_LAYOUT
892+
BEGIN
893+
0
894+
END
895+
896+
IDD_DIALOG_MUTI_SOURCE AFX_DIALOG_LAYOUT
897+
BEGIN
898+
0
899+
END
900+
875901

876902
/////////////////////////////////////////////////////////////////////////////
877903
//

windows/APIExample/APIExample/APIExample.vcxproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,8 @@ if exist en.ini (copy en.ini $(SolutionDir)$(Platform)\$(Configuration))
262262
<ClInclude Include="Advanced\MediaIOCustomVideoCaptrue\CAgoraMediaIOVideoCaptureDlg.h" />
263263
<ClInclude Include="Advanced\MediaPlayer\CAgoraMediaPlayer.h" />
264264
<ClInclude Include="Advanced\MultiChannel\CAgoraMultiChannelDlg.h" />
265+
<ClInclude Include="Advanced\MultiVideoSource\CAgoraMutilVideoSourceDlg.h" />
266+
<ClInclude Include="Advanced\MultiVideoSource\commonFun.h" />
265267
<ClInclude Include="Advanced\OriginalAudio\CAgoraOriginalAudioDlg.h" />
266268
<ClInclude Include="Advanced\OriginalVideo\CAgoraOriginalVideoDlg.h" />
267269
<ClInclude Include="Advanced\PreCallTest\CAgoraPreCallTestDlg.h" />
@@ -315,6 +317,8 @@ if exist en.ini (copy en.ini $(SolutionDir)$(Platform)\$(Configuration))
315317
<ClCompile Include="Advanced\MediaIOCustomVideoCaptrue\CAgoraMediaIOVideoCaptureDlg.cpp" />
316318
<ClCompile Include="Advanced\MediaPlayer\CAgoraMediaPlayer.cpp" />
317319
<ClCompile Include="Advanced\MultiChannel\CAgoraMultiChannelDlg.cpp" />
320+
<ClCompile Include="Advanced\MultiVideoSource\CAgoraMutilVideoSourceDlg.cpp" />
321+
<ClCompile Include="Advanced\MultiVideoSource\commonFun.cpp" />
318322
<ClCompile Include="Advanced\OriginalAudio\CAgoraOriginalAudioDlg.cpp" />
319323
<ClCompile Include="Advanced\OriginalVideo\CAgoraOriginalVideoDlg.cpp" />
320324
<ClCompile Include="Advanced\PreCallTest\CAgoraPreCallTestDlg.cpp" />
@@ -366,6 +370,7 @@ if exist en.ini (copy en.ini $(SolutionDir)$(Platform)\$(Configuration))
366370
<ResourceCompile Include="APIExample.rc" />
367371
</ItemGroup>
368372
<ItemGroup>
373+
<None Include="Advanced\MultiVideoSource\ProcessScreenShare.vcxproj" />
369374
<None Include="res\APIExample.rc2" />
370375
</ItemGroup>
371376
<ItemGroup>

windows/APIExample/APIExample/APIExample.vcxproj.filters

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@
106106
<Filter Include="Advanced\PreCallTest">
107107
<UniqueIdentifier>{cf51ce8e-f1ab-472d-b82f-e64b2492abb8}</UniqueIdentifier>
108108
</Filter>
109+
<Filter Include="Advanced\MultiVideoSource">
110+
<UniqueIdentifier>{d9f16a5e-5aad-4e80-9fbc-6f6c1b11cf74}</UniqueIdentifier>
111+
</Filter>
109112
</ItemGroup>
110113
<ItemGroup>
111114
<ClInclude Include="APIExample.h">
@@ -261,6 +264,12 @@
261264
<ClInclude Include="Advanced\PreCallTest\CAgoraPreCallTestDlg.h">
262265
<Filter>Advanced\PreCallTest</Filter>
263266
</ClInclude>
267+
<ClInclude Include="Advanced\MultiVideoSource\CAgoraMutilVideoSourceDlg.h">
268+
<Filter>Advanced\MultiVideoSource</Filter>
269+
</ClInclude>
270+
<ClInclude Include="Advanced\MultiVideoSource\commonFun.h">
271+
<Filter>Header Files</Filter>
272+
</ClInclude>
264273
</ItemGroup>
265274
<ItemGroup>
266275
<ClCompile Include="APIExample.cpp">
@@ -392,6 +401,12 @@
392401
<ClCompile Include="dsound\DSoundRender.cpp">
393402
<Filter>dsound</Filter>
394403
</ClCompile>
404+
<ClCompile Include="Advanced\MultiVideoSource\CAgoraMutilVideoSourceDlg.cpp">
405+
<Filter>Advanced\MultiVideoSource</Filter>
406+
</ClCompile>
407+
<ClCompile Include="Advanced\MultiVideoSource\commonFun.cpp">
408+
<Filter>Source Files</Filter>
409+
</ClCompile>
395410
</ItemGroup>
396411
<ItemGroup>
397412
<ResourceCompile Include="APIExample.rc">
@@ -402,6 +417,7 @@
402417
<None Include="res\APIExample.rc2">
403418
<Filter>Resource Files</Filter>
404419
</None>
420+
<None Include="Advanced\MultiVideoSource\ProcessScreenShare.vcxproj" />
405421
</ItemGroup>
406422
<ItemGroup>
407423
<Image Include="res\APIExample.ico">

windows/APIExample/APIExample/APIExampleDlg.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ void CAPIExampleDlg::InitSceneDialog()
235235
m_vecAdvanced.push_back(advancedReportInCall);
236236
m_vecAdvanced.push_back(advancedRegionConn);
237237
m_vecAdvanced.push_back(advancedCrossChannel);
238-
238+
m_vecAdvanced.push_back(advancedMultiVideoSource);
239239

240240
//inject
241241
m_pRtmpInjectDlg = new CAgoraRtmpInjectionDlg(&m_staMainArea);
@@ -358,6 +358,11 @@ void CAPIExampleDlg::InitSceneDialog()
358358
m_pCrossChannelDlg->Create(CAgoraCrossChannelDlg::IDD);
359359
m_pCrossChannelDlg->MoveWindow(&rcWnd);
360360

361+
//multi video source
362+
m_pMultiVideoSourceDlg = new CAgoraMutilVideoSourceDlg(&m_staMainArea);
363+
m_pMultiVideoSourceDlg->Create(CAgoraMutilVideoSourceDlg::IDD);
364+
m_pMultiVideoSourceDlg->MoveWindow(&rcWnd);
365+
361366
}
362367

363368
void CAPIExampleDlg::InitSceneList()
@@ -558,6 +563,10 @@ void CAPIExampleDlg::CreateScene(CTreeCtrl& treeScene, CString selectedText)
558563
m_pCrossChannelDlg->InitAgora();
559564
m_pCrossChannelDlg->ShowWindow(SW_SHOW);
560565
}
566+
else if (selectedText.Compare(advancedMultiVideoSource) == 0) {
567+
m_pMultiVideoSourceDlg->InitAgora();
568+
m_pMultiVideoSourceDlg->ShowWindow(SW_SHOW);
569+
}
561570
}
562571

563572
void CAPIExampleDlg::ReleaseScene(CTreeCtrl& treeScene, HTREEITEM& hSelectItem)
@@ -640,6 +649,10 @@ void CAPIExampleDlg::ReleaseScene(CTreeCtrl& treeScene, HTREEITEM& hSelectItem)
640649
m_pCrossChannelDlg->UnInitAgora();
641650
m_pCrossChannelDlg->ShowWindow(SW_HIDE);
642651
}
652+
else if (str.Compare(advancedMultiVideoSource) == 0) {
653+
m_pMultiVideoSourceDlg->UnInitAgora();
654+
m_pMultiVideoSourceDlg->ShowWindow(SW_HIDE);
655+
}
643656
}
644657

645658
LRESULT CAPIExampleDlg::OnEIDJoinLeaveChannel(WPARAM wParam, LPARAM lParam)

windows/APIExample/APIExample/APIExampleDlg.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#include "Advanced/ReportInCall/CAgoraReportInCallDlg.h"
2929
#include "Advanced/RegionConn/CAgoraRegionConnDlg.h"
3030
#include "Advanced/CrossChannel/CAgoraCrossChannelDlg.h"
31-
31+
#include "Advanced/MultiVideoSource/CAgoraMutilVideoSourceDlg.h"
3232

3333
#include <vector>
3434
#include <map>
@@ -99,7 +99,7 @@ class CAPIExampleDlg : public CDialogEx
9999
CAgoraReportInCallDlg *m_pReportInCallDlg = nullptr;
100100
CAgoraRegionConnDlg *m_pRegionConnDlg = nullptr;
101101
CAgoraCrossChannelDlg *m_pCrossChannelDlg = nullptr;
102-
102+
CAgoraMutilVideoSourceDlg *m_pMultiVideoSourceDlg = nullptr;
103103
CString m_preSelectedItemText = _T("");
104104
std::vector<CString> m_vecBasic, m_vecAdvanced;
105105

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#pragma once
2+
3+
#pragma warning(disable:4800)
4+
#pragma warning(disable:4018)
5+
#define WM_GOBACK WM_USER+100
6+
#define WM_GONEXT WM_USER+101
7+
#define WM_JOINCHANNEL WM_USER+200
8+
#define WM_LEAVECHANNEL WM_USER+201
9+
10+
11+
#define WM_AGSLD_TMBPOSCHANGED WM_USER+200

0 commit comments

Comments
 (0)