Combine linux-xcomposite and linux-capture (xshm)
parent
a9cd60a78f
commit
15fb027647
|
@ -8,7 +8,6 @@ elseif(APPLE)
|
|||
add_subdirectory(mac-capture)
|
||||
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
add_subdirectory(linux-capture)
|
||||
add_subdirectory(linux-xcomposite)
|
||||
add_subdirectory(linux-pulseaudio)
|
||||
add_subdirectory(linux-v4l2)
|
||||
endif()
|
||||
|
|
|
@ -1,18 +1,31 @@
|
|||
project(linux-capture)
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
if(NOT X11_Xcomposite_FOUND)
|
||||
message(STATUS "Xcomposite library not found, linux-capture plugin disabled")
|
||||
return()
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
|
||||
include_directories(SYSTEM
|
||||
"${CMAKE_SOURCE_DIR}/libobs"
|
||||
${X11_Xcomposite_INCLUDE_PATH}
|
||||
${X11_X11_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
set(linux-capture_SOURCES
|
||||
linux-capture.c
|
||||
xcursor.c
|
||||
xhelpers.c
|
||||
capture-input.c
|
||||
xshm-input.c
|
||||
xcomposite-main.cpp
|
||||
xcompcap-main.cpp
|
||||
xcompcap-helper.cpp
|
||||
)
|
||||
set(linux-capture_HEADERS
|
||||
xcursor.h
|
||||
xhelpers.h
|
||||
xcompcap-main.hpp
|
||||
xcompcap-helper.hpp
|
||||
)
|
||||
|
||||
add_library(linux-capture MODULE
|
||||
|
@ -21,10 +34,13 @@ add_library(linux-capture MODULE
|
|||
)
|
||||
target_link_libraries(linux-capture
|
||||
libobs
|
||||
glad
|
||||
${X11_LIBRARIES}
|
||||
${X11_XShm_LIB}
|
||||
${X11_Xfixes_LIB}
|
||||
${X11_Xinerama_LIB}
|
||||
${X11_X11_LIB}
|
||||
${X11_Xcomposite_LIB}
|
||||
)
|
||||
|
||||
install_obs_plugin_with_data(linux-capture data)
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="التقاط الشاشة (XSHM)"
|
|||
Screen="الشاشة"
|
||||
CaptureCursor="مؤشر الالتقاط"
|
||||
|
||||
XCCapture="التقاط النافذة (Xcomposite)"
|
||||
Window="نافذة"
|
||||
CropTop="الاقتطاع من الأعلى (بكسل)"
|
||||
CropLeft="الاقتطاع من اليسار (بكسل)"
|
||||
CropRight="الاقتطاع من اليمين (بكسل)"
|
||||
CropBottom="الاقتطاع من الأسفل (بكسل)"
|
||||
SwapRedBlue="مبادلة بين الأحمر و الأزرق"
|
||||
LockX="قفل السيرفر X عند الالتقاط"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Indfang Skærm (XSHM)"
|
|||
Screen="Skærm"
|
||||
CaptureCursor="Indfang markøren"
|
||||
|
||||
XCCapture="Indfang Vindue (Xcomposite)"
|
||||
Window="Vindue"
|
||||
CropTop="Beskær Top (pixels)"
|
||||
CropLeft="Beskær Venstre (pixels)"
|
||||
CropRight="Beskær Højre (pixels)"
|
||||
CropBottom="Beskær bund (pixels)"
|
||||
SwapRedBlue="Swap rød og blå"
|
||||
LockX="Lås X server ved optagelse"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Monitoraufnahme (XSHM)"
|
|||
Screen="Monitor"
|
||||
CaptureCursor="Mauszeiger aufnehmen"
|
||||
|
||||
XCCapture="Fensteraufnahme (Xcomposite)"
|
||||
Window="Fenster"
|
||||
CropTop="Oben abschneiden (Pixel)"
|
||||
CropLeft="Links abschneiden (Pixel)"
|
||||
CropRight="Rechts abschneiden (Pixel)"
|
||||
CropBottom="Unten abschneiden (Pixel)"
|
||||
SwapRedBlue="Rot und Blau tauschen"
|
||||
LockX="X Server sperren während der Aufnahme"
|
||||
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
X11SharedMemoryScreenInput="Screen Capture (XSHM)"
|
||||
Screen="Screen"
|
||||
CaptureCursor="Capture Cursor"
|
||||
XCCapture="Window Capture (Xcomposite)"
|
||||
Window="Window"
|
||||
CropTop="Crop Top (pixels)"
|
||||
CropLeft="Crop Left (pixels)"
|
||||
CropRight="Crop Right (pixels)"
|
||||
CropBottom="Crop Bottom (pixels)"
|
||||
SwapRedBlue="Swap red and blue"
|
||||
LockX="Lock X server when capturing"
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Captura de pantalla (XSHM)"
|
|||
Screen="Pantalla"
|
||||
CaptureCursor="Captura de Cursor"
|
||||
|
||||
XCCapture="Captura de ventana (Xcomposite)"
|
||||
Window="Ventana"
|
||||
CropTop="Recortar arriba (pixeles)"
|
||||
CropLeft="Recortar izquierda (pixeles)"
|
||||
CropRight="Recortar derecha (pixeles)"
|
||||
CropBottom="Recortar abajo (pixeles)"
|
||||
SwapRedBlue="Intercambiar rojo y azúl"
|
||||
LockX="Fijar X server mientras se captura"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Ikusleiho Harpena (XSHM)"
|
|||
Screen="Ikusleihoa"
|
||||
CaptureCursor="Hartu Kurtsorea"
|
||||
|
||||
XCCapture="Leiho Harpena (Xcomposite)"
|
||||
Window="Leihoa"
|
||||
CropTop="Moztu Goitik (pixel)"
|
||||
CropLeft="Moztu Ezkerretik (pixel)"
|
||||
CropRight="Moztu Eskuinetik (pixel)"
|
||||
CropBottom="Moztu Behetik (pixel)"
|
||||
SwapRedBlue="Aldatu gorria eta urdina"
|
||||
LockX="Blokeatu X zerbitzaria harpenean"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Ruudunkaappaus (XSHM)"
|
|||
Screen="Kuvaruutu"
|
||||
CaptureCursor="Kaappaa kursori"
|
||||
|
||||
XCCapture="Ikkunakaappaus (Xcomposite)"
|
||||
Window="Ikkuna"
|
||||
CropTop="Rajaa ylhäältä (pikselit)"
|
||||
CropLeft="Rajaa vasemmalta (pikselit)"
|
||||
CropRight="Rajaa oikealta (pikselit)"
|
||||
CropBottom="Rajaa alhaalta (pikselit)"
|
||||
SwapRedBlue="Vaihda punainen ja sininen"
|
||||
LockX="Lukitse X Server kaappauksen aikana"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Capture d'écran (XSHM)"
|
|||
Screen="Écran"
|
||||
CaptureCursor="Enregistrer le Curseur"
|
||||
|
||||
XCCapture="Capture de la fenêtre (Xcomposite)"
|
||||
Window="Fenêtre"
|
||||
CropTop="Rogner en Haut (pixels)"
|
||||
CropLeft="Rogner à Gauche (pixels)"
|
||||
CropRight="Rogner à Droite (pixels)"
|
||||
CropBottom="Rogner en Bas (pixels)"
|
||||
SwapRedBlue="Intervertir le rouge et le bleu"
|
||||
LockX="Verrouiller le serveur X lors de la capture"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Captura de pantalla (XSHM)"
|
|||
Screen="Pantalla"
|
||||
CaptureCursor="Captura de cursor"
|
||||
|
||||
XCCapture="Captura de xanela (Xcomposite)"
|
||||
Window="Xanela"
|
||||
CropTop="Recortar por arriba (píxeles)"
|
||||
CropLeft="Recortar pola esquerda (píxeles)"
|
||||
CropRight="Recortar pola dereita (píxeles)"
|
||||
CropBottom="Recortar por abaixo (píxeles)"
|
||||
SwapRedBlue="Trocar vermello e azul"
|
||||
LockX="Bloquear o servidor X durante a captura"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Ekranski ulaz (XSHM)"
|
|||
Screen="Ekran"
|
||||
CaptureCursor="Snimaj kursor"
|
||||
|
||||
XCCapture="Ulaz sa prozora (Xcomposite)"
|
||||
Window="Prozor"
|
||||
CropTop="Odseci odozgo (pikseli)"
|
||||
CropLeft="Odseci sa leva (pikseli)"
|
||||
CropRight="Odseci sa desna (pikseli)"
|
||||
CropBottom="Odseci odozdo (pikseli)"
|
||||
SwapRedBlue="Zameni crvenu i plavu"
|
||||
LockX="Zaključaj X server u toku snimanja"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Képernyő Felvétel (XSHM)"
|
|||
Screen="Képernyő"
|
||||
CaptureCursor="Kurzor Rögztítése"
|
||||
|
||||
XCCapture="Ablak Felvétel (Xcomposite)"
|
||||
Window="Ablak"
|
||||
CropTop="Felső Levágása (pixelek)"
|
||||
CropLeft="Bal Levágása (pixelek)"
|
||||
CropRight="Jobb Levágása (pixelek)"
|
||||
CropBottom="Alsó Levágása (pixelek)"
|
||||
SwapRedBlue="Piros és Kék Cseréje"
|
||||
LockX="X Szerver Zárolása Rögzítéskor"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Cattura schermo (XSHM)"
|
|||
Screen="Schermo"
|
||||
CaptureCursor="Cattura il cursore"
|
||||
|
||||
XCCapture="Cattura la finestra (xcomposite)"
|
||||
Window="Finestra"
|
||||
CropTop="Crop Superiore (pixels)"
|
||||
CropLeft="Crop Sinistro (pixels)"
|
||||
CropRight="Crop Destro (pixels)"
|
||||
CropBottom="Crop Inferiore (pixels)"
|
||||
SwapRedBlue="Inverti rosso e blu"
|
||||
LockX="Blocca l' X Server durante l'acquisizione"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="画面キャプチャ (XSHM)"
|
|||
Screen="画面"
|
||||
CaptureCursor="カーソルをキャプチャ"
|
||||
|
||||
XCCapture="ウィンドウキャプチャ (Xcomposite)"
|
||||
Window="ウィンドウ"
|
||||
CropTop="上部クロップ(ピクセル)"
|
||||
CropLeft="左側クロップ(ピクセル)"
|
||||
CropRight="右側クロップ(ピクセル)"
|
||||
CropBottom="下部クロップ(ピクセル)"
|
||||
SwapRedBlue="赤と青を入れ替え"
|
||||
LockX="キャプチャ時にXサーバをロック"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="화면 캡쳐 (XSHM)"
|
|||
Screen="화면"
|
||||
CaptureCursor="커서 캡쳐"
|
||||
|
||||
XCCapture="윈도우 캡쳐(Xcomposite)"
|
||||
Window="윈도우"
|
||||
CropTop="위쪽 자르기 (픽셀)"
|
||||
CropLeft="왼쪽 자르기 (픽셀)"
|
||||
CropRight="오른쪽 자르기 (픽셀)"
|
||||
CropBottom="아래 자르기 (픽셀)"
|
||||
SwapRedBlue="적청 교환"
|
||||
LockX="캡쳐 시 X 서버를 잠금"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Skjermopptak (XSHM)"
|
|||
Screen="Skjerm"
|
||||
CaptureCursor="Ta opp musepeker"
|
||||
|
||||
XCCapture="Vindusopptak (Xcomposite)"
|
||||
Window="Vindu"
|
||||
CropTop="Beskjær toppen (piksler)"
|
||||
CropLeft="Beskjær venstre (piksler)"
|
||||
CropRight="Beskjær høyre (piksler)"
|
||||
CropBottom="Beskjær bunnen (piksler)"
|
||||
SwapRedBlue="Bytt rød og blå"
|
||||
LockX="Lås X server under opptak"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Schermcapture (XSHM)"
|
|||
Screen="Scherm"
|
||||
CaptureCursor="Cursor Opnemen"
|
||||
|
||||
XCCapture="Venstercapture (Xcomposite)"
|
||||
Window="Venster"
|
||||
CropTop="Boven Bijsnijden (pixels)"
|
||||
CropLeft="Links Bijsnijden (pixels)"
|
||||
CropRight="Rechts Bijsnijden (pixels)"
|
||||
CropBottom="Onder Bijsnijden (pixels)"
|
||||
SwapRedBlue="Rood en blauw omwisselen"
|
||||
LockX="Lock X server tijdens het opnemen"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Przechwytywanie ekranu (XSHM)"
|
|||
Screen="Ekran"
|
||||
CaptureCursor="Przechwytywanie kursora"
|
||||
|
||||
XCCapture="Przechwytywanie okna (XComposite)"
|
||||
Window="Okno"
|
||||
CropTop="Przytnij od góry (piksele)"
|
||||
CropLeft="Przytnij z lewej (piksele)"
|
||||
CropRight="Przytnij z prawej (piksele)"
|
||||
CropBottom="Przytnij od spodu (piksele)"
|
||||
SwapRedBlue="Zamień czerwony i niebieski"
|
||||
LockX="Zablokuj serwer X podczas przechwytywania"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Captura de Tela (XSHM)"
|
|||
Screen="Tela"
|
||||
CaptureCursor="Capturar o Cursor"
|
||||
|
||||
XCCapture="Captura de Janela (Xcomposite)"
|
||||
Window="Janela"
|
||||
CropTop="Cortar em Cima (Pixels)"
|
||||
CropLeft="Cortar à Esquerda (Pixels)"
|
||||
CropRight="Cortar à Direita (Pixels)"
|
||||
CropBottom="Cortar em Baixo (Pixels)"
|
||||
SwapRedBlue="Trocar Vermelho com Azul"
|
||||
LockX="Bloquear servidor X durante a captura"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Captura de tela (XSHM)"
|
|||
Screen="Tela"
|
||||
CaptureCursor="Capturar o Cursor"
|
||||
|
||||
XCCapture="Captura de janela (Xcomposite)"
|
||||
Window="Janela"
|
||||
CropTop="Cortar em Cima (Pixels)"
|
||||
CropLeft="Cortar à Esquerda (Pixels)"
|
||||
CropRight="Cortar à direita (Pixels)"
|
||||
CropBottom="Cortar em Baixo (Pixels)"
|
||||
SwapRedBlue="Trocar vermelho e azul"
|
||||
LockX="Bloquear servidor X durante a captura"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Captură de ecran (XSHM)"
|
|||
Screen="Ecran"
|
||||
CaptureCursor="Capturează cursorul"
|
||||
|
||||
XCCapture="Captură Fereastră (Xcomposite)"
|
||||
Window="Fereastră"
|
||||
CropTop="Taie Sus (pixeli)"
|
||||
CropLeft="Taie stânga (pixeli)"
|
||||
CropRight="Taie Dreapta (pixeli)"
|
||||
CropBottom="Taie jos (pixeli)"
|
||||
SwapRedBlue="Schimbă Roșu cu Albastru"
|
||||
LockX="Blochează server X atunci când se capturează"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Захват экрана (XSHM)"
|
|||
Screen="Экран"
|
||||
CaptureCursor="Захват курсора"
|
||||
|
||||
XCCapture="Захват окна (Xcomposite)"
|
||||
Window="Окно"
|
||||
CropTop="Обрезать сверху (пикселей)"
|
||||
CropLeft="Обрезать слева (пикселей)"
|
||||
CropRight="Обрезать справа (пикселей)"
|
||||
CropBottom="Обрезать снизу (пикселей)"
|
||||
SwapRedBlue="Поменять местами красный и синий"
|
||||
LockX="Блокировать X-сервер при захвате"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Zajemanje zaslona (XSHM)"
|
|||
Screen="Zaslon"
|
||||
CaptureCursor="Zajemaj kazalec"
|
||||
|
||||
XCCapture="Zajemanje okna (Xcomposite)"
|
||||
Window="Okno"
|
||||
CropTop="Obreži zgoraj (pixels)"
|
||||
CropLeft="Obreži levo (pixels)"
|
||||
CropRight="Obreži desno (pixels)"
|
||||
CropBottom="Obreži spodaj (pixels)"
|
||||
SwapRedBlue="Zamenjaj modro in rdečo"
|
||||
LockX="Zakleni X server med zajemanjem"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Ekranski ulaz (XSHM)"
|
|||
Screen="Ekran"
|
||||
CaptureCursor="Snimaj kursor"
|
||||
|
||||
XCCapture="Ulaz sa prozora (Xcomposite)"
|
||||
Window="Prozor"
|
||||
CropTop="Odseci odozgo (pikseli)"
|
||||
CropLeft="Odseci sa leva (pikseli)"
|
||||
CropRight="Odseci sa desna (pikseli)"
|
||||
CropBottom="Odseci odozdo (pikseli)"
|
||||
SwapRedBlue="Zameni crvenu i plavu"
|
||||
LockX="Zaključaj X server u toku snimanja"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Екрански улаз (XSHM)"
|
|||
Screen="Екран"
|
||||
CaptureCursor="Снимај курсор"
|
||||
|
||||
XCCapture="Улаз са прозора (Xcomposite)"
|
||||
Window="Прозор"
|
||||
CropTop="Одсеци одозго (пиксели)"
|
||||
CropLeft="Одсеци са лева (пиксели)"
|
||||
CropRight="Одсеци са десна (пиксели)"
|
||||
CropBottom="Одсеци одоздо (пиксели)"
|
||||
SwapRedBlue="Замени црвену и плаву"
|
||||
LockX="Закључај X сервер у току снимања"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Bildskärmskälla (XSHM)"
|
|||
Screen="Skärm"
|
||||
CaptureCursor="Visa muspekare"
|
||||
|
||||
XCCapture="Fönsterkälla (Xcomposite)"
|
||||
Window="Fönster"
|
||||
CropTop="Beskär över kant (pixlar)"
|
||||
CropLeft="Beskär vänster kant (pixlar)"
|
||||
CropRight="Beskär höger kant (pixlar)"
|
||||
CropBottom="Beskär nedre kant (pixlar)"
|
||||
SwapRedBlue="Byt röd och blå"
|
||||
LockX="Lås X-servern medan källan är aktiv"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Ekran Yakalama (XSHM)"
|
|||
Screen="Ekran"
|
||||
CaptureCursor="İmleci Yakala"
|
||||
|
||||
XCCapture="Pencere Yakalama (Xcomposite)"
|
||||
Window="Pencere"
|
||||
CropTop="Üstten Kırp (piksel)"
|
||||
CropLeft="Soldan Kırp (piksel)"
|
||||
CropRight="Sağdan Kırp (piksel)"
|
||||
CropBottom="Alttan Kırp (piksel)"
|
||||
SwapRedBlue="Kırmızı ve maviyi değiştir"
|
||||
LockX="Yakalama sırasında X sunucusunu kilitle"
|
||||
|
||||
|
|
|
@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="截取螢幕(XSHM)"
|
|||
Screen="螢幕"
|
||||
CaptureCursor="捕捉游標"
|
||||
|
||||
XCCapture="截取視窗(Xcomposite)"
|
||||
Window="視窗"
|
||||
CropTop="剪裁頂部(px)"
|
||||
CropLeft="剪裁左側(px)"
|
||||
CropRight="剪裁右側(px)"
|
||||
CropBottom="剪裁底部(px)"
|
||||
SwapRedBlue="交換紅藍顏色"
|
||||
LockX="截取時鎖定 X server"
|
||||
|
||||
|
|
|
@ -21,8 +21,17 @@ OBS_MODULE_USE_DEFAULT_LOCALE("linux-xshm", "en-US")
|
|||
|
||||
extern struct obs_source_info xshm_input;
|
||||
|
||||
extern void xcomposite_load(void);
|
||||
extern void xcomposite_unload(void);
|
||||
|
||||
bool obs_module_load(void)
|
||||
{
|
||||
obs_register_source(&xshm_input);
|
||||
xcomposite_load();
|
||||
return true;
|
||||
}
|
||||
|
||||
void obs_module_unload(void)
|
||||
{
|
||||
xcomposite_unload();
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include <obs-module.h>
|
||||
|
||||
#include "xcompcap-helper.h"
|
||||
#include "xcompcap-helper.hpp"
|
||||
|
||||
namespace XCompcap
|
||||
{
|
|
@ -10,8 +10,8 @@
|
|||
#include <graphics/vec4.h>
|
||||
#include <util/platform.h>
|
||||
|
||||
#include "xcompcap-main.h"
|
||||
#include "xcompcap-helper.h"
|
||||
#include "xcompcap-main.hpp"
|
||||
#include "xcompcap-helper.hpp"
|
||||
|
||||
#define xdisp (XCompcap::disp())
|
||||
#define WIN_STRING_DIV "\r\n"
|
|
@ -1,6 +1,6 @@
|
|||
#include <obs-module.h>
|
||||
|
||||
#include "xcompcap-main.h"
|
||||
#include "xcompcap-main.hpp"
|
||||
|
||||
static void* xcompcap_create(obs_data_t settings, obs_source_t source)
|
||||
{
|
||||
|
@ -53,18 +53,15 @@ void xcompcap_update(void *data, obs_data_t settings)
|
|||
cc->updateSettings(settings);
|
||||
}
|
||||
|
||||
OBS_DECLARE_MODULE()
|
||||
OBS_MODULE_USE_DEFAULT_LOCALE("linux-xcomposite", "en-US")
|
||||
|
||||
static const char* xcompcap_getname(void)
|
||||
{
|
||||
return obs_module_text("XCCapture");
|
||||
}
|
||||
|
||||
bool obs_module_load(void)
|
||||
extern "C" void xcomposite_load(void)
|
||||
{
|
||||
if (!XCompcapMain::init())
|
||||
return false;
|
||||
return;
|
||||
|
||||
obs_source_info sinfo;
|
||||
memset(&sinfo, 0, sizeof(obs_source_info));
|
||||
|
@ -84,15 +81,9 @@ bool obs_module_load(void)
|
|||
sinfo.get_height = xcompcap_getheight;
|
||||
|
||||
obs_register_source(&sinfo);
|
||||
|
||||
blog(LOG_INFO, "Xcomposite capture plugin loaded");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void obs_module_unload()
|
||||
extern "C" void xcomposite_unload(void)
|
||||
{
|
||||
XCompcapMain::deinit();
|
||||
|
||||
blog(LOG_INFO, "Xcomposite capture plugin unloaded");
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
project(linux-xcomposite)
|
||||
|
||||
find_package(X11)
|
||||
if(NOT X11_Xcomposite_FOUND)
|
||||
message(STATUS "Xcomposite library not found, Xcomposite plugin disabled")
|
||||
return()
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${X11_Xcomposite_INCLUDE_PATH}
|
||||
${X11_X11_INCLUDE_PATH})
|
||||
|
||||
set(linux-xcomposite_SOURCES
|
||||
plugin-main.cpp
|
||||
xcompcap-main.cpp
|
||||
xcompcap-main.h
|
||||
xcompcap-helper.cpp
|
||||
xcompcap-helper.h)
|
||||
|
||||
add_library(linux-xcomposite MODULE
|
||||
${linux-xcomposite_SOURCES})
|
||||
target_link_libraries(linux-xcomposite
|
||||
libobs
|
||||
glad
|
||||
${X11_X11_LIB}
|
||||
${X11_Xcomposite_LIB})
|
||||
|
||||
install_obs_plugin_with_data(linux-xcomposite data)
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="التقاط النافذة (Xcomposite)"
|
||||
Window="نافذة"
|
||||
CropTop="الاقتطاع من الأعلى (بكسل)"
|
||||
CropLeft="الاقتطاع من اليسار (بكسل)"
|
||||
CropRight="الاقتطاع من اليمين (بكسل)"
|
||||
CropBottom="الاقتطاع من الأسفل (بكسل)"
|
||||
SwapRedBlue="مبادلة بين الأحمر و الأزرق"
|
||||
LockX="قفل السيرفر X عند الالتقاط"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Indfang Vindue (Xcomposite)"
|
||||
Window="Vindue"
|
||||
CropTop="Beskær Top (pixels)"
|
||||
CropLeft="Beskær Venstre (pixels)"
|
||||
CropRight="Beskær Højre (pixels)"
|
||||
CropBottom="Beskær bund (pixels)"
|
||||
SwapRedBlue="Swap rød og blå"
|
||||
LockX="Lås X server ved optagelse"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Fensteraufnahme (Xcomposite)"
|
||||
Window="Fenster"
|
||||
CropTop="Oben abschneiden (Pixel)"
|
||||
CropLeft="Links abschneiden (Pixel)"
|
||||
CropRight="Rechts abschneiden (Pixel)"
|
||||
CropBottom="Unten abschneiden (Pixel)"
|
||||
SwapRedBlue="Rot und Blau tauschen"
|
||||
LockX="X Server sperren während der Aufnahme"
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
XCCapture="Window Capture (Xcomposite)"
|
||||
Window="Window"
|
||||
CropTop="Crop Top (pixels)"
|
||||
CropLeft="Crop Left (pixels)"
|
||||
CropRight="Crop Right (pixels)"
|
||||
CropBottom="Crop Bottom (pixels)"
|
||||
SwapRedBlue="Swap red and blue"
|
||||
LockX="Lock X server when capturing"
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Captura de ventana (Xcomposite)"
|
||||
Window="Ventana"
|
||||
CropTop="Recortar arriba (pixeles)"
|
||||
CropLeft="Recortar izquierda (pixeles)"
|
||||
CropRight="Recortar derecha (pixeles)"
|
||||
CropBottom="Recortar abajo (pixeles)"
|
||||
SwapRedBlue="Intercambiar rojo y azúl"
|
||||
LockX="Fijar X server mientras se captura"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Leiho Harpena (Xcomposite)"
|
||||
Window="Leihoa"
|
||||
CropTop="Moztu Goitik (pixel)"
|
||||
CropLeft="Moztu Ezkerretik (pixel)"
|
||||
CropRight="Moztu Eskuinetik (pixel)"
|
||||
CropBottom="Moztu Behetik (pixel)"
|
||||
SwapRedBlue="Aldatu gorria eta urdina"
|
||||
LockX="Blokeatu X zerbitzaria harpenean"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Ikkunakaappaus (Xcomposite)"
|
||||
Window="Ikkuna"
|
||||
CropTop="Rajaa ylhäältä (pikselit)"
|
||||
CropLeft="Rajaa vasemmalta (pikselit)"
|
||||
CropRight="Rajaa oikealta (pikselit)"
|
||||
CropBottom="Rajaa alhaalta (pikselit)"
|
||||
SwapRedBlue="Vaihda punainen ja sininen"
|
||||
LockX="Lukitse X Server kaappauksen aikana"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Capture de la fenêtre (Xcomposite)"
|
||||
Window="Fenêtre"
|
||||
CropTop="Rogner en Haut (pixels)"
|
||||
CropLeft="Rogner à Gauche (pixels)"
|
||||
CropRight="Rogner à Droite (pixels)"
|
||||
CropBottom="Rogner en Bas (pixels)"
|
||||
SwapRedBlue="Intervertir le rouge et le bleu"
|
||||
LockX="Verrouiller le serveur X lors de la capture"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Captura de xanela (Xcomposite)"
|
||||
Window="Xanela"
|
||||
CropTop="Recortar por arriba (píxeles)"
|
||||
CropLeft="Recortar pola esquerda (píxeles)"
|
||||
CropRight="Recortar pola dereita (píxeles)"
|
||||
CropBottom="Recortar por abaixo (píxeles)"
|
||||
SwapRedBlue="Trocar vermello e azul"
|
||||
LockX="Bloquear o servidor X durante a captura"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Ulaz sa prozora (Xcomposite)"
|
||||
Window="Prozor"
|
||||
CropTop="Odseci odozgo (pikseli)"
|
||||
CropLeft="Odseci sa leva (pikseli)"
|
||||
CropRight="Odseci sa desna (pikseli)"
|
||||
CropBottom="Odseci odozdo (pikseli)"
|
||||
SwapRedBlue="Zameni crvenu i plavu"
|
||||
LockX="Zaključaj X server u toku snimanja"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Ablak Felvétel (Xcomposite)"
|
||||
Window="Ablak"
|
||||
CropTop="Felső Levágása (pixelek)"
|
||||
CropLeft="Bal Levágása (pixelek)"
|
||||
CropRight="Jobb Levágása (pixelek)"
|
||||
CropBottom="Alsó Levágása (pixelek)"
|
||||
SwapRedBlue="Piros és Kék Cseréje"
|
||||
LockX="X Szerver Zárolása Rögzítéskor"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Cattura la finestra (xcomposite)"
|
||||
Window="Finestra"
|
||||
CropTop="Crop Superiore (pixels)"
|
||||
CropLeft="Crop Sinistro (pixels)"
|
||||
CropRight="Crop Destro (pixels)"
|
||||
CropBottom="Crop Inferiore (pixels)"
|
||||
SwapRedBlue="Inverti rosso e blu"
|
||||
LockX="Blocca l' X Server durante l'acquisizione"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="ウィンドウキャプチャ (Xcomposite)"
|
||||
Window="ウィンドウ"
|
||||
CropTop="上部クロップ(ピクセル)"
|
||||
CropLeft="左側クロップ(ピクセル)"
|
||||
CropRight="右側クロップ(ピクセル)"
|
||||
CropBottom="下部クロップ(ピクセル)"
|
||||
SwapRedBlue="赤と青を入れ替え"
|
||||
LockX="キャプチャ時にXサーバをロック"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="윈도우 캡쳐(Xcomposite)"
|
||||
Window="윈도우"
|
||||
CropTop="위쪽 자르기 (픽셀)"
|
||||
CropLeft="왼쪽 자르기 (픽셀)"
|
||||
CropRight="오른쪽 자르기 (픽셀)"
|
||||
CropBottom="아래 자르기 (픽셀)"
|
||||
SwapRedBlue="적청 교환"
|
||||
LockX="캡쳐 시 X 서버를 잠금"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Vindusopptak (Xcomposite)"
|
||||
Window="Vindu"
|
||||
CropTop="Beskjær toppen (piksler)"
|
||||
CropLeft="Beskjær venstre (piksler)"
|
||||
CropRight="Beskjær høyre (piksler)"
|
||||
CropBottom="Beskjær bunnen (piksler)"
|
||||
SwapRedBlue="Bytt rød og blå"
|
||||
LockX="Lås X server under opptak"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Venstercapture (Xcomposite)"
|
||||
Window="Venster"
|
||||
CropTop="Boven Bijsnijden (pixels)"
|
||||
CropLeft="Links Bijsnijden (pixels)"
|
||||
CropRight="Rechts Bijsnijden (pixels)"
|
||||
CropBottom="Onder Bijsnijden (pixels)"
|
||||
SwapRedBlue="Rood en blauw omwisselen"
|
||||
LockX="Lock X server tijdens het opnemen"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Przechwytywanie okna (XComposite)"
|
||||
Window="Okno"
|
||||
CropTop="Przytnij od góry (piksele)"
|
||||
CropLeft="Przytnij z lewej (piksele)"
|
||||
CropRight="Przytnij z prawej (piksele)"
|
||||
CropBottom="Przytnij od spodu (piksele)"
|
||||
SwapRedBlue="Zamień czerwony i niebieski"
|
||||
LockX="Zablokuj serwer X podczas przechwytywania"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Captura de Janela (Xcomposite)"
|
||||
Window="Janela"
|
||||
CropTop="Cortar em Cima (Pixels)"
|
||||
CropLeft="Cortar à Esquerda (Pixels)"
|
||||
CropRight="Cortar à Direita (Pixels)"
|
||||
CropBottom="Cortar em Baixo (Pixels)"
|
||||
SwapRedBlue="Trocar Vermelho com Azul"
|
||||
LockX="Bloquear servidor X durante a captura"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Captura de janela (Xcomposite)"
|
||||
Window="Janela"
|
||||
CropTop="Cortar em Cima (Pixels)"
|
||||
CropLeft="Cortar à Esquerda (Pixels)"
|
||||
CropRight="Cortar à direita (Pixels)"
|
||||
CropBottom="Cortar em Baixo (Pixels)"
|
||||
SwapRedBlue="Trocar vermelho e azul"
|
||||
LockX="Bloquear servidor X durante a captura"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Captură Fereastră (Xcomposite)"
|
||||
Window="Fereastră"
|
||||
CropTop="Taie Sus (pixeli)"
|
||||
CropLeft="Taie stânga (pixeli)"
|
||||
CropRight="Taie Dreapta (pixeli)"
|
||||
CropBottom="Taie jos (pixeli)"
|
||||
SwapRedBlue="Schimbă Roșu cu Albastru"
|
||||
LockX="Blochează server X atunci când se capturează"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Захват окна (Xcomposite)"
|
||||
Window="Окно"
|
||||
CropTop="Обрезать сверху (пикселей)"
|
||||
CropLeft="Обрезать слева (пикселей)"
|
||||
CropRight="Обрезать справа (пикселей)"
|
||||
CropBottom="Обрезать снизу (пикселей)"
|
||||
SwapRedBlue="Поменять местами красный и синий"
|
||||
LockX="Блокировать X-сервер при захвате"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Zajemanje okna (Xcomposite)"
|
||||
Window="Okno"
|
||||
CropTop="Obreži zgoraj (pixels)"
|
||||
CropLeft="Obreži levo (pixels)"
|
||||
CropRight="Obreži desno (pixels)"
|
||||
CropBottom="Obreži spodaj (pixels)"
|
||||
SwapRedBlue="Zamenjaj modro in rdečo"
|
||||
LockX="Zakleni X server med zajemanjem"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Ulaz sa prozora (Xcomposite)"
|
||||
Window="Prozor"
|
||||
CropTop="Odseci odozgo (pikseli)"
|
||||
CropLeft="Odseci sa leva (pikseli)"
|
||||
CropRight="Odseci sa desna (pikseli)"
|
||||
CropBottom="Odseci odozdo (pikseli)"
|
||||
SwapRedBlue="Zameni crvenu i plavu"
|
||||
LockX="Zaključaj X server u toku snimanja"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Улаз са прозора (Xcomposite)"
|
||||
Window="Прозор"
|
||||
CropTop="Одсеци одозго (пиксели)"
|
||||
CropLeft="Одсеци са лева (пиксели)"
|
||||
CropRight="Одсеци са десна (пиксели)"
|
||||
CropBottom="Одсеци одоздо (пиксели)"
|
||||
SwapRedBlue="Замени црвену и плаву"
|
||||
LockX="Закључај X сервер у току снимања"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Fönsterkälla (Xcomposite)"
|
||||
Window="Fönster"
|
||||
CropTop="Beskär över kant (pixlar)"
|
||||
CropLeft="Beskär vänster kant (pixlar)"
|
||||
CropRight="Beskär höger kant (pixlar)"
|
||||
CropBottom="Beskär nedre kant (pixlar)"
|
||||
SwapRedBlue="Byt röd och blå"
|
||||
LockX="Lås X-servern medan källan är aktiv"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="Pencere Yakalama (Xcomposite)"
|
||||
Window="Pencere"
|
||||
CropTop="Üstten Kırp (piksel)"
|
||||
CropLeft="Soldan Kırp (piksel)"
|
||||
CropRight="Sağdan Kırp (piksel)"
|
||||
CropBottom="Alttan Kırp (piksel)"
|
||||
SwapRedBlue="Kırmızı ve maviyi değiştir"
|
||||
LockX="Yakalama sırasında X sunucusunu kilitle"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
XCCapture="截取視窗(Xcomposite)"
|
||||
Window="視窗"
|
||||
CropTop="剪裁頂部(px)"
|
||||
CropLeft="剪裁左側(px)"
|
||||
CropRight="剪裁右側(px)"
|
||||
CropBottom="剪裁底部(px)"
|
||||
SwapRedBlue="交換紅藍顏色"
|
||||
LockX="截取時鎖定 X server"
|
||||
|
Loading…
Reference in New Issue