mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-19 07:37:11 +02:00
Use common desktop_capturer code on Windows.
This commit is contained in:
parent
fb49b0ca27
commit
9ff6b57b94
4 changed files with 47 additions and 29 deletions
|
@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "webrtc/webrtc_media_devices.h"
|
||||
#include "webrtc/webrtc_create_adm.h"
|
||||
|
||||
#include <tgcalls/desktop_capturer/DesktopCaptureSourceManager.h>
|
||||
#include <tgcalls/group/GroupInstanceCustomImpl.h>
|
||||
#include <tgcalls/VideoCaptureInterface.h>
|
||||
#include <tgcalls/StaticThreads.h>
|
||||
|
@ -409,8 +410,14 @@ void GroupCall::switchToScreenSharing() {
|
|||
if (isScreenSharing()) {
|
||||
return;
|
||||
}
|
||||
_videoDeviceId = "desktop_capturer_screen_0";
|
||||
_videoCapture->switchToDevice(_videoDeviceId.toStdString());
|
||||
auto manager = tgcalls::DesktopCaptureSourceManager(
|
||||
tgcalls::DesktopCaptureType::Screen);
|
||||
const auto sources = manager.sources();
|
||||
if (!sources.empty()) {
|
||||
const auto key = sources.front().deviceIdKey();
|
||||
_videoDeviceId = QString::fromStdString(key);
|
||||
_videoCapture->switchToDevice(_videoDeviceId.toStdString());
|
||||
}
|
||||
}
|
||||
|
||||
void GroupCall::setScheduledDate(TimeId date) {
|
||||
|
|
|
@ -12,6 +12,28 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include <VersionHelpers.h>
|
||||
#include <QtCore/QSysInfo>
|
||||
|
||||
#include <d3d11.h>
|
||||
|
||||
HRESULT WINAPI D3D11CreateDevice(
|
||||
_In_opt_ IDXGIAdapter* pAdapter,
|
||||
D3D_DRIVER_TYPE DriverType,
|
||||
HMODULE Software,
|
||||
UINT Flags,
|
||||
_In_reads_opt_(FeatureLevels) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
|
||||
UINT FeatureLevels,
|
||||
UINT SDKVersion,
|
||||
_COM_Outptr_opt_ ID3D11Device** ppDevice,
|
||||
_Out_opt_ D3D_FEATURE_LEVEL* pFeatureLevel,
|
||||
_COM_Outptr_opt_ ID3D11DeviceContext** ppImmediateContext) {
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
HRESULT WINAPI CreateDXGIFactory1(
|
||||
REFIID riid,
|
||||
_COM_Outptr_ void **ppFactory) {
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
namespace Platform {
|
||||
namespace Dlls {
|
||||
|
||||
|
|
2
Telegram/ThirdParty/tgcalls
vendored
2
Telegram/ThirdParty/tgcalls
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 01c03d7b4cfd7c02c79bab32cc2e688316d1a450
|
||||
Subproject commit 0f608993f7a5c9af093f6a7bf21c3b4cd0735ecc
|
|
@ -58,15 +58,11 @@ PRIVATE
|
|||
|
||||
# Desktop capturer
|
||||
desktop_capturer/DesktopCaptureSource.h
|
||||
desktop_capturer/DesktopCaptureSource.mm
|
||||
desktop_capturer/DesktopCaptureSource.cpp
|
||||
desktop_capturer/DesktopCaptureSourceHelper.h
|
||||
desktop_capturer/DesktopCaptureSourceHelper.mm
|
||||
desktop_capturer/DesktopCaptureSourceHelper.cpp
|
||||
desktop_capturer/DesktopCaptureSourceManager.h
|
||||
desktop_capturer/DesktopCaptureSourceManager.mm
|
||||
desktop_capturer/DesktopCaptureSourceView.h
|
||||
desktop_capturer/DesktopCaptureSourceView.mm
|
||||
desktop_capturer/DesktopSharingCapturer.h
|
||||
desktop_capturer/DesktopSharingCapturer.mm
|
||||
desktop_capturer/DesktopCaptureSourceManager.cpp
|
||||
|
||||
# Group calls
|
||||
group/GroupInstanceCustomImpl.cpp
|
||||
|
@ -91,6 +87,10 @@ PRIVATE
|
|||
# iOS / macOS
|
||||
platform/darwin/DarwinInterface.h
|
||||
platform/darwin/DarwinInterface.mm
|
||||
platform/darwin/DesktopCaptureSourceView.h
|
||||
platform/darwin/DesktopCaptureSourceView.mm
|
||||
platform/darwin/DesktopSharingCapturer.h
|
||||
platform/darwin/DesktopSharingCapturer.mm
|
||||
platform/darwin/GLVideoView.h
|
||||
platform/darwin/GLVideoView.mm
|
||||
platform/darwin/GLVideoViewMac.h
|
||||
|
@ -123,8 +123,6 @@ PRIVATE
|
|||
# POSIX
|
||||
|
||||
# Teleram Desktop
|
||||
platform/tdesktop/DesktopCapturer.cpp
|
||||
platform/tdesktop/DesktopCapturer.h
|
||||
platform/tdesktop/DesktopInterface.cpp
|
||||
platform/tdesktop/DesktopInterface.h
|
||||
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
|
||||
|
@ -167,6 +165,10 @@ elseif (APPLE)
|
|||
WEBRTC_MAC
|
||||
)
|
||||
remove_target_sources(lib_tgcalls ${tgcalls_loc}
|
||||
platform/darwin/DesktopCaptureSourceView.h
|
||||
platform/darwin/DesktopCaptureSourceView.mm
|
||||
platform/darwin/DesktopSharingCapturer.h
|
||||
platform/darwin/DesktopSharingCapturer.mm
|
||||
platform/darwin/GLVideoView.h
|
||||
platform/darwin/GLVideoView.mm
|
||||
platform/darwin/GLVideoViewMac.h
|
||||
|
@ -179,10 +181,12 @@ elseif (APPLE)
|
|||
platform/darwin/VideoMetalViewMac.mm
|
||||
platform/tdesktop/DesktopInterface.cpp
|
||||
platform/tdesktop/DesktopInterface.h
|
||||
platform/tdesktop/VideoCapturerTrackSource.cpp
|
||||
platform/tdesktop/VideoCapturerTrackSource.h
|
||||
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
|
||||
platform/tdesktop/VideoCapturerInterfaceImpl.h
|
||||
platform/tdesktop/VideoCapturerTrackSource.cpp
|
||||
platform/tdesktop/VideoCapturerTrackSource.h
|
||||
platform/tdesktop/VideoCameraCapturer.cpp
|
||||
platform/tdesktop/VideoCameraCapturer.h
|
||||
)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
target_compile_definitions(lib_tgcalls
|
||||
|
@ -191,22 +195,7 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||
)
|
||||
endif()
|
||||
|
||||
if (NOT APPLE)
|
||||
remove_target_sources(lib_tgcalls ${tgcalls_loc}
|
||||
desktop_capturer/DesktopCaptureSource.h
|
||||
desktop_capturer/DesktopCaptureSource.mm
|
||||
desktop_capturer/DesktopCaptureSourceHelper.h
|
||||
desktop_capturer/DesktopCaptureSourceHelper.mm
|
||||
desktop_capturer/DesktopCaptureSourceManager.h
|
||||
desktop_capturer/DesktopCaptureSourceManager.mm
|
||||
desktop_capturer/DesktopSharingCapturer.h
|
||||
desktop_capturer/DesktopSharingCapturer.mm
|
||||
)
|
||||
endif()
|
||||
|
||||
remove_target_sources(lib_tgcalls ${tgcalls_loc}
|
||||
desktop_capturer/DesktopCaptureSourceView.h
|
||||
desktop_capturer/DesktopCaptureSourceView.mm
|
||||
platform/android/AndroidContext.cpp
|
||||
platform/android/AndroidContext.h
|
||||
platform/android/AndroidInterface.cpp
|
||||
|
|
Loading…
Add table
Reference in a new issue