├── OpenLive-Android ├── app │ ├── .gitignore │ ├── libs │ │ └── PLACEHOLDER │ ├── src │ │ ├── main │ │ │ ├── jniLibs │ │ │ │ ├── x86 │ │ │ │ │ └── PLACEHOLDER │ │ │ │ ├── arm64-v8a │ │ │ │ │ └── PLACEHOLDER │ │ │ │ ├── x86_64 │ │ │ │ │ └── PLACEHOLDER │ │ │ │ └── armeabi-v7a │ │ │ │ │ └── PLACEHOLDER │ │ │ ├── res │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── ic_fav.png │ │ │ │ │ ├── btn_leave.png │ │ │ │ │ ├── btn_more.png │ │ │ │ │ ├── main_logo.png │ │ │ │ │ ├── btn_setting.png │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── btn_back_arrow.png │ │ │ │ │ ├── fake_user_icon.png │ │ │ │ │ ├── ic_arrow_right.png │ │ │ │ │ ├── btn_push_stream.png │ │ │ │ │ ├── ic_role_audience.png │ │ │ │ │ ├── btn_audio_disabled.png │ │ │ │ │ ├── btn_audio_enabled.png │ │ │ │ │ ├── btn_beauty_disabled.png │ │ │ │ │ ├── btn_beauty_enabled.png │ │ │ │ │ ├── btn_switch_camera.png │ │ │ │ │ ├── btn_video_disabled.png │ │ │ │ │ ├── btn_video_enabled.png │ │ │ │ │ ├── ic_role_broadcaster.png │ │ │ │ │ └── live_room_bg_logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable │ │ │ │ │ ├── edit_text_bg.xml │ │ │ │ │ ├── rounded_bg_full_transparent.xml │ │ │ │ │ ├── rounded_bg_half_transparent.xml │ │ │ │ │ ├── select_role_block_bg.xml │ │ │ │ │ ├── live_name_board_fav_bg.xml │ │ │ │ │ ├── live_name_board_bg.xml │ │ │ │ │ ├── start_broadcast_bg_clicked.xml │ │ │ │ │ ├── start_broadcast_bg_normal.xml │ │ │ │ │ ├── main_background.xml │ │ │ │ │ ├── start_broadcast_bg.xml │ │ │ │ │ ├── btn_beauty.xml │ │ │ │ │ ├── btn_mute_audio.xml │ │ │ │ │ ├── btn_mute_video.xml │ │ │ │ │ ├── setting_switch.xml │ │ │ │ │ ├── rounded_corner_bg.xml │ │ │ │ │ ├── live_room_bg.xml │ │ │ │ │ ├── setting_resolution_item_background.xml │ │ │ │ │ ├── setting_switch_checked.xml │ │ │ │ │ └── setting_switch_unchecked.xml │ │ │ │ ├── values │ │ │ │ │ ├── arrays.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── strings_config.xml │ │ │ │ ├── color │ │ │ │ │ ├── start_broadcast_text_color.xml │ │ │ │ │ └── setting_resolution_item_text_color.xml │ │ │ │ ├── layout │ │ │ │ │ └── dimension_item.xml │ │ │ │ └── values-zh │ │ │ │ │ └── strings.xml │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── agora │ │ │ │ └── openlive │ │ │ │ ├── utils │ │ │ │ └── PrefManager.java │ │ │ │ └── rtc │ │ │ │ └── EventHandler.java │ │ └── test │ │ │ └── java │ │ │ └── io │ │ │ └── agora │ │ │ └── openlive │ │ │ └── test │ │ │ └── RtcEngineTest.java │ └── proguard-rules.pro ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── ci.env.py ├── build.gradle ├── .gitignore └── gradle.properties ├── .gitignore ├── cicd ├── templates │ └── github-release.yml └── scripts │ ├── downloadsdk.ps1 │ ├── sdkdownload.sh │ └── install-qt-win.cmd ├── OpenLive-Web ├── .stylelintrc ├── .prettierrc ├── public │ ├── robots.txt │ ├── favicon.ico │ └── manifest.json ├── src │ ├── assets │ │ ├── avatar.png │ │ ├── github.png │ │ ├── icon-add.png │ │ ├── icon-back.png │ │ ├── icon-close.png │ │ ├── icon-error.png │ │ ├── icon-exit.png │ │ ├── icon-host.png │ │ ├── icon-more.png │ │ ├── icon-share.png │ │ ├── icon-text.png │ │ ├── icon-beauty.png │ │ ├── icon-camera.png │ │ ├── icon-rotate.png │ │ ├── icon-setting.png │ │ ├── icon-add-blue.png │ │ ├── icon-audience.png │ │ ├── icon-back-hover.png │ │ ├── icon-camera-off.png │ │ ├── icon-exit-hover.png │ │ ├── icon-microphone.png │ │ ├── logo-open-live.png │ │ ├── icon-close-hover.png │ │ ├── icon-text-actived.png │ │ ├── placeholder-audio.png │ │ ├── icon-host-inactived.png │ │ ├── icon-microphone-off.png │ │ ├── icon-setting-hover.png │ │ ├── logo-open-live-gray.png │ │ ├── placeholder-audio-big.png │ │ └── icon-audience-inactived.png │ ├── index.css │ ├── App.jsx │ ├── utils │ │ ├── use-router.jsx │ │ └── loading.jsx │ ├── index.js │ └── pages │ │ └── index.jsx ├── .env.example ├── .eslintrc ├── .eslintignore └── .gitignore ├── OpenLive-Windows ├── openlive.rc ├── clear.bat ├── home.ico ├── uiresource │ ├── box-01.png │ ├── box-02.png │ ├── box-03.png │ ├── count.png │ ├── list.png │ ├── normal.png │ ├── slider.png │ ├── white.png │ ├── Group 31.png │ ├── allmute.png │ ├── pic-user.png │ ├── Groupparam.png │ ├── close-hover.png │ ├── dropdow-01.png │ ├── dropdown-02.png │ ├── dropdown-03.png │ ├── icon-back.png │ ├── icon-camera.png │ ├── icon-exit.png │ ├── icon-text.png │ ├── min-hover.png │ ├── min-normal.png │ ├── min-pushed.png │ ├── mutevideo.png │ ├── page_home.png │ ├── pic-live 02.png │ ├── pic-live01.png │ ├── pic-win01.png │ ├── pic-win03.png │ ├── remoteuid.png │ ├── switch-off.png │ ├── switch-open.png │ ├── Open live-03.jpg │ ├── button-hover.png │ ├── close-normal.png │ ├── close-pushed.png │ ├── icon-setting.png │ ├── page_settings.png │ ├── pic-guide 01.png │ ├── pic-guide 02.png │ ├── pic-win03-new.png │ ├── radio_checked.png │ ├── allmute remote.png │ ├── button-default.png │ ├── icon-back hover.png │ ├── icon-camera off.png │ ├── icon-exit hover.png │ ├── icon-microphone.png │ ├── icon-text hover.png │ ├── mutevideo remote.png │ ├── radio_unchecked.png │ ├── Open live-win off.png │ ├── icon-camera hover.png │ ├── icon-setting hover.png │ ├── icon-text actived.png │ ├── Combined Shape Copy 3.png │ ├── Combined Shape Copy 4.png │ ├── channel_name_edittext.png │ ├── icon-camera off hover.png │ ├── icon-microphone hover.png │ ├── icon-microphone off.png │ ├── icon-microphone off hover.png │ └── Combined Shape Copy3_backen.png ├── stdafx.h ├── agoraqtjson.h ├── build_release.bat ├── main.cpp └── build_azure_release.bat ├── pictures ├── ios_14_privacy.png └── ios_14_privacy_zh.png ├── OpenLive-iOS ├── OpenLive │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── head.imageset │ │ │ ├── head.png │ │ │ └── Contents.json │ │ ├── audience.imageset │ │ │ ├── audience.png │ │ │ └── Contents.json │ │ ├── icon-add.imageset │ │ │ ├── icon-add.pdf │ │ │ └── Contents.json │ │ ├── icon-back.imageset │ │ │ ├── icon-back.pdf │ │ │ └── Contents.json │ │ ├── icon-exit.imageset │ │ │ ├── icon-exit.pdf │ │ │ └── Contents.json │ │ ├── icon-more.imageset │ │ │ ├── icon-more.pdf │ │ │ └── Contents.json │ │ ├── logo.imageset │ │ │ ├── logo-open live.pdf │ │ │ └── Contents.json │ │ ├── background.imageset │ │ │ ├── background.png │ │ │ └── Contents.json │ │ ├── icon-beaty.imageset │ │ │ ├── icon-beaty.pdf │ │ │ └── Contents.json │ │ ├── icon-close.imageset │ │ │ ├── icon-close.pdf │ │ │ └── Contents.json │ │ ├── icon-share.imageset │ │ │ ├── icon-share.pdf │ │ │ └── Contents.json │ │ ├── placeholder.imageset │ │ │ ├── placehold.png │ │ │ └── Contents.json │ │ ├── broadcaster.imageset │ │ │ ├── broadcaster.png │ │ │ └── Contents.json │ │ ├── icon-camera.imageset │ │ │ ├── icon-camera.pdf │ │ │ └── Contents.json │ │ ├── icon-rotate.imageset │ │ │ ├── icon-rotate.pdf │ │ │ └── Contents.json │ │ ├── icon-setting.imageset │ │ │ ├── icon-setting.pdf │ │ │ └── Contents.json │ │ ├── btn_back_arrow.imageset │ │ │ ├── btn_back_arrow.png │ │ │ └── Contents.json │ │ ├── ic_arrow_right.imageset │ │ │ ├── ic_arrow_right.png │ │ │ └── Contents.json │ │ ├── icon-camera off.imageset │ │ │ ├── icon-camera off.pdf │ │ │ └── Contents.json │ │ ├── icon-microphone.imageset │ │ │ ├── icon-microphone.pdf │ │ │ └── Contents.json │ │ └── icon-microphone off.imageset │ │ │ ├── icon-microphone off.pdf │ │ │ └── Contents.json │ ├── KeyCenter.swift │ ├── Settings.swift │ └── AppDelegate.swift ├── images │ ├── assets.jpg │ ├── infoPlist.jpg │ ├── buildPhasesTab.jpg │ ├── capabilitiesTab.jpg │ ├── MainViewControllerUI.jpg │ ├── LiveRoomViewControllerUI.jpg │ └── SettingsViewControllerUI.jpg ├── clear.sh ├── OpenLive.xcodeproj │ ├── .xcodesamplecode.plist │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── exportPlist.plist ├── build.sh ├── ci.env.py └── OpenLive-Tests │ ├── Info.plist │ └── OpenLive_Tests.swift ├── OpenLive-macOS ├── OpenLive │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── bgcolor.imageset │ │ │ ├── bgcolor.jpg │ │ │ └── Contents.json │ │ ├── icon-back.imageset │ │ │ ├── icon-back.png │ │ │ └── Contents.json │ │ ├── logo-ol-gray.imageset │ │ │ ├── logo-ol.png │ │ │ └── Contents.json │ │ ├── icon-share.imageset │ │ │ ├── icon-share.png │ │ │ └── Contents.json │ │ ├── logo-ol.imageset │ │ │ ├── logo-open live.png │ │ │ └── Contents.json │ │ ├── icon-beauty.imageset │ │ │ ├── icon-beauty.png │ │ │ └── Contents.json │ │ ├── icon-camera.imageset │ │ │ ├── icon-camera.png │ │ │ └── Contents.json │ │ ├── icon-exit.imageset │ │ │ ├── icon-exit hover.png │ │ │ └── Contents.json │ │ ├── icon-hang up.imageset │ │ │ ├── icon-hang up.png │ │ │ └── Contents.json │ │ ├── icon-join.imageset │ │ │ ├── button-default.png │ │ │ └── Contents.json │ │ ├── icon-setting.imageset │ │ │ ├── icon-setting.png │ │ │ └── Contents.json │ │ ├── icon-speaker.imageset │ │ │ ├── icon-speaker.png │ │ │ └── Contents.json │ │ ├── audience-blue.imageset │ │ │ ├── audience-blue.png │ │ │ └── Contents.json │ │ ├── audience-gray.imageset │ │ │ ├── audience-gray.png │ │ │ └── Contents.json │ │ ├── icon-join-hover.imageset │ │ │ ├── button-hover.png │ │ │ └── Contents.json │ │ ├── broadcaster-blue.imageset │ │ │ ├── broacaster-blue.png │ │ │ └── Contents.json │ │ ├── icon-beauty off.imageset │ │ │ ├── icon-beauty off.png │ │ │ └── Contents.json │ │ ├── icon-camera off.imageset │ │ │ ├── icon-camera off.png │ │ │ └── Contents.json │ │ ├── broadcaster-gray.imageset │ │ │ ├── broadcaster-gray.png │ │ │ └── Contents.json │ │ ├── icon-micorophone.imageset │ │ │ ├── icon-micorophone.png │ │ │ └── Contents.json │ │ ├── icon-speaker off.imageset │ │ │ ├── icon-speaker off.png │ │ │ └── Contents.json │ │ ├── icon-speaker hover.imageset │ │ │ ├── icon-speaker hover.png │ │ │ └── Contents.json │ │ ├── icon-micorophone off.imageset │ │ │ ├── icon-micorophone off.png │ │ │ └── Contents.json │ │ └── icon_sharing_desktop.imageset │ │ │ ├── icon_sharing_desktop.pdf │ │ │ └── Contents.json │ ├── test.wav │ ├── KeyCenter.swift │ ├── AppDelegate.swift │ ├── LogoViewController.swift │ ├── ReplacementSegue.swift │ ├── AGEConvert.swift │ ├── MainWindowController.swift │ ├── WindowItem.swift │ ├── Message.swift │ ├── AGEError.swift │ ├── MediaCharacter.swift │ ├── LogCellView.swift │ ├── ImageBrowserItem.swift │ └── Settings.swift ├── clear.sh ├── OpenLive.xcodeproj │ ├── .xcodesamplecode.plist │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── exportPlist.plist ├── ci.env.py ├── build.sh └── OpenLive-Tests │ ├── Info.plist │ └── OpenLive_Tests.swift ├── OpenLive-Windows-MFC ├── OpenLive │ ├── SEIDlg.h │ ├── AGEdit.cpp │ ├── ChatDlg.h │ ├── CodecDlg.h │ ├── LogoDlg.h │ ├── SetupDlg.h │ ├── VideoDlg.h │ ├── resource.h │ ├── AGButton.cpp │ ├── CodecDlg.cpp │ ├── DeviceDlg.cpp │ ├── DeviceDlg.h │ ├── OpenLive.rc │ ├── OpenLiveDlg.cpp │ ├── AGVideoTestWnd.h │ ├── EnterChannelDlg.h │ ├── res │ │ ├── IDB_BTNMAX.bmp │ │ ├── IDB_BTNMIN.bmp │ │ ├── IDB_CMBBTN.bmp │ │ ├── IDB_CMBSEL.bmp │ │ ├── OpenLive.ico │ │ ├── OpenLive.rc2 │ │ ├── IDB_BTNCLOSE.bmp │ │ ├── IDB_DLG_LOGO.bmp │ │ ├── IDB_DLG_MAIN.bmp │ │ ├── IDB_MENU_SEI.bmp │ │ ├── IDB_BTNRESTORE.bmp │ │ ├── IDB_MENU_DEVICE.bmp │ │ ├── IDB_SLD_HOVER.bmp │ │ ├── IDB_SLD_NORMAL.bmp │ │ ├── ID_TEST_AUDIO.wav │ │ ├── IDB_BTNMORE_VIDEO.bmp │ │ ├── IDB_BTNTIP_VIDEO.bmp │ │ ├── IDB_BACKGROUND_VIDEO.bmp │ │ ├── IDB_BTNAUDIO_VIDEO.bmp │ │ ├── IDB_BTNENDCALL_VIDEO.bmp │ │ ├── IDB_BTNFULLSCR_VIDEO.bmp │ │ ├── IDB_BTNMAUDIO_VIDEO.bmp │ │ ├── IDB_BTNNORSCR_VIDEO.bmp │ │ ├── IDB_BTNSCRCAP_VIDEO.bmp │ │ ├── IDB_BTNSETUP_VIDEO.bmp │ │ ├── IDB_BTNVIDEO_VIDEO.bmp │ │ ├── IDB_NETWORK_QUALITY.bmp │ │ ├── IDB_BTNENDCALLWB_VIDEO.bmp │ │ ├── IDB_BTNMAUDIOWB_VIDEO.bmp │ │ ├── IDB_BTNWHITEBOARD_VIDEO.bmp │ │ └── IDB_BTNCLOSEWHITEBOARD_VIDEO.bmp │ ├── AGResourceVisitor.h │ ├── AGMessage.h │ ├── stdafx.cpp │ ├── targetver.h │ ├── json │ │ ├── json.h │ │ ├── autolink.h │ │ ├── version.h │ │ └── forwards.h │ ├── AGJson.h │ ├── OpenLive.h │ ├── AGConfig.h │ ├── AgoraCameraManager.h │ ├── AgoraPlayoutManager.h │ ├── LanguageSet.h │ ├── AgoraAudInputManager.h │ ├── AGLinkCtrl.h │ └── AGScreenCaptureDlg.h ├── Language │ ├── English │ │ ├── English.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ ├── dllmain.cpp │ │ └── targetver.h │ └── ChineseSimplified │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ ├── dllmain.cpp │ │ ├── targetver.h │ │ ├── ChineseSimplified.h │ │ └── ChineseSimplified.cpp ├── release_vs2017.bat ├── release_vs2015.bat ├── release_vs2013.bat ├── prebuild.bat └── LICENSE ├── OpenLive-iOS-Objective-C ├── OpenLive │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── btn_sr.imageset │ │ │ ├── btn_sr.pdf │ │ │ └── Contents.json │ │ ├── btn_join.imageset │ │ │ ├── btn_join.pdf │ │ │ └── Contents.json │ │ ├── btn_mute.imageset │ │ │ ├── btn_mute.pdf │ │ │ └── Contents.json │ │ ├── btn_close.imageset │ │ │ ├── btn_close.pdf │ │ │ └── Contents.json │ │ ├── btn_overturn.imageset │ │ │ ├── btn_overturn.pdf │ │ │ └── Contents.json │ │ ├── btn_setting.imageset │ │ │ ├── btn_setting.pdf │ │ │ └── Contents.json │ │ ├── btn_sr_blue.imageset │ │ │ ├── btn_sr_blue.pdf │ │ │ └── Contents.json │ │ ├── btn_beautiful.imageset │ │ │ ├── btn_ beautiful.pdf │ │ │ └── Contents.json │ │ ├── btn_join_cancel.imageset │ │ │ ├── btn_join_cancel.pdf │ │ │ └── Contents.json │ │ ├── btn_mute_cancel.imageset │ │ │ ├── btn_mute_cancel.pdf │ │ │ └── Contents.json │ │ └── btn_beautiful_cancel.imageset │ │ │ ├── btn_ beautiful_cancel.pdf │ │ │ └── Contents.json │ ├── MainViewController.h │ ├── KeyCenter.h │ ├── AppDelegate.h │ ├── ProfileCell.h │ ├── main.m │ ├── KeyCenter.m │ ├── AppDelegate.m │ ├── VideoSession.h │ ├── SettingsViewController.h │ ├── VideoViewLayouter.h │ ├── LiveRoomViewController.h │ ├── VideoSession.m │ ├── ProfileCell.m │ └── BeautyEffectTableViewController.h ├── clear.sh ├── OpenLive.xcodeproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── exportPlist.plist ├── build.sh └── ci.env.py ├── OpenLive-macOS-Objective-C ├── OpenLive │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── btn_join.imageset │ │ │ ├── btn_join.pdf │ │ │ └── Contents.json │ │ ├── btn_mute.imageset │ │ │ ├── btn_mute.pdf │ │ │ └── Contents.json │ │ ├── btn_endcall.imageset │ │ │ ├── btn_endcall.pdf │ │ │ └── Contents.json │ │ ├── btn_mute_blue.imageset │ │ │ ├── btn_mute_blue.pdf │ │ │ └── Contents.json │ │ └── btn_join_cancel.imageset │ │ │ ├── btn_join_cancel.pdf │ │ │ └── Contents.json │ ├── OpenLive.entitlements │ ├── ReplacementSegue.h │ ├── main.m │ ├── AppDelegate.h │ ├── MainWindowController.h │ ├── KeyCenter.h │ ├── MainViewController.h │ ├── ReplacementSegue.m │ ├── KeyCenter.m │ ├── MediaInfo.h │ ├── AppDelegate.m │ ├── VideoSession.h │ ├── SettingsViewController.h │ ├── MainWindowController.m │ ├── VideoViewLayouter.h │ ├── MediaInfo.m │ ├── LiveRoomViewController.h │ └── VideoSession.m ├── clear.sh ├── OpenLive.xcodeproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── exportPlist.plist ├── ci.env.py └── build.sh ├── gen_readme.sh ├── gen_readme_all.sh └── appveyor.yml /OpenLive-Android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.framework 2 | .vscode 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /OpenLive-Android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /OpenLive-Android/app/libs/PLACEHOLDER: -------------------------------------------------------------------------------- 1 | agora-rtc-sdk.jar 2 | -------------------------------------------------------------------------------- /cicd/templates/github-release.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | displayName: '' 3 | -------------------------------------------------------------------------------- /OpenLive-Web/.stylelintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "stylelint-config-standard" 3 | } -------------------------------------------------------------------------------- /OpenLive-Windows/openlive.rc: -------------------------------------------------------------------------------- 1 | IDI_ICON ICON DISCARDABLE "home.ico" -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/jniLibs/x86/PLACEHOLDER: -------------------------------------------------------------------------------- 1 | libagora-rtc-sdk-jni.so 2 | -------------------------------------------------------------------------------- /OpenLive-Windows/clear.bat: -------------------------------------------------------------------------------- 1 | del Makefile* 2 | del .qmake.stash 3 | del *.pro.user -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/jniLibs/arm64-v8a/PLACEHOLDER: -------------------------------------------------------------------------------- 1 | libagora-rtc-sdk-jni.so 2 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/jniLibs/x86_64/PLACEHOLDER: -------------------------------------------------------------------------------- 1 | libagora-rtc-sdk-jni.so 2 | -------------------------------------------------------------------------------- /OpenLive-Web/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "doubleQuote": true, 3 | "trailingComma": "es5" 4 | } -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/jniLibs/armeabi-v7a/PLACEHOLDER: -------------------------------------------------------------------------------- 1 | libagora-rtc-sdk-jni.so 2 | -------------------------------------------------------------------------------- /OpenLive-Web/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /OpenLive-Windows/home.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/home.ico -------------------------------------------------------------------------------- /cicd/scripts/downloadsdk.ps1: -------------------------------------------------------------------------------- 1 | param($SDKURL) 2 | Invoke-WebRequest -Uri "$SDKURL" -OutFile .\AgoraSDK.zip -TimeoutSec 10; -------------------------------------------------------------------------------- /pictures/ios_14_privacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/pictures/ios_14_privacy.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /OpenLive-iOS/images/assets.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/assets.jpg -------------------------------------------------------------------------------- /pictures/ios_14_privacy_zh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/pictures/ios_14_privacy_zh.png -------------------------------------------------------------------------------- /OpenLive-Web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/public/favicon.ico -------------------------------------------------------------------------------- /OpenLive-iOS/images/infoPlist.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/infoPlist.jpg -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/test.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/test.wav -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/avatar.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/github.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-add.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-back.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-close.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-error.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-exit.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-host.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-host.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-more.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-share.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-text.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/SEIDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/SEIDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/box-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/box-01.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/box-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/box-02.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/box-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/box-03.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/count.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/count.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/list.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/normal.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/slider.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/white.png -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /OpenLive-iOS/images/buildPhasesTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/buildPhasesTab.jpg -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-beauty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-beauty.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-camera.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-rotate.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-setting.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/AGEdit.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/ChatDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/ChatDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/CodecDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/CodecDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/LogoDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/LogoDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/SetupDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/SetupDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/VideoDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/VideoDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/resource.h -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Group 31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Group 31.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/allmute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/allmute.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-user.png -------------------------------------------------------------------------------- /OpenLive-iOS/images/capabilitiesTab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/capabilitiesTab.jpg -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-add-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-add-blue.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-audience.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-audience.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-back-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-back-hover.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-camera-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-camera-off.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-exit-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-exit-hover.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-microphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-microphone.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/logo-open-live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/logo-open-live.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGButton.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/AGButton.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/CodecDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/CodecDlg.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/DeviceDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/DeviceDlg.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/DeviceDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/DeviceDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/OpenLive.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/OpenLive.rc -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Groupparam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Groupparam.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/close-hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/dropdow-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/dropdow-01.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/dropdown-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/dropdown-02.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/dropdown-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/dropdown-03.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-back.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-camera.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-exit.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-text.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/min-hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/min-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/min-normal.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/min-pushed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/min-pushed.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/mutevideo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/mutevideo.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/page_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/page_home.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-live 02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-live 02.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-live01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-live01.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-win01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-win01.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-win03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-win03.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/remoteuid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/remoteuid.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/switch-off.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/switch-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/switch-open.png -------------------------------------------------------------------------------- /OpenLive-Web/.env.example: -------------------------------------------------------------------------------- 1 | REACT_APP_AGORA_APP_ID=<#YOUR Agora.io APP ID#> 2 | REACT_APP_AGORA_APP_TOKEN=<#YOUR Agora.io APP TOKEN#> 3 | REACT_APP_AGORA_LOG=true -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-close-hover.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-text-actived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-text-actived.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/placeholder-audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/placeholder-audio.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/OpenLiveDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/OpenLiveDlg.cpp -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Open live-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Open live-03.jpg -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/button-hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/close-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/close-normal.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/close-pushed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/close-pushed.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-setting.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/page_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/page_settings.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-guide 01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-guide 01.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-guide 02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-guide 02.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/pic-win03-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/pic-win03-new.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/radio_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/radio_checked.png -------------------------------------------------------------------------------- /OpenLive-iOS/images/MainViewControllerUI.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/MainViewControllerUI.jpg -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-host-inactived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-host-inactived.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-microphone-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-microphone-off.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-setting-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-setting-hover.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/logo-open-live-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/logo-open-live-gray.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/English/English.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/English/English.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/English/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/English/stdafx.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/English/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/English/stdafx.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGVideoTestWnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/AGVideoTestWnd.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/EnterChannelDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/EnterChannelDlg.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAX.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAX.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMIN.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMIN.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_CMBBTN.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_CMBBTN.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_CMBSEL.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_CMBSEL.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/OpenLive.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/OpenLive.ico -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/OpenLive.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/OpenLive.rc2 -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/allmute remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/allmute remote.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/button-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/button-default.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-back hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-back hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-camera off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-camera off.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-exit hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-exit hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-microphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-microphone.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-text hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-text hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/mutevideo remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/mutevideo remote.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/radio_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/radio_unchecked.png -------------------------------------------------------------------------------- /OpenLive-iOS/images/LiveRoomViewControllerUI.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/LiveRoomViewControllerUI.jpg -------------------------------------------------------------------------------- /OpenLive-iOS/images/SettingsViewControllerUI.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/images/SettingsViewControllerUI.jpg -------------------------------------------------------------------------------- /OpenLive-macOS/clear.sh: -------------------------------------------------------------------------------- 1 | rm -rf *.xcarchive 2 | rm -f *.ipa 3 | rm -rf *.app 4 | rm -f DistributionSummary.plist 5 | rm -f ExportOptions.plist 6 | rm -f Packaging.log -------------------------------------------------------------------------------- /OpenLive-Android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/placeholder-audio-big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/placeholder-audio-big.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/English/dllmain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/English/dllmain.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/English/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/English/targetver.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGResourceVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/AGResourceVisitor.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNCLOSE.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNCLOSE.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_DLG_LOGO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_DLG_LOGO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_DLG_MAIN.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_DLG_MAIN.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_MENU_SEI.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_MENU_SEI.bmp -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Open live-win off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Open live-win off.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-camera hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-camera hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-setting hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-setting hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-text actived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-text actived.png -------------------------------------------------------------------------------- /OpenLive-Web/src/assets/icon-audience-inactived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Web/src/assets/icon-audience-inactived.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNRESTORE.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNRESTORE.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_MENU_DEVICE.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_MENU_DEVICE.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_SLD_HOVER.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_SLD_HOVER.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_SLD_NORMAL.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_SLD_NORMAL.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/ID_TEST_AUDIO.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/ID_TEST_AUDIO.wav -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Combined Shape Copy 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Combined Shape Copy 3.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Combined Shape Copy 4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Combined Shape Copy 4.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/channel_name_edittext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/channel_name_edittext.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-camera off hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-camera off hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-microphone hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-microphone hover.png -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-microphone off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-microphone off.png -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/clear.sh: -------------------------------------------------------------------------------- 1 | rm -rf *.xcarchive 2 | rm -f *.ipa 3 | rm -rf *.app 4 | rm -f DistributionSummary.plist 5 | rm -f ExportOptions.plist 6 | rm -f Packaging.log -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/clear.sh: -------------------------------------------------------------------------------- 1 | rm -rf *.xcarchive 2 | rm -f *.ipa 3 | rm -rf *.app 4 | rm -f DistributionSummary.plist 5 | rm -f ExportOptions.plist 6 | rm -f Packaging.log -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMORE_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMORE_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNTIP_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNTIP_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-iOS/clear.sh: -------------------------------------------------------------------------------- 1 | rm -rf *.xcarchive 2 | rm -f *.ipa 3 | rm -rf *.app 4 | rm -f DistributionSummary.plist 5 | rm -f ExportOptions.plist 6 | rm -f Packaging.log 7 | rm -rf agora_sdk -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/stdafx.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/stdafx.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BACKGROUND_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BACKGROUND_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNAUDIO_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNAUDIO_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNENDCALL_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNENDCALL_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNFULLSCR_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNFULLSCR_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAUDIO_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAUDIO_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNNORSCR_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNNORSCR_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNSCRCAP_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNSCRCAP_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNSETUP_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNSETUP_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNVIDEO_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNVIDEO_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_NETWORK_QUALITY.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_NETWORK_QUALITY.bmp -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/icon-microphone off hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/icon-microphone off hover.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_fav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_fav.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/dllmain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/dllmain.cpp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/targetver.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNENDCALLWB_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNENDCALLWB_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAUDIOWB_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNMAUDIOWB_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Windows/uiresource/Combined Shape Copy3_backen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows/uiresource/Combined Shape Copy3_backen.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/head.imageset/head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/head.imageset/head.png -------------------------------------------------------------------------------- /gen_readme.sh: -------------------------------------------------------------------------------- 1 | #Open Video Call 2 | echo =============$1================= 3 | create-agora-readme -i $1/README.yaml -o $1/README.md 4 | create-agora-readme -i $1/README.zh.yaml -o $1/README.zh.md -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_leave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_leave.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_more.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/main_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/main_logo.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNWHITEBOARD_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNWHITEBOARD_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_setting.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_back_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_back_arrow.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/fake_user_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/fake_user_icon.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_arrow_right.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/res/IDB_BTNCLOSEWHITEBOARD_VIDEO.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/OpenLive/res/IDB_BTNCLOSEWHITEBOARD_VIDEO.bmp -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/audience.imageset/audience.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/audience.imageset/audience.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-add.imageset/icon-add.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-add.imageset/icon-add.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/bgcolor.imageset/bgcolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/bgcolor.imageset/bgcolor.jpg -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_push_stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_push_stream.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_role_audience.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_role_audience.png -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.cpp -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-back.imageset/icon-back.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-back.imageset/icon-back.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-exit.imageset/icon-exit.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-exit.imageset/icon-exit.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-more.imageset/icon-more.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-more.imageset/icon-more.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/logo.imageset/logo-open live.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/logo.imageset/logo-open live.pdf -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_audio_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_audio_disabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_audio_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_audio_enabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_beauty_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_beauty_disabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_beauty_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_beauty_enabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_switch_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_switch_camera.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_video_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_video_disabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_video_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/btn_video_enabled.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_role_broadcaster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/ic_role_broadcaster.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable-xxhdpi/live_room_bg_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-Android/app/src/main/res/drawable-xxhdpi/live_room_bg_logo.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/background.imageset/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/background.imageset/background.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-beaty.imageset/icon-beaty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-beaty.imageset/icon-beaty.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-close.imageset/icon-close.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-close.imageset/icon-close.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-share.imageset/icon-share.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-share.imageset/icon-share.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/placeholder.imageset/placehold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/placeholder.imageset/placehold.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-back.imageset/icon-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-back.imageset/icon-back.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol-gray.imageset/logo-ol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol-gray.imageset/logo-ol.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/broadcaster.imageset/broadcaster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/broadcaster.imageset/broadcaster.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera.imageset/icon-camera.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera.imageset/icon-camera.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-rotate.imageset/icon-rotate.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-rotate.imageset/icon-rotate.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-share.imageset/icon-share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-share.imageset/icon-share.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol.imageset/logo-open live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol.imageset/logo-open live.png -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr.imageset/btn_sr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr.imageset/btn_sr.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-setting.imageset/icon-setting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-setting.imageset/icon-setting.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty.imageset/icon-beauty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty.imageset/icon-beauty.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera.imageset/icon-camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera.imageset/icon-camera.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-exit.imageset/icon-exit hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-exit.imageset/icon-exit hover.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-hang up.imageset/icon-hang up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-hang up.imageset/icon-hang up.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-join.imageset/button-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-join.imageset/button-default.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-setting.imageset/icon-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-setting.imageset/icon-setting.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker.imageset/icon-speaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker.imageset/icon-speaker.png -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/btn_join.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/btn_join.pdf -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/btn_mute.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/btn_mute.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/btn_back_arrow.imageset/btn_back_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/btn_back_arrow.imageset/btn_back_arrow.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/ic_arrow_right.imageset/ic_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/ic_arrow_right.imageset/ic_arrow_right.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/audience-blue.imageset/audience-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/audience-blue.imageset/audience-blue.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/audience-gray.imageset/audience-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/audience-gray.imageset/audience-gray.png -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_close.imageset/btn_close.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_close.imageset/btn_close.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera off.imageset/icon-camera off.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera off.imageset/icon-camera off.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone.imageset/icon-microphone.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone.imageset/icon-microphone.pdf -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/btn_join.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/btn_join.pdf -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/btn_mute.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/btn_mute.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-join-hover.imageset/button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-join-hover.imageset/button-hover.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-blue.imageset/broacaster-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-blue.imageset/broacaster-blue.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty off.imageset/icon-beauty off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty off.imageset/icon-beauty off.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera off.imageset/icon-camera off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera off.imageset/icon-camera off.png -------------------------------------------------------------------------------- /OpenLive-Web/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["standard", "react-app"], 3 | "plugins": ["prettier"], 4 | "parser": "babel-eslint", 5 | "overrides": [ 6 | { 7 | "files": ["**/*.js?(x)", "src/App.jsx"] 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_overturn.imageset/btn_overturn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_overturn.imageset/btn_overturn.pdf -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_setting.imageset/btn_setting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_setting.imageset/btn_setting.pdf -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr_blue.imageset/btn_sr_blue.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr_blue.imageset/btn_sr_blue.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive.xcodeproj/.xcodesamplecode.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_endcall.imageset/btn_endcall.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_endcall.imageset/btn_endcall.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive.xcodeproj/.xcodesamplecode.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-gray.imageset/broadcaster-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-gray.imageset/broadcaster-gray.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone.imageset/icon-micorophone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone.imageset/icon-micorophone.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker off.imageset/icon-speaker off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker off.imageset/icon-speaker off.png -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone off.imageset/icon-microphone off.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone off.imageset/icon-microphone off.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker hover.imageset/icon-speaker hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker hover.imageset/icon-speaker hover.png -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/edit_text_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful.imageset/btn_ beautiful.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful.imageset/btn_ beautiful.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_blue.imageset/btn_mute_blue.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_blue.imageset/btn_mute_blue.pdf -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/OpenLive.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gen_readme_all.sh: -------------------------------------------------------------------------------- 1 | ./gen_readme.sh ./OpenLive-Android 2 | ./gen_readme.sh ./OpenLive-iOS 3 | ./gen_readme.sh ./OpenLive-iOS-Objective-C 4 | ./gen_readme.sh ./OpenLive-macOS 5 | ./gen_readme.sh ./OpenLive-macOS-Objective-C 6 | ./gen_readme.sh ./OpenLive-Web -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/btn_join_cancel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/btn_join_cancel.pdf -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_cancel.imageset/btn_mute_cancel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_cancel.imageset/btn_mute_cancel.pdf -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone off.imageset/icon-micorophone off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone off.imageset/icon-micorophone off.png -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon_sharing_desktop.imageset/icon_sharing_desktop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS/OpenLive/Assets.xcassets/icon_sharing_desktop.imageset/icon_sharing_desktop.pdf -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGMessage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WM_GOBACK WM_USER+100 4 | #define WM_GONEXT WM_USER+101 5 | #define WM_JOINCHANNEL WM_USER+200 6 | #define WM_LEAVECHANNEL WM_USER+201 7 | 8 | 9 | #define WM_AGSLD_TMBPOSCHANGED WM_USER+200 -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/btn_join_cancel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/btn_join_cancel.pdf -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenLive-Windows/stdafx.h: -------------------------------------------------------------------------------- 1 | #ifndef STDAFX_H 2 | #define STDAFX_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include "agoraconfig.h" 8 | extern CAgoraConfig gAgoraConfig; 9 | extern int videoDeviceWindowId; 10 | #endif // STDAFX_H 11 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/stdafx.cpp: -------------------------------------------------------------------------------- 1 | 2 | // stdafx.cpp : source file that includes just the standard includes 3 | // AgoraVideoCall.pch will be the pre-compiled header 4 | // stdafx.obj will contain the pre-compiled type information 5 | 6 | #include "stdafx.h" 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful_cancel.imageset/btn_ beautiful_cancel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/Basic-Video-Broadcasting/HEAD/OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful_cancel.imageset/btn_ beautiful_cancel.pdf -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-add.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-back.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-back.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-beaty.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-beaty.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-camera.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-close.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-exit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-exit.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-more.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-rotate.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-rotate.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-share.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-share.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "logo-open live.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Auto 5 | Enabled 6 | Disabled 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_sr.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-setting.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-setting.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_close.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_join.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_mute.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-camera off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-camera off.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-microphone.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-Web/.eslintignore: -------------------------------------------------------------------------------- 1 | /build/** 2 | /coverage/** 3 | /docs/** 4 | /jsdoc/** 5 | /templates/** 6 | /tests/bench/** 7 | /tests/fixtures/** 8 | /tests/performance/** 9 | /tmp/** 10 | /tools/internal-rules/node_modules/** 11 | .test.js 12 | !.eslintrc.js 13 | /node_modules/ 14 | !src 15 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_overturn.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_overturn.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_setting.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_setting.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_sr_blue.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_sr_blue.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_ beautiful.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_join_cancel.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_cancel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_mute_cancel.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/icon-microphone off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-microphone off.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon_sharing_desktop.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_sharing_desktop.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/rounded_bg_full_transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/rounded_bg_half_transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/select_role_block_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 30 11:42:03 CST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/live_name_board_fav_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/color/start_broadcast_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/live_name_board_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/start_broadcast_bg_clicked.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/Assets.xcassets/btn_beautiful_cancel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_ beautiful_cancel.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/start_broadcast_bg_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/color/setting_resolution_item_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/ReplacementSegue.h: -------------------------------------------------------------------------------- 1 | // 2 | // ReplacementSegue.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ReplacementSegue : NSStoryboardSegue 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, const char * argv[]) { 12 | return NSApplicationMain(argc, argv); 13 | } 14 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : NSObject 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/MainWindowController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainWindowController.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainWindowController : NSWindowController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/main_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/KeyCenter.h: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface KeyCenter : NSObject 12 | + (NSString *)AppId; 13 | + (NSString *)Token; 14 | @end 15 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-macOS/exportPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | method 6 | mac-application 7 | compileBitcode 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/KeyCenter.h: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface KeyCenter : NSObject 12 | + (NSString *)AppId; 13 | + (NSString *)Token; 14 | @end 15 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/start_broadcast_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/exportPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | method 6 | mac-application 7 | compileBitcode 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/btn_beauty.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/btn_mute_audio.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/btn_mute_video.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/release_vs2017.bat: -------------------------------------------------------------------------------- 1 | pushd Release 2 | pushd Language 3 | 4 | del *.exp 5 | del *.pdb 6 | del *.lib 7 | del *.iobj 8 | del *.ipdb 9 | 10 | popd Language 11 | 12 | del *.pdb 13 | del *.log 14 | del *.ipdb 15 | del *.iobj 16 | 17 | IF NOT EXIST vcruntime140.dll ( 18 | copy C:\Windows\SysWOW64\VCRuntime140.dll 19 | ) 20 | 21 | popd Release 22 | pause -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/release_vs2015.bat: -------------------------------------------------------------------------------- 1 | pushd Release 2 | pushd Language 3 | 4 | del *.iobj 5 | del *.ipdb 6 | 7 | popd Language 8 | 9 | del *.ipdb 10 | del *.iobj 11 | 12 | IF NOT EXIST msvcp140.dll ( 13 | copy C:\Windows\SysWOW64\msvcp140.dll 14 | ) 15 | 16 | IF NOT EXIST mfc140u.dll ( 17 | copy C:\Windows\SysWOW64\mfc140u.dll 18 | ) 19 | 20 | popd Release 21 | pause -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface MainViewController : NSViewController 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/setting_switch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /OpenLive-Web/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Open Live", 3 | "name": "Agora.io Open Live Web", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": ".", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/ProfileCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProfileCell.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface ProfileCell : UITableViewCell 13 | - (void)updateWithProfile:(CGSize)profile isSelected:(BOOL)isSelected; 14 | @end 15 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/KeyCenter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 6/25/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | struct KeyCenter { 10 | static let AppId: String = <#Your App Id#> 11 | 12 | // assign token to nil if you have not enabled app certificate 13 | static var Token: String? = <#Temp Access Token#> 14 | } 15 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/KeyCenter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 5/16/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | struct KeyCenter { 10 | static let AppId: String = <#Your App Id#> 11 | 12 | // assign token to nil if you have not enabled app certificate 13 | static var Token: String? = <#Temp Access Token#> 14 | } 15 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 16/8/23. 6 | // Copyright © 2016年 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | @NSApplicationMain 12 | class AppDelegate: NSObject, NSApplicationDelegate { 13 | func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 14 | return true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/head.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "head.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/LogoViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LogoViewController.swift 3 | // OpenLive 4 | // 5 | // Created by CavanSu on 2019/11/6. 6 | // Copyright © 2019 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class LogoViewController: NSViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // view.layer?.backgroundColor = NSColor.AGBlue.cgColor 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/ReplacementSegue.m: -------------------------------------------------------------------------------- 1 | // 2 | // ReplacementSegue.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "ReplacementSegue.h" 10 | 11 | @implementation ReplacementSegue 12 | - (void)perform { 13 | ((NSViewController *)self.sourceController).view.window.contentViewController = self.destinationController; 14 | } 15 | @end 16 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/audience.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "audience.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/bgcolor.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bgcolor.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/ReplacementSegue.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ReplacementSegue.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2/20/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class ReplacementSegue: NSStoryboardSegue { 12 | override func perform() { 13 | (sourceController as AnyObject).view.window?.contentViewController = destinationController as? NSViewController 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/java/io/agora/openlive/utils/PrefManager.java: -------------------------------------------------------------------------------- 1 | package io.agora.openlive.utils; 2 | 3 | import android.content.Context; 4 | import android.content.SharedPreferences; 5 | 6 | import io.agora.openlive.Constants; 7 | 8 | 9 | public class PrefManager { 10 | public static SharedPreferences getPreferences(Context context) { 11 | return context.getSharedPreferences(Constants.PREF_NAME, Context.MODE_PRIVATE); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "background.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/broadcaster.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "broadcaster.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/placeholder.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "placehold.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Settings.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Settings.swift 3 | // OpenVideoCall 4 | // 5 | // Created by CavanSu on 2019/5/14. 6 | // Copyright © 2019 Agora. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import AgoraRtcKit 11 | 12 | struct Settings { 13 | var roomName: String? 14 | var role = AgoraClientRole.broadcaster 15 | var dimension = CGSize.defaultDimension() 16 | var frameRate = AgoraVideoFrameRate.defaultValue 17 | } 18 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-back.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-back.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-beauty.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-camera.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-share.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-share.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol-gray.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "logo-ol.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/logo-ol.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "logo-open live.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/release_vs2013.bat: -------------------------------------------------------------------------------- 1 | pushd Release 2 | pushd Language 3 | 4 | del *.exp 5 | del *.pdb 6 | del *.lib 7 | 8 | popd Language 9 | 10 | del *.pdb 11 | del *.log 12 | 13 | IF NOT EXIST msvcp120.dll ( 14 | copy C:\Windows\SysWOW64\msvcp120.dll 15 | ) 16 | 17 | IF NOT EXIST msvcr120.dll ( 18 | copy C:\Windows\SysWOW64\msvcr120.dll 19 | ) 20 | 21 | IF NOT EXIST mfc120u.dll ( 22 | copy C:\Windows\SysWOW64\mfc120u.dll 23 | ) 24 | popd Release 25 | pause -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/btn_back_arrow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_back_arrow.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/Assets.xcassets/ic_arrow_right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_arrow_right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS/exportPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | method 6 | development 7 | compileBitcode 8 | 9 | provisioningProfiles 10 | 11 | io.agora.OpenLive 12 | App 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/audience-blue.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "audience-blue.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/audience-gray.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "audience-gray.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-exit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-exit hover.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-hang up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-hang up.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-join-hover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button-hover.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-join.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button-default.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-setting.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-setting.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-speaker.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_join.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_mute.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-blue.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "broacaster-blue.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/broadcaster-gray.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "broadcaster-gray.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-beauty off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-beauty off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-camera off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-camera off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-micorophone.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-speaker off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/exportPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | method 6 | development 7 | compileBitcode 8 | 9 | provisioningProfiles 10 | 11 | io.agora.OpenLive 12 | App 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_endcall.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_endcall.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-speaker hover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-speaker hover.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/KeyCenter.m: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.m 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import "KeyCenter.h" 10 | 11 | @implementation KeyCenter 12 | + (NSString *)AppId { 13 | return <#Your App Id#>; 14 | } 15 | 16 | // assign token to nil if you have not enabled app certificate 17 | + (NSString *)Token { 18 | return <#Temp Access Token#>; 19 | } 20 | @end 21 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_join_cancel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_join_cancel.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/Assets.xcassets/btn_mute_blue.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "btn_mute_blue.pdf", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Assets.xcassets/icon-micorophone off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon-micorophone off.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/KeyCenter.m: -------------------------------------------------------------------------------- 1 | // 2 | // KeyCenter.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "KeyCenter.h" 10 | 11 | @implementation KeyCenter 12 | + (NSString *)AppId { 13 | return <#Your App Id#>; 14 | } 15 | 16 | // assign token to nil if you have not enabled app certificate 17 | + (NSString *)Token { 18 | return <#Temp Access Token#>; 19 | } 20 | @end 21 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/MediaInfo.h: -------------------------------------------------------------------------------- 1 | // 2 | // MediaInfo.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/9. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface MediaInfo : NSObject 13 | + (NSString *)resolutionOfProfile:(CGSize)profile; 14 | + (NSString *)fpsOfProfile:(CGSize)profile; 15 | + (NSString *)descriptionProfile:(CGSize)profile; 16 | @end 17 | -------------------------------------------------------------------------------- /OpenLive-Web/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | *.*~ 25 | package-lock.json 26 | .env 27 | OpenLive-Web/ 28 | .eslintcache 29 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/AGEConvert.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AGEConvert.swift 3 | // 4 | // Created by CavanSu on 2019/9/30. 5 | // Copyright © 2019 Agora. All rights reserved. 6 | // 7 | 8 | import Cocoa 9 | 10 | class AGEConvert: NSObject { 11 | static func force(instance: Any, to type: T.Type) throws -> T { 12 | if let converted = instance as? T { 13 | return converted 14 | } else { 15 | throw AGEError(type: .fail("convert fail")) 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/json/json.h: -------------------------------------------------------------------------------- 1 | // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors 2 | // Distributed under MIT license, or public domain if desired and 3 | // recognized in your jurisdiction. 4 | // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE 5 | 6 | #ifndef JSON_JSON_H_INCLUDED 7 | #define JSON_JSON_H_INCLUDED 8 | 9 | #include "autolink.h" 10 | #include "value.h" 11 | #include "reader.h" 12 | #include "writer.h" 13 | #include "features.h" 14 | 15 | #endif // JSON_JSON_H_INCLUDED 16 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 6/25/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 17 | return true 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGJson.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "json/json.h" 4 | class CAGJson 5 | { 6 | public: 7 | CAGJson(); 8 | ~CAGJson(); 9 | BOOL GetParameters(std::map& mapStringParameters, 10 | std::map& mapBoolParameters, 11 | std::map& mapIntParameters, 12 | std::map& mapObjectParameters); 13 | private: 14 | Json::Value jsonParameters; 15 | bool bSuccess = false; 16 | 17 | }; 18 | 19 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/rounded_corner_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 9 | 10 | 15 | 16 | 17 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 18 | // Override point for customization after application launch. 19 | return YES; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/live_room_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /OpenLive-Web/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: 4 | -apple-system, 5 | BlinkMacSystemFont, 6 | "Segoe UI", 7 | "Roboto", 8 | "Oxygen", 9 | "Ubuntu", 10 | "Cantarell", 11 | "Fira Sans", 12 | "Droid Sans", 13 | "Helvetica Neue", 14 | sans-serif; 15 | -webkit-font-smoothing: antialiased; 16 | -moz-osx-font-smoothing: grayscale; 17 | } 18 | 19 | code { 20 | font-family: 21 | source-code-pro, 22 | Menlo, 23 | Monaco, 24 | Consolas, 25 | "Courier New", 26 | monospace; 27 | } 28 | -------------------------------------------------------------------------------- /OpenLive-Web/src/App.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import './App.css' 3 | import { Route, Switch } from 'react-router-dom' 4 | import Index from './pages/index' 5 | import Meeting from './pages/meeting' 6 | import { BrowserRouterHook } from './utils/use-router' 7 | function App () { 8 | return ( 9 | 10 | 11 | 12 | 13 | 14 | 15 | ) 16 | } 17 | 18 | export default App 19 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/MainWindowController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MainWindowController.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2/20/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class MainWindowController: NSWindowController { 12 | 13 | override func windowDidLoad() { 14 | super.windowDidLoad() 15 | 16 | window?.styleMask.insert(.fullSizeContentView) 17 | window?.titlebarAppearsTransparent = true 18 | window?.isMovableByWindowBackground = true 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/VideoSession.h: -------------------------------------------------------------------------------- 1 | // 2 | // VideoSession.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface VideoSession : NSObject 13 | @property (assign, nonatomic) NSUInteger uid; 14 | @property (strong, nonatomic) UIView *hostingView; 15 | @property (strong, nonatomic) AgoraRtcVideoCanvas *canvas; 16 | 17 | - (instancetype)initWithUid:(NSUInteger)uid; 18 | + (instancetype)localSession; 19 | @end 20 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 17 | // Insert code here to initialize your application 18 | } 19 | 20 | - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender { 21 | return YES; 22 | } 23 | @end 24 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/VideoSession.h: -------------------------------------------------------------------------------- 1 | // 2 | // VideoSession.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/9. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface VideoSession : NSObject 13 | @property (nonatomic, assign) NSUInteger uid; 14 | @property (nonatomic, strong) NSView *hostingView; 15 | @property (nonatomic, strong) AgoraRtcVideoCanvas *canvas; 16 | 17 | - (instancetype)initWithUid:(NSUInteger)uid; 18 | + (instancetype)localSession; 19 | @end 20 | -------------------------------------------------------------------------------- /OpenLive-Android/ci.env.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import re 4 | import os 5 | 6 | 7 | def main(): 8 | appId = "" 9 | if "AGORA_APP_ID" in os.environ: 10 | appId = os.environ["AGORA_APP_ID"] 11 | token = "" 12 | 13 | f = open("app/src/main/res/values/strings_config.xml", 'r+') 14 | content = f.read() 15 | contentNew = re.sub(r'<#YOUR APP ID#>', appId, content) 16 | contentNew = re.sub(r'<#YOUR ACCESS TOKEN#>', token, contentNew) 17 | f.seek(0) 18 | f.write(contentNew) 19 | f.truncate() 20 | 21 | 22 | if __name__ == "__main__": 23 | main() -------------------------------------------------------------------------------- /OpenLive-iOS/build.sh: -------------------------------------------------------------------------------- 1 | rm -f *.ipa 2 | rm -rf *.app 3 | rm -f *.zip 4 | rm -rf dSYMs 5 | rm -rf *.dSYM 6 | rm -f *dSYMs.zip 7 | rm -rf *.xcarchive 8 | 9 | PROJECT_NAME="OpenLive.xcodeproj" 10 | SCHEME_NAME="OpenLive" 11 | BUILD_DATE=`date +%Y-%m-%d-%H.%M.%S` 12 | ArchivePath=${SCHEME_NAME}-${BUILD_DATE}.xcarchive 13 | 14 | xcodebuild clean -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -configuration Release 15 | xcodebuild -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -archivePath ${ArchivePath} archive 16 | xcodebuild -exportArchive -exportOptionsPlist exportPlist.plist -archivePath ${ArchivePath} -exportPath . 17 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/build.sh: -------------------------------------------------------------------------------- 1 | rm -f *.ipa 2 | rm -rf *.app 3 | rm -f *.zip 4 | rm -rf dSYMs 5 | rm -rf *.dSYM 6 | rm -f *dSYMs.zip 7 | rm -rf *.xcarchive 8 | 9 | PROJECT_NAME="OpenLive.xcodeproj" 10 | SCHEME_NAME="OpenLive" 11 | BUILD_DATE=`date +%Y-%m-%d-%H.%M.%S` 12 | ArchivePath=${SCHEME_NAME}-${BUILD_DATE}.xcarchive 13 | 14 | xcodebuild clean -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -configuration Release 15 | xcodebuild -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -archivePath ${ArchivePath} archive 16 | xcodebuild -exportArchive -exportOptionsPlist exportPlist.plist -archivePath ${ArchivePath} -exportPath . 17 | -------------------------------------------------------------------------------- /OpenLive-Web/src/utils/use-router.jsx: -------------------------------------------------------------------------------- 1 | import React, { useContext } from 'react' 2 | import { HashRouter as Router, Route, Switch } from 'react-router-dom' 3 | 4 | export const RouterContext = React.createContext({}) 5 | 6 | export const BrowserRouterHook = ({ children }) => ( 7 | 8 | 9 | 10 | {(routeProps) => ( 11 | 12 | {children} 13 | 14 | )} 15 | 16 | 17 | 18 | ) 19 | 20 | export default function useRouter () { 21 | return useContext(RouterContext) 22 | } 23 | -------------------------------------------------------------------------------- /OpenLive-Android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.5.1' 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | google() 19 | jcenter() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/WindowItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // WindowItem.swift 3 | // OpenLive 4 | // 5 | // Created by CavanSu on 2019/11/11. 6 | // Copyright © 2019 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class WindowItem: NSCollectionViewItem { 12 | 13 | @IBOutlet weak var cImageView: NSImageView! 14 | 15 | var image: NSImage? { 16 | didSet { 17 | cImageView.image = image 18 | } 19 | } 20 | 21 | override func viewDidLoad() { 22 | super.viewDidLoad() 23 | self.view.wantsLayer = true 24 | self.view.layer?.backgroundColor = NSColor.black.cgColor 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/OpenLive.h: -------------------------------------------------------------------------------- 1 | 2 | // OpenLive.h : main header file for the PROJECT_NAME application 3 | // 4 | 5 | #pragma once 6 | 7 | #ifndef __AFXWIN_H__ 8 | #error "include 'stdafx.h' before including this file for PCH" 9 | #endif 10 | 11 | #include "resource.h" // main symbols 12 | 13 | 14 | // COpenLiveApp: 15 | // See COpenLiveApp.cpp for the implementation of this class 16 | // 17 | 18 | class COpenLiveApp : public CWinApp 19 | { 20 | public: 21 | COpenLiveApp(); 22 | 23 | // Overrides 24 | public: 25 | virtual BOOL InitInstance(); 26 | 27 | // Implementation 28 | 29 | DECLARE_MESSAGE_MAP() 30 | }; 31 | 32 | extern COpenLiveApp theApp; -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SettingsViewController.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class SettingsViewController; 13 | @protocol SettingsVCDelegate 14 | - (void)settingsVC:(SettingsViewController *)settingsVC didSelectProfile:(CGSize)profile; 15 | @end 16 | 17 | @interface SettingsViewController : UIViewController 18 | @property (assign, nonatomic) CGSize videoProfile; 19 | @property (weak, nonatomic) id delegate; 20 | @end 21 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SettingViewController.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class SettingsViewController; 13 | @protocol SettingsVCDelegate 14 | - (void)settingsVC:(SettingsViewController *)settingsVC didSelectProfile:(CGSize)profile; 15 | @end 16 | 17 | @interface SettingsViewController : NSViewController 18 | @property (nonatomic, assign) CGSize videoProfile; 19 | @property (strong, nonatomic) id delegate; 20 | @end 21 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGConfig.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CAGConfig 3 | { 4 | public: 5 | CAGConfig(); 6 | ~CAGConfig(); 7 | 8 | int GetSolution(); 9 | BOOL SetSolution(int nCodec); 10 | 11 | BOOL EnableAutoSave(BOOL bEnable); 12 | BOOL IsAutoSaveEnabled(); 13 | 14 | BOOL IsCustomFPS(); 15 | BOOL IsCustomBitrate(); 16 | BOOL IsCustomRsolution(); 17 | 18 | void SetCustomFPS(int fps); 19 | int GetCustomFPS(); 20 | 21 | void SetResolution(int w, int h); 22 | BOOL GetResolution(int& w, int& h); 23 | 24 | void SetCustomBitrate(int bitrate); 25 | int GetCustomBitrate(); 26 | 27 | private: 28 | TCHAR m_szConfigFile[MAX_PATH]; 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build} 2 | branches: 3 | only: 4 | - master 5 | skip_tags: true 6 | image: Visual Studio 2017 7 | install: 8 | - cmd: >- 9 | cd OpenLive-Windows 10 | 11 | set SDKVersion=3_0_0 12 | 13 | set SDKFolderVersion=3.0.0 14 | 15 | set ProjName=OpenLive 16 | build_script: 17 | - cmd: >- 18 | call build_appveyor_release.bat %SDKVersion% %SDKFolderVersion% x86 %ProjName% 19 | 20 | call build_appveyor_release.bat %SDKVersion% %SDKFolderVersion% x64 %ProjName% 21 | 22 | 7z a -tzip -r OpenLive_Win_v%SDKFolderVersion%.zip %ProjName%_Win_v%SDKFolderVersion% 23 | artifacts: 24 | - path: OpenLive-Windows\OpenLive_Win_v*.zip 25 | name: OpenLive-Windows -------------------------------------------------------------------------------- /cicd/scripts/sdkdownload.sh: -------------------------------------------------------------------------------- 1 | TARGET_LIBS_ZIP="agora_sdk.zip" 2 | TARGET_INTERNAL_FOLDER="agora_sdk" 3 | 4 | FILE_PATH=`pwd` 5 | 6 | echo ${FILE_PATH} 7 | 8 | SDK_URL=$1 9 | COPY_TO=$2 10 | 11 | echo "url" ${SDK_URL} 12 | 13 | #download 14 | wget -q ${SDK_URL} -O ${TARGET_LIBS_ZIP} 15 | 16 | #unzip 17 | unzip -q ${TARGET_LIBS_ZIP} -d ${TARGET_INTERNAL_FOLDER} 18 | 19 | cd ${TARGET_INTERNAL_FOLDER} 20 | 21 | FIRST_FOLDER="" 22 | 23 | for i in `ls` 24 | do 25 | FIRST_FOLDER=$i 26 | echo $i 27 | done 28 | 29 | #copy 30 | DESTINATION=${FILE_PATH}/../../${COPY_TO} 31 | 32 | echo DESTINATION ${DESTINATION} 33 | 34 | cp -af ${FIRST_FOLDER}/libs/* ${DESTINATION} 35 | 36 | echo pwd `pwd` 37 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/MainWindowController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MainWindowController.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "MainWindowController.h" 10 | 11 | @interface MainWindowController () 12 | 13 | @end 14 | 15 | @implementation MainWindowController 16 | 17 | - (void)windowDidLoad { 18 | [super windowDidLoad]; 19 | // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. 20 | self.window.titlebarAppearsTransparent = true; 21 | self.window.movableByWindowBackground = YES; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AgoraCameraManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CAgoraCameraManager 3 | { 4 | public: 5 | CAgoraCameraManager(); 6 | ~CAgoraCameraManager(); 7 | 8 | BOOL Create(IRtcEngine *lpRtcEngine); 9 | void Close(); 10 | 11 | UINT GetDeviceCount(); 12 | 13 | CString GetCurDeviceID(); 14 | BOOL SetCurDevice(LPCTSTR lpDeviceID); 15 | 16 | BOOL GetDevice(UINT nIndex, CString &rDeviceName, CString &rDeviceID); 17 | void TestCameraDevice(HWND hVideoWnd, BOOL bTestOn = TRUE); 18 | 19 | BOOL IsTesting() { return m_bTestingOn; }; 20 | 21 | private: 22 | AVideoDeviceManager *m_ptrDeviceManager; 23 | IVideoDeviceCollection *m_lpCollection; 24 | BOOL m_bTestingOn; 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/setting_resolution_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/VideoViewLayouter.h: -------------------------------------------------------------------------------- 1 | // 2 | // VideoViewLayouter.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "VideoSession.h" 11 | 12 | @interface VideoViewLayouter : NSObject 13 | - (void)layoutSessions:(NSArray *)sessions 14 | fullSession:(VideoSession *)fullSession 15 | inContainer:(UIView *)container; 16 | - (VideoSession *)responseSessionOfGesture:(UIGestureRecognizer *)gesture 17 | inSessions:(NSArray *)sessions 18 | inContainerView:(UIView *)container; 19 | @end 20 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Message.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Message.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 16/8/19. 6 | // Copyright © 2016年 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | enum MessageType { 12 | case info, alert 13 | 14 | func color() -> NSColor { 15 | switch self { 16 | case .info: return NSColor(hex: 0x444444, alpha: 0.6) 17 | case .alert: return NSColor(hex: 0xff3c32, alpha: 0.6) 18 | } 19 | } 20 | } 21 | 22 | struct Message { 23 | var text: String! 24 | var type: MessageType = .info 25 | 26 | init(text: String, type: MessageType) { 27 | self.text = text 28 | self.type = type 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #DEDEDE 4 | #CCCCCC 5 | #989898 6 | #666666 7 | #333333 8 | 9 | #007AFF 10 | #44A2FC 11 | #0ECFFF 12 | #9CD9FF 13 | 14 | #CC262626 15 | #66000000 16 | #22000000 17 | 18 | -------------------------------------------------------------------------------- /OpenLive-iOS/ci.env.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import re 4 | import os 5 | 6 | def main(): 7 | 8 | appId = "" 9 | if "AGORA_APP_ID" in os.environ: 10 | appId = os.environ["AGORA_APP_ID"] 11 | token = "" 12 | 13 | #if need reset 14 | f = open("./OpenLive/KeyCenter.swift", 'r+') 15 | content = f.read() 16 | 17 | #if need reset 18 | appString = "\"" + appId + "\"" 19 | tokenString = "\"" + token + "\"" 20 | contentNew = re.sub(r'<#Your App Id#>', appString, content) 21 | contentNew = re.sub(r'<#Temp Access Token#>', tokenString, contentNew) 22 | 23 | f.seek(0) 24 | f.write(contentNew) 25 | f.truncate() 26 | 27 | if __name__ == "__main__": 28 | main() 29 | -------------------------------------------------------------------------------- /OpenLive-macOS/ci.env.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import re 4 | import os 5 | 6 | def main(): 7 | 8 | appId = "" 9 | if "AGORA_APP_ID" in os.environ: 10 | appId = os.environ["AGORA_APP_ID"] 11 | token = "" 12 | 13 | #if need reset 14 | f = open("./OpenLive/KeyCenter.swift", 'r+') 15 | content = f.read() 16 | 17 | #if need reset 18 | appString = "\"" + appId + "\"" 19 | tokenString = "\"" + token + "\"" 20 | contentNew = re.sub(r'<#Your App Id#>', appString, content) 21 | contentNew = re.sub(r'<#Temp Access Token#>', tokenString, contentNew) 22 | 23 | f.seek(0) 24 | f.write(contentNew) 25 | f.truncate() 26 | 27 | 28 | if __name__ == "__main__": 29 | main() 30 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/VideoViewLayouter.h: -------------------------------------------------------------------------------- 1 | // 2 | // VideoViewLayouter.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "VideoSession.h" 12 | 13 | @interface VideoViewLayouter : NSObject 14 | - (void)layoutSessions:(NSArray *)sessions 15 | fullSession:(VideoSession *)fullSession 16 | inContainer:(NSView *)container; 17 | - (VideoSession *)responseSessionOfEvent:(NSEvent *)gesture 18 | inSessions:(NSArray *)sessions 19 | inContainerView:(NSView *)container; 20 | @end 21 | -------------------------------------------------------------------------------- /OpenLive-macOS/build.sh: -------------------------------------------------------------------------------- 1 | rm -f *.ipa 2 | rm -rf *.app 3 | rm -f *.zip 4 | rm -rf dSYMs 5 | rm -rf *.dSYM 6 | rm -f *dSYMs.zip 7 | rm -rf *.xcarchive 8 | 9 | PROJECT_NAME="OpenLive.xcodeproj" 10 | SCHEME_NAME="OpenLive" 11 | BUILD_DATE=`date +%Y-%m-%d-%H.%M.%S` 12 | ArchivePath=${SCHEME_NAME}-${BUILD_DATE}.xcarchive 13 | 14 | xcodebuild clean -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -configuration Release 15 | xcodebuild CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -archivePath ${ArchivePath} archive 16 | xcodebuild CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -exportArchive -exportOptionsPlist exportPlist.plist -archivePath ${ArchivePath} -exportPath . 17 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/ci.env.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import re 4 | import os 5 | 6 | def main(): 7 | 8 | appId = "" 9 | if "AGORA_APP_ID" in os.environ: 10 | appId = os.environ["AGORA_APP_ID"] 11 | token = "" 12 | 13 | #if need reset 14 | f = open("./OpenLive/KeyCenter.m", 'r+') 15 | content = f.read() 16 | 17 | #if need reset 18 | appString = "@\"" + appId + "\"" 19 | tokenString = "@\"" + token + "\"" 20 | contentNew = re.sub(r'<#Your App Id#>', appString, content) 21 | contentNew = re.sub(r'<#Temp Access Token#>', tokenString, contentNew) 22 | 23 | f.seek(0) 24 | f.write(contentNew) 25 | f.truncate() 26 | 27 | 28 | if __name__ == "__main__": 29 | main() 30 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/ci.env.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import re 4 | import os 5 | 6 | def main(): 7 | 8 | appId = "" 9 | if "AGORA_APP_ID" in os.environ: 10 | appId = os.environ["AGORA_APP_ID"] 11 | token = "" 12 | 13 | #if need reset 14 | f = open("./OpenLive/KeyCenter.m", 'r+') 15 | content = f.read() 16 | 17 | #if need reset 18 | appString = "@\"" + appId + "\"" 19 | tokenString = "@\"" + token + "\"" 20 | contentNew = re.sub(r'<#Your App Id#>', appString, content) 21 | contentNew = re.sub(r'<#Temp Access Token#>', tokenString, contentNew) 22 | 23 | f.seek(0) 24 | f.write(contentNew) 25 | f.truncate() 26 | 27 | 28 | if __name__ == "__main__": 29 | main() 30 | -------------------------------------------------------------------------------- /OpenLive-Android/.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # generated files 12 | bin/ 13 | gen/ 14 | build/ 15 | 16 | # Local configuration file (sdk path, etc) 17 | local.properties 18 | 19 | # Eclipse project files 20 | .classpath 21 | .project 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Intellij project files 27 | *.iml 28 | *.ipr 29 | *.iws 30 | .idea/ 31 | 32 | # Mac OS X 33 | .DS_Store 34 | 35 | # Android Studio 36 | .gradle 37 | /local.properties 38 | /.idea/workspace.xml 39 | obj/ 40 | 41 | .externalNativeBuild 42 | 43 | # cscope or ctags files 44 | cscope.in.out 45 | cscope.out 46 | cscope.po.out 47 | tags 48 | 49 | -------------------------------------------------------------------------------- /OpenLive-Android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/guohai/Dev/android-sdk-macosx/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/values/strings_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | <#YOUR APP ID#> 8 | 9 | 10 | 11 | <#YOUR ACCESS TOKEN#> 12 | 13 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/build.sh: -------------------------------------------------------------------------------- 1 | rm -f *.ipa 2 | rm -rf *.app 3 | rm -f *.zip 4 | rm -rf dSYMs 5 | rm -rf *.dSYM 6 | rm -f *dSYMs.zip 7 | rm -rf *.xcarchive 8 | 9 | PROJECT_NAME="OpenLive.xcodeproj" 10 | SCHEME_NAME="OpenLive" 11 | BUILD_DATE=`date +%Y-%m-%d-%H.%M.%S` 12 | ArchivePath=${SCHEME_NAME}-${BUILD_DATE}.xcarchive 13 | 14 | xcodebuild clean -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -configuration Release 15 | xcodebuild CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -project ${PROJECT_NAME} -scheme ${SCHEME_NAME} -archivePath ${ArchivePath} archive 16 | xcodebuild CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -exportArchive -exportOptionsPlist exportPlist.plist -archivePath ${ArchivePath} -exportPath . 17 | -------------------------------------------------------------------------------- /OpenLive-Web/src/utils/loading.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { makeStyles } from '@material-ui/core/styles' 3 | import CircularProgress from '@material-ui/core/CircularProgress' 4 | 5 | const useStyles = makeStyles((theme) => ({ 6 | progress: { 7 | margin: theme.spacing(2), 8 | color: '#44A2FC' 9 | }, 10 | container: { 11 | height: '100%', 12 | width: '100%', 13 | display: 'flex', 14 | justifyContent: 'center', 15 | alignItems: 'center', 16 | background: '#666666' 17 | } 18 | })) 19 | 20 | export default function CircularLoading () { 21 | const classes = useStyles() 22 | 23 | return ( 24 |
25 | 26 |
27 | ) 28 | } 29 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AgoraPlayoutManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CAgoraPlayoutManager 3 | { 4 | public: 5 | CAgoraPlayoutManager(); 6 | ~CAgoraPlayoutManager(); 7 | 8 | BOOL Create(IRtcEngine *lpRtcEngine); 9 | void Close(); 10 | 11 | UINT GetVolume(); 12 | BOOL SetVolume(UINT nVol); 13 | UINT GetDeviceCount(); 14 | 15 | CString GetCurDeviceID(); 16 | BOOL SetCurDevice(LPCTSTR lpDeviceID); 17 | 18 | BOOL GetDevice(UINT nIndex, CString &rDeviceName, CString &rDeviceID); 19 | void TestPlaybackDevice(UINT nWavID, BOOL bTestOn = TRUE); 20 | 21 | BOOL IsTesting() { return m_bTestingOn; }; 22 | private: 23 | AAudioDeviceManager *m_ptrDeviceManager; 24 | IAudioDeviceCollection *m_lpCollection; 25 | 26 | private: 27 | BOOL m_bTestingOn; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /OpenLive-Windows/agoraqtjson.h: -------------------------------------------------------------------------------- 1 | #ifndef CAGORAQTJSON_H 2 | #define CAGORAQTJSON_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class AgoraQtJson : public QObject 10 | { 11 | Q_OBJECT 12 | public: 13 | AgoraQtJson(QObject *parent = NULL); 14 | ~AgoraQtJson(); 15 | 16 | bool GetParameters(std::map& mapStringParameters, 17 | std::map& mapBoolParameters, 18 | std::map& mapIntParameters, 19 | std::map& mapObjectParameters); 20 | private: 21 | QString jsonFilePath; 22 | QJsonArray jsParameters; 23 | bool bSuccess; 24 | bool isArray; 25 | }; 26 | #endif // CAGORACONFIG_H 27 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/LanguageSet.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //#define LANGUAGE_SET_MSG _T("SNOWWALKER_LANGSET_MSG") 4 | 5 | #define LANG_STR(lpStringID) (CLanguageSet::GetInstance()->GetString(lpStringID)) 6 | 7 | class CLanguageSet 8 | { 9 | protected: 10 | CLanguageSet(); 11 | ~CLanguageSet(); 12 | 13 | public: 14 | static CLanguageSet *GetInstance(); 15 | static void CloseInstance(); 16 | 17 | CString GetCurrentLanguage(); 18 | BOOL SetCurrentLanguage(LPCTSTR lpLanguageName); 19 | LPCTSTR GetString(LPCSTR lpStringID); 20 | 21 | BOOL LoadLanguageModule(LPCTSTR lpLanguageName = NULL); 22 | void UnloadLanguageModule(); 23 | 24 | private: 25 | HMODULE m_hLanguageModule; 26 | static CLanguageSet *m_lpLanguageSet; 27 | static TCHAR m_szSelfPath[MAX_PATH]; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/layout/dimension_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 16 | 17 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AgoraAudInputManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CAgoraAudInputManager 3 | { 4 | public: 5 | CAgoraAudInputManager(); 6 | ~CAgoraAudInputManager(); 7 | 8 | BOOL Create(IRtcEngine *lpRtcEngine); 9 | void Close(); 10 | 11 | UINT GetVolume(); 12 | BOOL SetVolume(UINT nVol); 13 | UINT GetDeviceCount(); 14 | 15 | CString GetCurDeviceID(); 16 | BOOL SetCurDevice(LPCTSTR lpDeviceID); 17 | 18 | BOOL GetDevice(UINT nIndex, CString &rDeviceName, CString &rDeviceID); 19 | 20 | void TestAudInputDevice(HWND hMsgWnd, BOOL bTestOn); 21 | 22 | BOOL IsTesting() { return m_bTestingOn; }; 23 | private: 24 | BOOL m_bTestingOn; 25 | HWND m_hOldMsgWnd; 26 | AAudioDeviceManager *m_ptrDeviceManager; 27 | IAudioDeviceCollection *m_lpCollection; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/MediaInfo.m: -------------------------------------------------------------------------------- 1 | // 2 | // MediaInfo.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/9. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "MediaInfo.h" 10 | 11 | 12 | @implementation MediaInfo 13 | + (NSString *)resolutionOfProfile:(CGSize)profile { 14 | return [NSString stringWithFormat:@"%dx%d", (int)profile.width, (int)profile.height]; 15 | } 16 | 17 | + (NSString *)fpsOfProfile:(CGSize)profile { 18 | return @"24"; 19 | } 20 | 21 | + (NSString *)descriptionProfile:(CGSize)profile { 22 | NSString *resolution = [MediaInfo resolutionOfProfile:profile]; 23 | NSString *fps = [MediaInfo fpsOfProfile:profile]; 24 | return [NSString stringWithFormat:@"%@,%@fps",resolution,fps]; 25 | } 26 | @end 27 | -------------------------------------------------------------------------------- /OpenLive-Web/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | import './index.css' 4 | import App from './App' 5 | import * as serviceWorker from './serviceWorker' 6 | import { ContainerProvider } from './utils/container' 7 | import { ThemeProvider } from '@material-ui/styles' 8 | import THEME from './utils/theme' 9 | 10 | ReactDOM.render( 11 | 12 | 13 | 14 | 15 | , 16 | document.getElementById('root') 17 | ) 18 | 19 | // If you want your app to work offline and load faster, you can change 20 | // unregister() to register() below. Note this comes with some pitfalls. 21 | // Learn more about service workers: https://bit.ly/CRA-PWA 22 | serviceWorker.unregister() 23 | -------------------------------------------------------------------------------- /cicd/scripts/install-qt-win.cmd: -------------------------------------------------------------------------------- 1 | set arch=%~1 2 | if %arch%==x86 ( 3 | if exist Qt5.14.2.zip (curl -kLO https://github.com/sbd021/Basic-Video-Broadcasting/releases/download/5.14.2/Qt5.14.2.zip -f --retry 5 -z Qt5.14.2.zip) else (curl -kLO https://github.com/sbd021/Basic-Video-Broadcasting/releases/download/5.14.2/Qt5.14.2.zip -f --retry 5 -C -) 4 | 7z x Qt5.14.2.zip -oQt 5 | mv Qt C:\Qt5.14.2 6 | dir C:\Qt5.14.2 7 | ) else ( 8 | if exist Qt5.14.2_64.zip (curl -kLO https://github.com/sbd021/Basic-Video-Broadcasting/releases/download/5.14.2/Qt5.14.2_64.zip -f --retry 5 -z Qt5.14.2.zip) else (curl -kLO https://github.com/sbd021/Basic-Video-Broadcasting/releases/download/5.14.2/Qt5.14.2_64.zip -f --retry 5 -C -) 9 | 7z x Qt5.14.2_64.zip -oQt 10 | mv Qt C:\Qt5.14.2_64 11 | dir C:\Qt5.14.2_64 12 | ) 13 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/AGEError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AGEError.swift 3 | // 4 | // Created by CavanSu on 2019/9/30. 5 | // Copyright © 2019 Agora. All rights reserved. 6 | // 7 | 8 | import Cocoa 9 | 10 | struct AGEError: Error { 11 | enum ErrorType { 12 | case fail(String) 13 | case invalidParameter(String) 14 | case valueNil(String) 15 | case unknown 16 | } 17 | 18 | var localizedDescription: String { 19 | switch type { 20 | case .fail(let reason): return "\(reason)" 21 | case .invalidParameter(let para): return "\(para)" 22 | case .valueNil(let para): return "\(para) nil" 23 | case .unknown: return "unknown error" 24 | } 25 | } 26 | 27 | var type: ErrorType 28 | } 29 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/LiveRoomViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LiveRoomViewController.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class LiveRoomViewController; 13 | @protocol LiveRoomVCDelegate 14 | - (void)liveVCNeedClose:(LiveRoomViewController *)liveVC; 15 | @end 16 | 17 | @interface LiveRoomViewController : UIViewController 18 | @property (copy, nonatomic) NSString *roomName; 19 | @property (strong, nonatomic) AgoraRtcEngineKit *rtcEngine; 20 | @property (assign, nonatomic) AgoraClientRole clientRole; 21 | @property (assign, nonatomic) CGSize videoProfile; 22 | @property (weak, nonatomic) id delegate; 23 | @end 24 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/json/autolink.h: -------------------------------------------------------------------------------- 1 | // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors 2 | // Distributed under MIT license, or public domain if desired and 3 | // recognized in your jurisdiction. 4 | // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE 5 | 6 | #ifndef JSON_AUTOLINK_H_INCLUDED 7 | #define JSON_AUTOLINK_H_INCLUDED 8 | 9 | #include "config.h" 10 | 11 | #ifdef JSON_IN_CPPTL 12 | #include 13 | #endif 14 | 15 | #if !defined(JSON_NO_AUTOLINK) && !defined(JSON_DLL_BUILD) && \ 16 | !defined(JSON_IN_CPPTL) 17 | #define CPPTL_AUTOLINK_NAME "json" 18 | #undef CPPTL_AUTOLINK_DLL 19 | #ifdef JSON_DLL 20 | #define CPPTL_AUTOLINK_DLL 21 | #endif 22 | #include "autolink.h" 23 | #endif 24 | 25 | #endif // JSON_AUTOLINK_H_INCLUDED 26 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/LiveRoomViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LiveRoomViewController.h 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/8. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class LiveRoomViewController; 13 | @protocol LiveRoomVCDelegate 14 | - (void)liveVCNeedClose:(LiveRoomViewController *)liveVC; 15 | @end 16 | 17 | @interface LiveRoomViewController : NSViewController 18 | @property (nonatomic, copy) NSString *roomName; 19 | @property (nonatomic, strong) AgoraRtcEngineKit *rtcEngine; 20 | @property (nonatomic, assign) AgoraClientRole clientRole; 21 | @property (nonatomic, assign) CGSize videoProfile; 22 | @property (nonatomic, strong) id delegate; 23 | @end 24 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/json/version.h: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT. This file (and "version") is generated by CMake. 2 | // Run CMake configure step to update it. 3 | #ifndef JSON_VERSION_H_INCLUDED 4 | # define JSON_VERSION_H_INCLUDED 5 | 6 | # define JSONCPP_VERSION_STRING "1.8.4" 7 | # define JSONCPP_VERSION_MAJOR 1 8 | # define JSONCPP_VERSION_MINOR 8 9 | # define JSONCPP_VERSION_PATCH 4 10 | # define JSONCPP_VERSION_QUALIFIER 11 | # define JSONCPP_VERSION_HEXA ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8)) 12 | 13 | #ifdef JSONCPP_USING_SECURE_MEMORY 14 | #undef JSONCPP_USING_SECURE_MEMORY 15 | #endif 16 | #define JSONCPP_USING_SECURE_MEMORY 0 17 | // If non-zero, the library zeroes any memory that it has allocated before 18 | // it frees its memory. 19 | 20 | #endif // JSON_VERSION_H_INCLUDED 21 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/MediaCharacter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MediaCharacter.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 16/8/1. 6 | // Copyright © 2016年 Agora. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | struct MediaCharacter { 12 | 13 | fileprivate static let legalMediaCharacterSet: CharacterSet = { 14 | return CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&()+,-:;<=.>?@[]^_`{|}~") 15 | }() 16 | 17 | static func updateToLegalMediaString(from string: String) -> String { 18 | let legalSet = MediaCharacter.legalMediaCharacterSet 19 | let separatedArray = string.components(separatedBy: legalSet.inverted) 20 | let legalString = separatedArray.joined(separator: "") 21 | return legalString 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OpenLive-Windows/build_release.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | title qmake and nmake build prompt 3 | itle qmake and nmake build prompt 4 | ::C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC 5 | ::C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build; 6 | set VCINSTALLDIR=%~1 7 | ::C:\Qt\5.12.2\msvc2017;C:\Qt\5.12.2\msvc2017_64 8 | set QTDIR=%~2 9 | ::x86;x64 10 | set Machine=%~3 11 | echo vsdir: %VCINSTALLDIR% 12 | echo qtdir:%QTDIR% 13 | echo machine:%Machine% 14 | 15 | set PATH=%VCINSTALLDIR%\bin;%QTDIR%\bin;C:\Program Files\7-Zip;%PATH% 16 | 17 | ::shadow build 18 | set vsdevpath=%VCINSTALLDIR%\vcvarsall.bat 19 | echo vsdevpath:%vsdevpath% 20 | call "%VCINSTALLDIR%\vcvarsall.bat" %Machine% 21 | 22 | qmake OpenLive.pro "CONFIG+=release" "CONFIG+=qml_release" 23 | nmake 24 | cd release 25 | windeployqt OpenLive.exe 26 | cd .. 27 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive-Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive-Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /OpenLive-Windows/main.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "mainwindow.h" 3 | #include "enterroom.h" 4 | #include "inroom.h" 5 | #include 6 | #include 7 | using namespace agora::rtc; 8 | Q_DECLARE_METATYPE(uid_t) 9 | Q_DECLARE_METATYPE(USER_OFFLINE_REASON_TYPE) 10 | Q_DECLARE_METATYPE(LocalVideoStats) 11 | Q_DECLARE_METATYPE(RemoteVideoStats) 12 | Q_DECLARE_METATYPE(RtcStats) 13 | 14 | CAgoraConfig gAgoraConfig; 15 | 16 | int main(int argc, char *argv[]) 17 | { 18 | QApplication a(argc, argv); 19 | a.setWindowIcon(QIcon("home.ico")); 20 | 21 | qRegisterMetaType(); 22 | qRegisterMetaType(); 23 | qRegisterMetaType(); 24 | qRegisterMetaType(); 25 | qRegisterMetaType(); 26 | MainWindow w; 27 | w.show(); 28 | 29 | return a.exec(); 30 | } 31 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/VideoSession.m: -------------------------------------------------------------------------------- 1 | // 2 | // VideoSession.m 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import "VideoSession.h" 10 | 11 | @implementation VideoSession 12 | - (instancetype)initWithUid:(NSUInteger)uid { 13 | if (self = [super init]) { 14 | self.uid = uid; 15 | 16 | self.hostingView = [[UIView alloc] init]; 17 | self.hostingView.translatesAutoresizingMaskIntoConstraints = NO; 18 | 19 | self.canvas = [[AgoraRtcVideoCanvas alloc] init]; 20 | self.canvas.uid = uid; 21 | self.canvas.view = self.hostingView; 22 | self.canvas.renderMode = AgoraVideoRenderModeHidden; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)localSession { 28 | return [[VideoSession alloc] initWithUid:0]; 29 | } 30 | @end 31 | -------------------------------------------------------------------------------- /OpenLive-macOS-Objective-C/OpenLive/VideoSession.m: -------------------------------------------------------------------------------- 1 | // 2 | // VideoSession.m 3 | // OpenLive 4 | // 5 | // Created by yangmoumou on 2018/2/9. 6 | // Copyright © 2018年 yangmoumou. All rights reserved. 7 | // 8 | 9 | #import "VideoSession.h" 10 | 11 | @implementation VideoSession 12 | - (instancetype)initWithUid:(NSUInteger)uid { 13 | if (self = [super init]) { 14 | self.uid = uid; 15 | 16 | self.hostingView = [[NSView alloc] init]; 17 | self.hostingView.translatesAutoresizingMaskIntoConstraints = false; 18 | 19 | self.canvas = [[AgoraRtcVideoCanvas alloc] init]; 20 | self.canvas.uid = uid; 21 | self.canvas.view = self.hostingView; 22 | self.canvas.renderMode = AgoraVideoRenderModeHidden; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)localSession { 28 | return [[VideoSession alloc] initWithUid:0]; 29 | } 30 | @end 31 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/setting_switch_checked.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGLinkCtrl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | // CAGLinkCtrl 5 | 6 | class CAGLinkCtrl : public CStatic 7 | { 8 | DECLARE_DYNAMIC(CAGLinkCtrl) 9 | 10 | public: 11 | CAGLinkCtrl(); 12 | virtual ~CAGLinkCtrl(); 13 | 14 | void SetTextColor(COLORREF crText, COLORREF crHover); 15 | void SetBackColor(COLORREF crBack); 16 | COLORREF GetTextColor() const; 17 | COLORREF GetHoverColor() const; 18 | 19 | protected: 20 | virtual void PreSubclassWindow(); 21 | 22 | afx_msg void OnPaint(); 23 | afx_msg void OnMouseMove(UINT nFlags, CPoint point); 24 | afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); 25 | afx_msg void OnMouseLeave(); 26 | 27 | DECLARE_MESSAGE_MAP() 28 | 29 | private: 30 | COLORREF m_crText; 31 | COLORREF m_crHover; // Hover colour 32 | COLORREF m_crBack; 33 | BOOL m_bOverControl; 34 | BOOL m_bTrackMouseEvent; 35 | }; -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/LogCellView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LogCellView.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 16/8/15. 6 | // Copyright © 2016年 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | 11 | class LogCellView: NSTableCellView { 12 | 13 | @IBOutlet weak var colorView: NSView! 14 | @IBOutlet weak var messageLabel: NSTextField! 15 | 16 | override func draw(_ dirtyRect: NSRect) { 17 | super.draw(dirtyRect) 18 | 19 | colorView?.layer?.cornerRadius = 2 20 | 21 | messageLabel?.usesSingleLineMode = false 22 | messageLabel?.cell?.wraps = true 23 | messageLabel?.cell?.isScrollable = false 24 | } 25 | 26 | func set(with message: Message) { 27 | messageLabel.stringValue = message.text 28 | 29 | colorView?.wantsLayer = true 30 | colorView?.layer?.backgroundColor = message.type.color().cgColor 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/drawable/setting_switch_unchecked.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/test/java/io/agora/openlive/test/RtcEngineTest.java: -------------------------------------------------------------------------------- 1 | package io.agora.openlive.test; 2 | 3 | import android.content.Context; 4 | 5 | import org.junit.Assert; 6 | import org.junit.Test; 7 | import org.mockito.Mock; 8 | 9 | import io.agora.rtc.IRtcEngineEventHandler; 10 | import io.agora.rtc.RtcEngine; 11 | 12 | public class RtcEngineTest { 13 | @Mock 14 | Context mockContext; 15 | 16 | @Test 17 | public void RtcEngineCreateTest() { 18 | // fake app id, not valid for joining a channel 19 | // but enough to create a rtc engine. 20 | String appId = "85ace02fa13321f4cb06b61a0e109080"; 21 | 22 | boolean success = true; 23 | try { 24 | RtcEngine.create(mockContext, appId, new IRtcEngineEventHandler() {}); 25 | } catch (Exception e) { 26 | success = false; 27 | e.printStackTrace(); 28 | } 29 | 30 | Assert.assertTrue(success); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/ImageBrowserItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ImageBrowserItem.swift 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 6/14/16. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | import Cocoa 10 | import Quartz.ImageKit 11 | 12 | class ImageBrowserItem: NSObject { 13 | var window: Window! 14 | 15 | fileprivate override init() { 16 | super.init() 17 | } 18 | 19 | init(window: Window) { 20 | super.init() 21 | self.window = window 22 | } 23 | 24 | override func imageUID() -> String! { 25 | return "\(window.id)" 26 | } 27 | 28 | override func imageTitle() -> String! { 29 | return window.name 30 | } 31 | 32 | override func imageRepresentation() -> Any! { 33 | return window.image 34 | } 35 | 36 | override func imageRepresentationType() -> String! { 37 | return IKImageBrowserNSImageRepresentationType 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /OpenLive-Android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | org.gradle.daemon=true 19 | org.gradle.parallel=true 20 | 21 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/json/forwards.h: -------------------------------------------------------------------------------- 1 | // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors 2 | // Distributed under MIT license, or public domain if desired and 3 | // recognized in your jurisdiction. 4 | // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE 5 | 6 | #ifndef JSON_FORWARDS_H_INCLUDED 7 | #define JSON_FORWARDS_H_INCLUDED 8 | 9 | #if !defined(JSON_IS_AMALGAMATION) 10 | #include "config.h" 11 | #endif // if !defined(JSON_IS_AMALGAMATION) 12 | 13 | namespace Json { 14 | 15 | // writer.h 16 | class FastWriter; 17 | class StyledWriter; 18 | 19 | // reader.h 20 | class Reader; 21 | 22 | // features.h 23 | class Features; 24 | 25 | // value.h 26 | typedef unsigned int ArrayIndex; 27 | class StaticString; 28 | class Path; 29 | class PathArgument; 30 | class Value; 31 | class ValueIteratorBase; 32 | class ValueIterator; 33 | class ValueConstIterator; 34 | 35 | } // namespace Json 36 | 37 | #endif // JSON_FORWARDS_H_INCLUDED 38 | -------------------------------------------------------------------------------- /OpenLive-Windows/build_azure_release.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | title qmake and nmake build prompt 4 | cd OpenLive-Windows 5 | set SDKFolderVersion=%~1 6 | set Machine=%~2 7 | set ProjName=OpenLive 8 | echo SDKFolderVersion: %SDKFolderVersion% 9 | echo ProjName:%ProjName% 10 | 11 | if %Machine% == x86 ( 12 | set QTDIR=C:\Qt5.14.2\msvc2017 13 | ) else ( 14 | set QTDIR=C:\Qt5.14.2_64\msvc2017_64 15 | ) 16 | echo QTDIR=%QTDIR% 17 | 18 | set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build 19 | 20 | echo VCINSTALLDIR=%VCINSTALLDIR% 21 | dir %VCINSTALLDIR% 22 | 23 | call "%VCINSTALLDIR%\vcvarsall.bat" %Machine% 24 | 25 | %QTDIR%\bin\qmake.exe %ProjName%.pro -spec %QTDIR%\mkspecs\win32-msvc "CONFIG+=release" "CONFIG+=qml_release" 26 | nmake 27 | 28 | if not exist release ( 29 | echo "no release" 30 | exit 31 | ) 32 | 33 | cd release 34 | del *.h 35 | del *.cpp 36 | del *.obj 37 | %QTDIR%\bin\windeployqt %ProjName%.exe 38 | cd .. 39 | 40 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/prebuild.bat: -------------------------------------------------------------------------------- 1 | set sdkversion=small 2 | 3 | set Machine=%~1 4 | set absolute_path=%~2 5 | cd %absolute_path% 6 | 7 | if %sdkversion% == origin ( exit ) 8 | 9 | 10 | if %sdkversion% == small ( 11 | set sdkinclude=libs\include 12 | if exist %sdkinclude% ( exit ) 13 | set sdkdll=libs\x86 14 | set sdklib=libs\x86 15 | if %Machine% == x64 ( 16 | set sdkdll=libs\x86_64 17 | set sdklib=libs\x86_64 18 | ) 19 | ) 20 | 21 | if not exist sdk ( 22 | mkdir sdk 23 | ) 24 | 25 | if exist sdk ( 26 | pushd sdk 27 | if not exist dll ( 28 | mkdir dll 29 | ) 30 | 31 | if not exist lib ( 32 | mkdir lib 33 | ) 34 | if not exist include ( 35 | mkdir include 36 | ) 37 | popd 38 | ) 39 | 40 | if %sdkversion% == small ( 41 | if exist %sdkinclude% ( 42 | copy %sdkinclude%\*.h sdk\include 43 | ) 44 | 45 | if exist %sdklib% ( 46 | copy %sdklib%\*.lib sdk\lib /y 47 | ) 48 | if exist %sdkdll% ( 49 | copy %sdkdll%\*.dll sdk\dll /y 50 | ) 51 | ) 52 | pause -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/ProfileCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // ProfileCell.m 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2016/9/12. 6 | // Copyright © 2016 Agora. All rights reserved. 7 | // 8 | 9 | #import "ProfileCell.h" 10 | 11 | @interface ProfileCell() 12 | @property (weak, nonatomic) IBOutlet UILabel *resLabel; 13 | @property (weak, nonatomic) IBOutlet UILabel *frameLabel; 14 | @end 15 | 16 | @implementation ProfileCell 17 | 18 | - (void)updateWithProfile:(CGSize)profile isSelected:(BOOL)isSelected { 19 | self.resLabel.text = [self resolutionOfProfile:profile]; 20 | self.frameLabel.text = [self fpsOfProfile:profile]; 21 | self.backgroundColor = isSelected ? [UIColor colorWithRed:0 green:0 blue:0.5 alpha:0.3] : [UIColor whiteColor]; 22 | } 23 | 24 | - (NSString *)resolutionOfProfile:(CGSize)profile { 25 | return [NSString stringWithFormat:@"%d×%d", (int)profile.width, (int)profile.height]; 26 | } 27 | 28 | - (NSString *)fpsOfProfile:(CGSize)profile { 29 | return @"24"; 30 | } 31 | @end 32 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive/Settings.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Settings.swift 3 | // OpenLive 4 | // 5 | // Created by CavanSu on 2019/5/14. 6 | // Copyright © 2019 Agora. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import AgoraRtcKit 11 | 12 | struct Settings { 13 | enum DeviceType { 14 | case record(String?), speaker(String?), camera(String?) 15 | 16 | var deviceId: String? { 17 | switch self { 18 | case .record(let id): return id 19 | case .speaker(let id): return id 20 | case .camera(let id): return id 21 | } 22 | } 23 | } 24 | 25 | var roomName: String? 26 | var role = AgoraClientRole.audience 27 | var logViewOpen = false 28 | var dimension = CGSize.defaultDimension() 29 | var frameRate = AgoraVideoFrameRate.defaultValue 30 | 31 | var recordDevice = DeviceType.record(nil) 32 | var speakerDevice = DeviceType.speaker(nil) 33 | var cameraDevice = DeviceType.camera(nil) 34 | } 35 | -------------------------------------------------------------------------------- /OpenLive-iOS-Objective-C/OpenLive/BeautyEffectTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BeautyEffectTableViewController.h 3 | // OpenLive 4 | // 5 | // Created by GongYuhua on 2019/3/26. 6 | // Copyright © 2019 Agora. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class BeautyEffectTableViewController; 15 | @protocol BeautyEffectTableVCDelegate 16 | - (void)beautyEffectTableVCDidChange:(BeautyEffectTableViewController *)enhancerTableVC; 17 | @end 18 | 19 | @interface BeautyEffectTableViewController : UITableViewController 20 | 21 | @property (assign, nonatomic) BOOL isBeautyOn; 22 | @property (assign, nonatomic) CGFloat lightening; 23 | @property (assign, nonatomic) CGFloat smoothness; 24 | @property (assign, nonatomic) CGFloat redness; 25 | @property (assign, nonatomic) AgoraLighteningContrastLevel contrast; 26 | @property (weak, nonatomic) id delegate; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /OpenLive-Web/src/pages/index.jsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react' 2 | import { useGlobalState, useGlobalMutation } from '../utils/container' 3 | import { makeStyles } from '@material-ui/core/styles' 4 | import { Container } from '@material-ui/core' 5 | import IndexCard from './index/card' 6 | 7 | const useStyles = makeStyles(() => ({ 8 | container: { 9 | height: '100%', 10 | width: '100%', 11 | minWidth: 800, 12 | minHeight: 600, 13 | boxSizing: 'content-box', 14 | display: 'flex', 15 | justifyContent: 'center' 16 | } 17 | })) 18 | 19 | const Index = () => { 20 | const stateCtx = useGlobalState() 21 | const mutationCtx = useGlobalMutation() 22 | const classes = useStyles() 23 | 24 | useEffect(() => { 25 | if (stateCtx.loading === true) { 26 | mutationCtx.stopLoading() 27 | } 28 | }, [stateCtx.loading, mutationCtx]) 29 | 30 | return ( 31 | 32 | 33 | 34 | ) 35 | } 36 | 37 | export default Index 38 | -------------------------------------------------------------------------------- /OpenLive-iOS/OpenLive-Tests/OpenLive_Tests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OpenLive_Tests.swift 3 | // OpenLive-Tests 4 | // 5 | // Created by CavanSu on 2020/7/3. 6 | // Copyright © 2020 Agora. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import OpenLive 11 | import AgoraRtcKit 12 | 13 | class OpenLive_Tests: XCTestCase { 14 | 15 | override func setUpWithError() throws { 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDownWithError() throws { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | } 22 | 23 | func testExample() throws { 24 | let _ = AgoraRtcEngineKit.sharedEngine(withAppId: "", delegate: nil) 25 | } 26 | 27 | func testPerformanceExample() throws { 28 | // This is an example of a performance test case. 29 | measure { 30 | // Put the code you want to measure the time of here. 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /OpenLive-macOS/OpenLive-Tests/OpenLive_Tests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OpenLive_Tests.swift 3 | // OpenLive-Tests 4 | // 5 | // Created by CavanSu on 2020/7/3. 6 | // Copyright © 2020 Agora. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import OpenLive 11 | import AgoraRtcKit 12 | 13 | class OpenLive_Tests: XCTestCase { 14 | 15 | override func setUpWithError() throws { 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDownWithError() throws { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | } 22 | 23 | func testExample() throws { 24 | let _ = AgoraRtcEngineKit.sharedEngine(withAppId: "", delegate: nil) 25 | } 26 | 27 | func testPerformanceExample() throws { 28 | // This is an example of a performance test case. 29 | measure { 30 | // Put the code you want to measure the time of here. 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/OpenLive/AGScreenCaptureDlg.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxcoll.h" 3 | 4 | #define WM_WINDOWSHARE WM_USER+303 5 | // CAGScreenCaptureWnd 6 | 7 | class CAGScreenCaptureDlg : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CAGScreenCaptureDlg) 10 | 11 | public: 12 | CAGScreenCaptureDlg(CWnd* pParent = NULL); 13 | virtual ~CAGScreenCaptureDlg(); 14 | 15 | enum { IDD = IDD_SCRCAP_DIALOG }; 16 | 17 | int RefreashWndInfo(); 18 | BOOL SaveScreen(LPCRECT lpRect); 19 | 20 | protected: 21 | afx_msg void OnMouseMove(UINT nFlags, CPoint point); 22 | afx_msg void OnPaint(); 23 | 24 | afx_msg BOOL OnEraseBkgnd(CDC* pDC); 25 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 26 | 27 | DECLARE_MESSAGE_MAP() 28 | 29 | static BOOL CALLBACK WndEnumProc(HWND hWnd, LPARAM lParam); 30 | 31 | private: 32 | CBitmap m_bmpDesktop; 33 | 34 | CList m_listWnd; 35 | HWND m_hMarkWnd; 36 | 37 | public: 38 | 39 | afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); 40 | afx_msg void OnRButtonDown(UINT nFlags, CPoint point); 41 | }; 42 | 43 | 44 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/java/io/agora/openlive/rtc/EventHandler.java: -------------------------------------------------------------------------------- 1 | package io.agora.openlive.rtc; 2 | 3 | import io.agora.rtc.IRtcEngineEventHandler; 4 | 5 | public interface EventHandler { 6 | void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed); 7 | 8 | void onLeaveChannel(IRtcEngineEventHandler.RtcStats stats); 9 | 10 | void onJoinChannelSuccess(String channel, int uid, int elapsed); 11 | 12 | void onUserOffline(int uid, int reason); 13 | 14 | void onUserJoined(int uid, int elapsed); 15 | 16 | void onLastmileQuality(int quality); 17 | 18 | void onLastmileProbeResult(IRtcEngineEventHandler.LastmileProbeResult result); 19 | 20 | void onLocalVideoStats(IRtcEngineEventHandler.LocalVideoStats stats); 21 | 22 | void onRtcStats(IRtcEngineEventHandler.RtcStats stats); 23 | 24 | void onNetworkQuality(int uid, int txQuality, int rxQuality); 25 | 26 | void onRemoteVideoStats(IRtcEngineEventHandler.RemoteVideoStats stats); 27 | 28 | void onRemoteAudioStats(IRtcEngineEventHandler.RemoteAudioStats stats); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /OpenLive-Android/app/src/main/res/values-zh/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 开始直播 5 | 输入一个聊天话题 6 | 缺少必要权限 7 | 8 | 9 | 设置 10 | 分辨率 11 | 显示视频统计数据 12 | 13 | 14 | 请选择你的身份 15 | 我是主播 16 | 我是观众 17 | 以主播身份进入 18 | 以观众身份进入 19 | 本地视频编码镜像模式 20 | 本地视频预览镜像模式 21 | 远端视频渲染镜像模式 22 | 23 | -------------------------------------------------------------------------------- /OpenLive-Windows-MFC/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2018 Agora Lab, Inc (http://www.agora.io) 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, andor sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------