mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Windows: Add a DDA grabber for much better performance (#1745)
* Add a DXDI DDA grabber * Change all names to camel case * Handle cropping and pixel decimation * Try more persistently to restart capture after an error occurred. These can happen when changing resolution, or resuming from sleep.
This commit is contained in:
@@ -118,6 +118,10 @@ if(ENABLE_DX)
|
||||
target_link_libraries(${PROJECT_NAME} directx-grabber)
|
||||
endif (ENABLE_DX)
|
||||
|
||||
if(ENABLE_DDA)
|
||||
target_link_libraries(${PROJECT_NAME} dda-grabber)
|
||||
endif (ENABLE_DDA)
|
||||
|
||||
if(ENABLE_CEC)
|
||||
target_link_libraries(${PROJECT_NAME} cechandler)
|
||||
endif (ENABLE_CEC)
|
||||
|
@@ -425,7 +425,7 @@ void HyperionDaemon::handleSettingsUpdate(settings::type settingsType, const QJs
|
||||
|
||||
void HyperionDaemon::updateScreenGrabbers(const QJsonDocument& grabberConfig)
|
||||
{
|
||||
#if !defined(ENABLE_DISPMANX) && !defined(ENABLE_OSX) && !defined(ENABLE_FB) && !defined(ENABLE_X11) && !defined(ENABLE_XCB) && !defined(ENABLE_AMLOGIC) && !defined(ENABLE_QT) && !defined(ENABLE_DX)
|
||||
#if !defined(ENABLE_DISPMANX) && !defined(ENABLE_OSX) && !defined(ENABLE_FB) && !defined(ENABLE_X11) && !defined(ENABLE_XCB) && !defined(ENABLE_AMLOGIC) && !defined(ENABLE_QT) && !defined(ENABLE_DX) && !defined(ENABLE_DDA)
|
||||
Info(_log, "No screen capture supported on this platform");
|
||||
return;
|
||||
#endif
|
||||
@@ -469,6 +469,12 @@ void HyperionDaemon::updateScreenGrabbers(const QJsonDocument& grabberConfig)
|
||||
startGrabber<DirectXWrapper>(_screenGrabber, grabberConfig);
|
||||
}
|
||||
#endif
|
||||
#ifdef ENABLE_DDA
|
||||
else if (type == "dda")
|
||||
{
|
||||
startGrabber<DDAWrapper>(_screenGrabber, grabberConfig);
|
||||
}
|
||||
#endif
|
||||
#ifdef ENABLE_FB
|
||||
else if (type == "framebuffer")
|
||||
{
|
||||
|
@@ -64,6 +64,12 @@
|
||||
typedef QObject DirectXWrapper;
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_DDA
|
||||
#include <grabber/dda/DDAWrapper.h>
|
||||
#else
|
||||
typedef QObject DDAWrapper;
|
||||
#endif
|
||||
|
||||
#include <hyperion/GrabberWrapper.h>
|
||||
#ifdef ENABLE_AUDIO
|
||||
#include <grabber/audio/AudioWrapper.h>
|
||||
|
Reference in New Issue
Block a user