Browse Source

Combine linux-xcomposite and linux-capture (xshm)

jp9000 11 years ago
parent
commit
15fb027647
63 changed files with 276 additions and 289 deletions
  1. 0 1
      plugins/CMakeLists.txt
  2. 18 2
      plugins/linux-capture/CMakeLists.txt
  3. 9 0
      plugins/linux-capture/data/locale/ar-SA.ini
  4. 9 0
      plugins/linux-capture/data/locale/da-DK.ini
  5. 9 0
      plugins/linux-capture/data/locale/de-DE.ini
  6. 8 0
      plugins/linux-capture/data/locale/en-US.ini
  7. 9 0
      plugins/linux-capture/data/locale/es-ES.ini
  8. 9 0
      plugins/linux-capture/data/locale/eu-ES.ini
  9. 9 0
      plugins/linux-capture/data/locale/fi-FI.ini
  10. 9 0
      plugins/linux-capture/data/locale/fr-FR.ini
  11. 9 0
      plugins/linux-capture/data/locale/gl-ES.ini
  12. 9 0
      plugins/linux-capture/data/locale/hr-HR.ini
  13. 9 0
      plugins/linux-capture/data/locale/hu-HU.ini
  14. 9 0
      plugins/linux-capture/data/locale/it-IT.ini
  15. 9 0
      plugins/linux-capture/data/locale/ja-JP.ini
  16. 9 0
      plugins/linux-capture/data/locale/ko-KR.ini
  17. 9 0
      plugins/linux-capture/data/locale/nb-NO.ini
  18. 9 0
      plugins/linux-capture/data/locale/nl-NL.ini
  19. 9 0
      plugins/linux-capture/data/locale/pl-PL.ini
  20. 9 0
      plugins/linux-capture/data/locale/pt-BR.ini
  21. 9 0
      plugins/linux-capture/data/locale/pt-PT.ini
  22. 9 0
      plugins/linux-capture/data/locale/ro-RO.ini
  23. 9 0
      plugins/linux-capture/data/locale/ru-RU.ini
  24. 9 0
      plugins/linux-capture/data/locale/sl-SI.ini
  25. 9 0
      plugins/linux-capture/data/locale/sr-CS.ini
  26. 9 0
      plugins/linux-capture/data/locale/sr-SP.ini
  27. 9 0
      plugins/linux-capture/data/locale/sv-SE.ini
  28. 9 0
      plugins/linux-capture/data/locale/tr-TR.ini
  29. 9 0
      plugins/linux-capture/data/locale/zh-TW.ini
  30. 9 0
      plugins/linux-capture/linux-capture.c
  31. 1 1
      plugins/linux-capture/xcompcap-helper.cpp
  32. 0 0
      plugins/linux-capture/xcompcap-helper.hpp
  33. 2 2
      plugins/linux-capture/xcompcap-main.cpp
  34. 0 0
      plugins/linux-capture/xcompcap-main.hpp
  35. 4 13
      plugins/linux-capture/xcomposite-main.cpp
  36. 0 28
      plugins/linux-xcomposite/CMakeLists.txt
  37. 0 9
      plugins/linux-xcomposite/data/locale/ar-SA.ini
  38. 0 9
      plugins/linux-xcomposite/data/locale/da-DK.ini
  39. 0 9
      plugins/linux-xcomposite/data/locale/de-DE.ini
  40. 0 8
      plugins/linux-xcomposite/data/locale/en-US.ini
  41. 0 9
      plugins/linux-xcomposite/data/locale/es-ES.ini
  42. 0 9
      plugins/linux-xcomposite/data/locale/eu-ES.ini
  43. 0 9
      plugins/linux-xcomposite/data/locale/fi-FI.ini
  44. 0 9
      plugins/linux-xcomposite/data/locale/fr-FR.ini
  45. 0 9
      plugins/linux-xcomposite/data/locale/gl-ES.ini
  46. 0 9
      plugins/linux-xcomposite/data/locale/hr-HR.ini
  47. 0 9
      plugins/linux-xcomposite/data/locale/hu-HU.ini
  48. 0 9
      plugins/linux-xcomposite/data/locale/it-IT.ini
  49. 0 9
      plugins/linux-xcomposite/data/locale/ja-JP.ini
  50. 0 9
      plugins/linux-xcomposite/data/locale/ko-KR.ini
  51. 0 9
      plugins/linux-xcomposite/data/locale/nb-NO.ini
  52. 0 9
      plugins/linux-xcomposite/data/locale/nl-NL.ini
  53. 0 9
      plugins/linux-xcomposite/data/locale/pl-PL.ini
  54. 0 9
      plugins/linux-xcomposite/data/locale/pt-BR.ini
  55. 0 9
      plugins/linux-xcomposite/data/locale/pt-PT.ini
  56. 0 9
      plugins/linux-xcomposite/data/locale/ro-RO.ini
  57. 0 9
      plugins/linux-xcomposite/data/locale/ru-RU.ini
  58. 0 9
      plugins/linux-xcomposite/data/locale/sl-SI.ini
  59. 0 9
      plugins/linux-xcomposite/data/locale/sr-CS.ini
  60. 0 9
      plugins/linux-xcomposite/data/locale/sr-SP.ini
  61. 0 9
      plugins/linux-xcomposite/data/locale/sv-SE.ini
  62. 0 9
      plugins/linux-xcomposite/data/locale/tr-TR.ini
  63. 0 9
      plugins/linux-xcomposite/data/locale/zh-TW.ini

+ 0 - 1
plugins/CMakeLists.txt

@@ -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()

+ 18 - 2
plugins/linux-capture/CMakeLists.txt

@@ -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)

+ 9 - 0
plugins/linux-capture/data/locale/ar-SA.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="التقاط الشاشة (XSHM)"
 Screen="الشاشة"
 CaptureCursor="مؤشر الالتقاط"
 
+XCCapture="التقاط النافذة (Xcomposite)"
+Window="نافذة"
+CropTop="الاقتطاع من الأعلى (بكسل)"
+CropLeft="الاقتطاع من اليسار (بكسل)"
+CropRight="الاقتطاع من اليمين (بكسل)"
+CropBottom="الاقتطاع من الأسفل (بكسل)"
+SwapRedBlue="مبادلة بين الأحمر و الأزرق"
+LockX="قفل السيرفر X عند الالتقاط"
+

+ 9 - 0
plugins/linux-capture/data/locale/da-DK.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/de-DE.ini

@@ -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"
+

+ 8 - 0
plugins/linux-capture/data/locale/en-US.ini

@@ -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"

+ 9 - 0
plugins/linux-capture/data/locale/es-ES.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/eu-ES.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/fi-FI.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/fr-FR.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/gl-ES.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/hr-HR.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/hu-HU.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/it-IT.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/ja-JP.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="画面キャプチャ (XSHM)"
 Screen="画面"
 CaptureCursor="カーソルをキャプチャ"
 
+XCCapture="ウィンドウキャプチャ (Xcomposite)"
+Window="ウィンドウ"
+CropTop="上部クロップ(ピクセル)"
+CropLeft="左側クロップ(ピクセル)"
+CropRight="右側クロップ(ピクセル)"
+CropBottom="下部クロップ(ピクセル)"
+SwapRedBlue="赤と青を入れ替え"
+LockX="キャプチャ時にXサーバをロック"
+

+ 9 - 0
plugins/linux-capture/data/locale/ko-KR.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="화면 캡쳐 (XSHM)"
 Screen="화면"
 CaptureCursor="커서 캡쳐"
 
+XCCapture="윈도우 캡쳐(Xcomposite)"
+Window="윈도우"
+CropTop="위쪽 자르기 (픽셀)"
+CropLeft="왼쪽 자르기 (픽셀)"
+CropRight="오른쪽 자르기 (픽셀)"
+CropBottom="아래 자르기 (픽셀)"
+SwapRedBlue="적청 교환"
+LockX="캡쳐 시 X 서버를 잠금"
+

+ 9 - 0
plugins/linux-capture/data/locale/nb-NO.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/nl-NL.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/pl-PL.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/pt-BR.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/pt-PT.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/ro-RO.ini

@@ -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ă"
+

+ 9 - 0
plugins/linux-capture/data/locale/ru-RU.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Захват экрана (XSHM)"
 Screen="Экран"
 CaptureCursor="Захват курсора"
 
+XCCapture="Захват окна (Xcomposite)"
+Window="Окно"
+CropTop="Обрезать сверху (пикселей)"
+CropLeft="Обрезать слева (пикселей)"
+CropRight="Обрезать справа (пикселей)"
+CropBottom="Обрезать снизу (пикселей)"
+SwapRedBlue="Поменять местами красный и синий"
+LockX="Блокировать X-сервер при захвате"
+

+ 9 - 0
plugins/linux-capture/data/locale/sl-SI.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/sr-CS.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/sr-SP.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="Екрански улаз (XSHM)"
 Screen="Екран"
 CaptureCursor="Снимај курсор"
 
+XCCapture="Улаз са прозора (Xcomposite)"
+Window="Прозор"
+CropTop="Одсеци одозго (пиксели)"
+CropLeft="Одсеци са лева (пиксели)"
+CropRight="Одсеци са десна (пиксели)"
+CropBottom="Одсеци одоздо (пиксели)"
+SwapRedBlue="Замени црвену и плаву"
+LockX="Закључај X сервер у току снимања"
+

+ 9 - 0
plugins/linux-capture/data/locale/sv-SE.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/tr-TR.ini

@@ -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"
+

+ 9 - 0
plugins/linux-capture/data/locale/zh-TW.ini

@@ -2,3 +2,12 @@ X11SharedMemoryScreenInput="截取螢幕(XSHM)"
 Screen="螢幕"
 CaptureCursor="捕捉游標"
 
+XCCapture="截取視窗(Xcomposite)"
+Window="視窗"
+CropTop="剪裁頂部(px)"
+CropLeft="剪裁左側(px)"
+CropRight="剪裁右側(px)"
+CropBottom="剪裁底部(px)"
+SwapRedBlue="交換紅藍顏色"
+LockX="截取時鎖定 X server"
+

+ 9 - 0
plugins/linux-capture/linux-capture.c

@@ -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();
+}

+ 1 - 1
plugins/linux-xcomposite/xcompcap-helper.cpp → plugins/linux-capture/xcompcap-helper.cpp

@@ -8,7 +8,7 @@
 
 #include <obs-module.h>
 
-#include "xcompcap-helper.h"
+#include "xcompcap-helper.hpp"
 
 namespace XCompcap
 {

+ 0 - 0
plugins/linux-xcomposite/xcompcap-helper.h → plugins/linux-capture/xcompcap-helper.hpp


+ 2 - 2
plugins/linux-xcomposite/xcompcap-main.cpp → plugins/linux-capture/xcompcap-main.cpp

@@ -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"

+ 0 - 0
plugins/linux-xcomposite/xcompcap-main.h → plugins/linux-capture/xcompcap-main.hpp


+ 4 - 13
plugins/linux-xcomposite/plugin-main.cpp → plugins/linux-capture/xcomposite-main.cpp

@@ -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");
 }

+ 0 - 28
plugins/linux-xcomposite/CMakeLists.txt

@@ -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)

+ 0 - 9
plugins/linux-xcomposite/data/locale/ar-SA.ini

@@ -1,9 +0,0 @@
-XCCapture="التقاط النافذة (Xcomposite)"
-Window="نافذة"
-CropTop="الاقتطاع من الأعلى (بكسل)"
-CropLeft="الاقتطاع من اليسار (بكسل)"
-CropRight="الاقتطاع من اليمين (بكسل)"
-CropBottom="الاقتطاع من الأسفل (بكسل)"
-SwapRedBlue="مبادلة بين الأحمر و الأزرق"
-LockX="قفل السيرفر X عند الالتقاط"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/da-DK.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/de-DE.ini

@@ -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"
-

+ 0 - 8
plugins/linux-xcomposite/data/locale/en-US.ini

@@ -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"

+ 0 - 9
plugins/linux-xcomposite/data/locale/es-ES.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/eu-ES.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/fi-FI.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/fr-FR.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/gl-ES.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/hr-HR.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/hu-HU.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/it-IT.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/ja-JP.ini

@@ -1,9 +0,0 @@
-XCCapture="ウィンドウキャプチャ (Xcomposite)"
-Window="ウィンドウ"
-CropTop="上部クロップ(ピクセル)"
-CropLeft="左側クロップ(ピクセル)"
-CropRight="右側クロップ(ピクセル)"
-CropBottom="下部クロップ(ピクセル)"
-SwapRedBlue="赤と青を入れ替え"
-LockX="キャプチャ時にXサーバをロック"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/ko-KR.ini

@@ -1,9 +0,0 @@
-XCCapture="윈도우 캡쳐(Xcomposite)"
-Window="윈도우"
-CropTop="위쪽 자르기 (픽셀)"
-CropLeft="왼쪽 자르기 (픽셀)"
-CropRight="오른쪽 자르기 (픽셀)"
-CropBottom="아래 자르기 (픽셀)"
-SwapRedBlue="적청 교환"
-LockX="캡쳐 시 X 서버를 잠금"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/nb-NO.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/nl-NL.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/pl-PL.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/pt-BR.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/pt-PT.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/ro-RO.ini

@@ -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ă"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/ru-RU.ini

@@ -1,9 +0,0 @@
-XCCapture="Захват окна (Xcomposite)"
-Window="Окно"
-CropTop="Обрезать сверху (пикселей)"
-CropLeft="Обрезать слева (пикселей)"
-CropRight="Обрезать справа (пикселей)"
-CropBottom="Обрезать снизу (пикселей)"
-SwapRedBlue="Поменять местами красный и синий"
-LockX="Блокировать X-сервер при захвате"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/sl-SI.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/sr-CS.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/sr-SP.ini

@@ -1,9 +0,0 @@
-XCCapture="Улаз са прозора (Xcomposite)"
-Window="Прозор"
-CropTop="Одсеци одозго (пиксели)"
-CropLeft="Одсеци са лева (пиксели)"
-CropRight="Одсеци са десна (пиксели)"
-CropBottom="Одсеци одоздо (пиксели)"
-SwapRedBlue="Замени црвену и плаву"
-LockX="Закључај X сервер у току снимања"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/sv-SE.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/tr-TR.ini

@@ -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"
-

+ 0 - 9
plugins/linux-xcomposite/data/locale/zh-TW.ini

@@ -1,9 +0,0 @@
-XCCapture="截取視窗(Xcomposite)"
-Window="視窗"
-CropTop="剪裁頂部(px)"
-CropLeft="剪裁左側(px)"
-CropRight="剪裁右側(px)"
-CropBottom="剪裁底部(px)"
-SwapRedBlue="交換紅藍顏色"
-LockX="截取時鎖定 X server"
-