1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

Open Broadcaster Software is free and open source software

for video recording and live streaming.

WWW: https://obsproject.com/
This commit is contained in:
Kris Moore 2015-05-03 13:59:05 +00:00
parent 544075d8c9
commit 1d33c8cbeb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=385272
14 changed files with 780 additions and 0 deletions

View File

@ -261,6 +261,7 @@
SUBDIR += mythtv-frontend
SUBDIR += naludump
SUBDIR += nxtvepg
SUBDIR += obs-studio
SUBDIR += oggvideotools
SUBDIR += ogmrip
SUBDIR += ogmtools

View File

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= obs-studio
PORTVERSION= 0.9.1
CATEGORIES= multimedia
MAINTAINER= kmoore@FreeBSD.org
COMMENT= Open Broadcaster Software Multiplatform
LICENSE= GPLv2
LIB_DEPENDS= libsysinfo.so:${PORTSDIR}/devel/libsysinfo \
libx264.so:${PORTSDIR}/multimedia/libx264 \
libv4l2.so:${PORTSDIR}/multimedia/libv4l \
libpulse.so:${PORTSDIR}/audio/pulseaudio \
libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
BUILD_DEPENDS= v4l_compat>=0:${PORTSDIR}/multimedia/v4l_compat
USE_XORG= x11 xcomposite xdamage xrender
USE_XCB= x11extras wm
USE_LDCONFIG= yes
USE_GL+= gl
USE_QT5= core dbus gui opengl network svg multimedia \
imageformats buildtools qmake x11extras
CFLAGS+= -fPIC
LDFLAGS+= -lsysinfo
USES= cmake compiler:c11
CMAKE_ARGS+= -DUNIX_STRUCTURE=1 \
-DOBS_VERSION_OVERRIDE=${PORTVERSION}
INSTALLS_ICONS= yes
USE_GITHUB= yes
GH_ACCOUNT= jp9000
post-patch:
@${REINPLACE_CMD} -e 's|-ldl||' \
${CONFIGURE_WRKSRC}/deps/glad/CMakeLists.txt
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (obs-studio-0.9.1_GH0.tar.gz) = 0141a4eebe3ed94a23fd7edba7aebd3397815c43463b54fc1a1195979bab1ea5
SIZE (obs-studio-0.9.1_GH0.tar.gz) = 2879815

View File

@ -0,0 +1,11 @@
--- libobs/graphics/graphics.h.orig 2015-03-27 21:29:37 UTC
+++ libobs/graphics/graphics.h
@@ -426,7 +426,7 @@ struct gs_window {
void *hwnd;
#elif defined(__APPLE__)
__unsafe_unretained id view;
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__FreeBSD__)
/* I'm not sure how portable defining id to uint32_t is. */
uint32_t id;
void* display;

View File

@ -0,0 +1,13 @@
--- libobs/obs-nix.c.orig 2015-03-27 21:29:37 UTC
+++ libobs/obs-nix.c
@@ -16,6 +16,10 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
+#ifdef __FreeBSD__
+#define _WITH_GETLINE
+#endif
+
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

View File

@ -0,0 +1,13 @@
--- libobs/util/platform-nix.c.orig 2015-03-27 21:29:37 UTC
+++ libobs/util/platform-nix.c
@@ -26,8 +26,10 @@
#if !defined(__APPLE__)
#include <sys/times.h>
+#if !defined(__FreeBSD__)
#include <sys/vtimes.h>
#endif
+#endif
#include "darray.h"
#include "dstr.h"

View File

@ -0,0 +1,22 @@
--- libobs/util/threading-posix.c.orig 2015-03-27 21:29:37 UTC
+++ libobs/util/threading-posix.c
@@ -26,6 +26,10 @@
#include <semaphore.h>
#endif
+#if defined(__FreeBSD__)
+#include <pthread_np.h>
+#endif
+
#include "bmem.h"
#include "threading.h"
@@ -256,6 +260,8 @@ void os_set_thread_name(const char *name
{
#if defined(__APPLE__)
pthread_setname_np(name);
+#elif defined(__FreeBSD__)
+ pthread_set_name_np(pthread_self(), name);
#elif !defined(__MINGW32__)
pthread_setname_np(pthread_self(), name);
#endif

View File

@ -0,0 +1,13 @@
--- obs/window-basic-main.cpp.orig 2015-03-27 21:29:37 UTC
+++ obs/window-basic-main.cpp
@@ -1056,6 +1056,10 @@ void OBSBasic::TimedCheckForUpdates()
void OBSBasic::CheckForUpdates()
{
+#ifdef __FreeBSD__
+ // Update check seg faults on FreeBSD
+ return;
+#endif
#ifdef UPDATE_SPARKLE
trigger_sparkle_update();
#else

View File

@ -0,0 +1,11 @@
--- obs/obs-app.cpp.orig 2015-03-27 21:29:37 UTC
+++ obs/obs-app.cpp
@@ -353,6 +353,8 @@ string OBSApp::GetVersionString() const
ver << "windows)";
#elif __APPLE__
ver << "mac)";
+#elif __FreeBSD__
+ ver << "FreeBSD)";
#else /* assume linux for the time being */
ver << "linux)";
#endif

View File

@ -0,0 +1,13 @@
--- plugins/CMakeLists.txt.orig 2015-03-27 21:29:37 UTC
+++ plugins/CMakeLists.txt
@@ -15,6 +15,10 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "L
add_subdirectory(linux-v4l2)
add_subdirectory(linux-jack)
add_subdirectory(decklink/linux)
+elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
+ add_subdirectory(linux-capture)
+ add_subdirectory(linux-pulseaudio)
+ add_subdirectory(linux-v4l2)
endif()
add_subdirectory(image-source)

View File

@ -0,0 +1,23 @@
--- plugins/linux-v4l2/v4l2-helpers.c.orig 2015-03-27 21:29:37 UTC
+++ plugins/linux-v4l2/v4l2-helpers.c
@@ -240,6 +240,12 @@ int_fast32_t v4l2_set_standard(int_fast3
int_fast32_t v4l2_enum_dv_timing(int_fast32_t dev, struct v4l2_dv_timings *dvt,
int index)
{
+#if !defined(VIDIOC_ENUM_DV_TIMINGS) || !defined(V4L2_IN_CAP_DV_TIMINGS)
+ UNUSED_PARAMETER(dev);
+ UNUSED_PARAMETER(dvt);
+ UNUSED_PARAMETER(index);
+ return -1;
+#else
if (!dev || !dvt)
return -1;
@@ -253,6 +259,7 @@ int_fast32_t v4l2_enum_dv_timing(int_fas
memcpy(dvt, &iter.timings, sizeof(struct v4l2_dv_timings));
return 0;
+#endif
}
int_fast32_t v4l2_set_dv_timing(int_fast32_t dev, int *timing)

View File

@ -0,0 +1,112 @@
--- plugins/linux-v4l2/v4l2-input.c.orig 2015-03-27 21:29:37 UTC
+++ plugins/linux-v4l2/v4l2-input.c
@@ -41,6 +41,12 @@ along with this program. If not, see <h
#include "v4l2-udev.h"
#endif
+/* The new dv timing api was introduced in Linux 3.4
+ * Currently we simply disable dv timings when this is not defined */
+#if !defined(VIDIOC_ENUM_DV_TIMINGS) || !defined(V4L2_IN_CAP_DV_TIMINGS)
+#define V4L2_IN_CAP_DV_TIMINGS 0
+#endif
+
#define V4L2_DATA(voidptr) struct v4l2_data *data = voidptr;
#define timeval2ns(tv) \
@@ -74,7 +80,6 @@ struct v4l2_data {
obs_source_t *source;
pthread_t thread;
os_event_t *event;
- void *udev;
int_fast32_t dev;
int width;
@@ -298,9 +303,14 @@ static void v4l2_device_list(obs_propert
continue;
}
+#ifndef V4L2_CAP_DEVICE_CAPS
+ caps = video_cap.capabilities;
+#else
+ /* ... since Linux 3.3 */
caps = (video_cap.capabilities & V4L2_CAP_DEVICE_CAPS)
? video_cap.device_caps
: video_cap.capabilities;
+#endif
if (!(caps & V4L2_CAP_VIDEO_CAPTURE)) {
blog(LOG_INFO, "%s seems to not support video capture",
@@ -663,12 +673,15 @@ static bool resolution_selected(obs_prop
* If everything went fine we can start capturing again when the device is
* reconnected
*/
-static void device_added(const char *dev, void *vptr)
+static void device_added(void *vptr, calldata_t *calldata)
{
V4L2_DATA(vptr);
obs_source_update_properties(data->source);
+ const char *dev;
+ calldata_get_string(calldata, "device", &dev);
+
if (strcmp(data->device_id, dev))
return;
@@ -681,12 +694,15 @@ static void device_added(const char *dev
*
* We stop recording here so we don't block the device node
*/
-static void device_removed(const char *dev, void *vptr)
+static void device_removed(void *vptr, calldata_t *calldata)
{
V4L2_DATA(vptr);
obs_source_update_properties(data->source);
+ const char *dev;
+ calldata_get_string(calldata, "device", &dev);
+
if (strcmp(data->device_id, dev))
return;
@@ -779,7 +795,12 @@ static void v4l2_destroy(void *vptr)
bfree(data->device_id);
#if HAVE_UDEV
- v4l2_unref_udev(data->udev);
+ signal_handler_t *sh = v4l2_get_udev_signalhandler();
+
+ signal_handler_disconnect(sh, "device_added", device_added, data);
+ signal_handler_disconnect(sh, "device_removed", device_removed, data);
+
+ v4l2_unref_udev();
#endif
bfree(data);
@@ -924,12 +945,22 @@ static void *v4l2_create(obs_data_t *set
data->dev = -1;
data->source = source;
+ /* Bitch about build problems ... */
+#ifndef V4L2_CAP_DEVICE_CAPS
+ blog(LOG_WARNING, "Plugin built without device caps support!");
+#endif
+#if !defined(VIDIOC_ENUM_DV_TIMINGS) || !defined(V4L2_IN_CAP_DV_TIMINGS)
+ blog(LOG_WARNING, "Plugin built without dv-timing support!");
+#endif
+
v4l2_update(data, settings);
#if HAVE_UDEV
- data->udev = v4l2_init_udev();
- v4l2_set_device_added_callback(data->udev, &device_added, data);
- v4l2_set_device_removed_callback(data->udev, &device_removed, data);
+ v4l2_init_udev();
+ signal_handler_t *sh = v4l2_get_udev_signalhandler();
+
+ signal_handler_connect(sh, "device_added", &device_added, data);
+ signal_handler_connect(sh, "device_removed", &device_removed, data);
#endif
return data;

View File

@ -0,0 +1,4 @@
Open Broadcaster Software is free and open source software
for video recording and live streaming.
WWW: https://obsproject.com/

View File

@ -0,0 +1,504 @@
bin/obs
include/obs/callback/calldata.h
include/obs/callback/decl.h
include/obs/callback/proc.h
include/obs/callback/signal.h
include/obs/graphics/axisang.h
include/obs/graphics/bounds.h
include/obs/graphics/device-exports.h
include/obs/graphics/effect-parser.h
include/obs/graphics/effect.h
include/obs/graphics/graphics-internal.h
include/obs/graphics/graphics.h
include/obs/graphics/input.h
include/obs/graphics/math-defs.h
include/obs/graphics/math-extra.h
include/obs/graphics/matrix3.h
include/obs/graphics/matrix4.h
include/obs/graphics/plane.h
include/obs/graphics/quat.h
include/obs/graphics/shader-parser.h
include/obs/graphics/vec2.h
include/obs/graphics/vec3.h
include/obs/graphics/vec4.h
include/obs/media-io/audio-io.h
include/obs/media-io/audio-resampler.h
include/obs/media-io/format-conversion.h
include/obs/media-io/media-io-defs.h
include/obs/media-io/media-remux.h
include/obs/media-io/video-frame.h
include/obs/media-io/video-io.h
include/obs/media-io/video-scaler.h
include/obs/obs-audio-controls.h
include/obs/obs-avc.h
include/obs/obs-config.h
include/obs/obs-data.h
include/obs/obs-defs.h
include/obs/obs-encoder.h
include/obs/obs-ffmpeg-compat.h
include/obs/obs-interaction.h
include/obs/obs-internal.h
include/obs/obs-module.h
include/obs/obs-output.h
include/obs/obs-properties.h
include/obs/obs-scene.h
include/obs/obs-service.h
include/obs/obs-source.h
include/obs/obs-ui.h
include/obs/obs.h
include/obs/obs.hpp
include/obs/obsconfig.h
include/obs/util/array-serializer.h
include/obs/util/base.h
include/obs/util/bmem.h
include/obs/util/c99defs.h
include/obs/util/cf-lexer.h
include/obs/util/cf-parser.h
include/obs/util/circlebuf.h
include/obs/util/config-file.h
include/obs/util/darray.h
include/obs/util/dstr.h
include/obs/util/lexer.h
include/obs/util/pipe.h
include/obs/util/platform.h
include/obs/util/serializer.h
include/obs/util/text-lookup.h
include/obs/util/threading.h
include/obs/util/utf8.h
include/obs/util/vc/vc_inttypes.h
include/obs/util/vc/vc_stdbool.h
include/obs/util/vc/vc_stdint.h
%%QT_LIBDIR%%/cmake/LibObs/LibObsConfig.cmake
%%QT_LIBDIR%%/cmake/LibObs/LibObsConfigVersion.cmake
%%QT_LIBDIR%%/cmake/LibObs/LibObsTarget-%%CMAKE_BUILD_TYPE%%.cmake
%%QT_LIBDIR%%/cmake/LibObs/LibObsTarget.cmake
%%QT_LIBDIR%%/%%QT_LIBDIR%%obs-opengl.so
%%QT_LIBDIR%%/%%QT_LIBDIR%%obs-opengl.so.0
%%QT_LIBDIR%%/%%QT_LIBDIR%%obs-opengl.so.0.0
%%QT_LIBDIR%%/%%QT_LIBDIR%%obs.so
%%QT_LIBDIR%%/%%QT_LIBDIR%%obs.so.0
%%QT_LIBDIR%%/%%QT_LIBDIR%%obsglad.so
%%QT_LIBDIR%%/%%QT_LIBDIR%%obsglad.so.0
%%QT_LIBDIR%%/obs-plugins/image-source.so
%%QT_LIBDIR%%/obs-plugins/linux-capture.so
%%QT_LIBDIR%%/obs-plugins/linux-pulseaudio.so
%%QT_LIBDIR%%/obs-plugins/linux-v4l2.so
%%QT_LIBDIR%%/obs-plugins/obs-ffmpeg.so
%%QT_LIBDIR%%/obs-plugins/obs-filters.so
%%QT_LIBDIR%%/obs-plugins/obs-%%QT_LIBDIR%%fdk.so
%%QT_LIBDIR%%/obs-plugins/obs-outputs.so
%%QT_LIBDIR%%/obs-plugins/obs-x264.so
%%QT_LIBDIR%%/obs-plugins/rtmp-services.so
%%QT_LIBDIR%%/obs-plugins/test-input.so
%%QT_LIBDIR%%/obs-plugins/text-freetype2.so
share/applications/obs.desktop
share/icons/hicolor/256x256/apps/obs.png
share/obs/%%QT_LIBDIR%%obs/bicubic_scale.effect
share/obs/%%QT_LIBDIR%%obs/default.effect
share/obs/%%QT_LIBDIR%%obs/default_rect.effect
share/obs/%%QT_LIBDIR%%obs/format_conversion.effect
share/obs/%%QT_LIBDIR%%obs/lanczos_scale.effect
share/obs/%%QT_LIBDIR%%obs/opaque.effect
share/obs/%%QT_LIBDIR%%obs/solid.effect
share/obs/obs-plugins/image-source/locale/ar-SA.ini
share/obs/obs-plugins/image-source/locale/bg-BG.ini
share/obs/obs-plugins/image-source/locale/cs-CZ.ini
share/obs/obs-plugins/image-source/locale/da-DK.ini
share/obs/obs-plugins/image-source/locale/de-DE.ini
share/obs/obs-plugins/image-source/locale/el-GR.ini
share/obs/obs-plugins/image-source/locale/en-US.ini
share/obs/obs-plugins/image-source/locale/es-ES.ini
share/obs/obs-plugins/image-source/locale/eu-ES.ini
share/obs/obs-plugins/image-source/locale/fi-FI.ini
share/obs/obs-plugins/image-source/locale/fr-FR.ini
share/obs/obs-plugins/image-source/locale/gl-ES.ini
share/obs/obs-plugins/image-source/locale/hr-HR.ini
share/obs/obs-plugins/image-source/locale/hu-HU.ini
share/obs/obs-plugins/image-source/locale/it-IT.ini
share/obs/obs-plugins/image-source/locale/ja-JP.ini
share/obs/obs-plugins/image-source/locale/ko-KR.ini
share/obs/obs-plugins/image-source/locale/nb-NO.ini
share/obs/obs-plugins/image-source/locale/nl-NL.ini
share/obs/obs-plugins/image-source/locale/pl-PL.ini
share/obs/obs-plugins/image-source/locale/pt-BR.ini
share/obs/obs-plugins/image-source/locale/pt-PT.ini
share/obs/obs-plugins/image-source/locale/ro-RO.ini
share/obs/obs-plugins/image-source/locale/ru-RU.ini
share/obs/obs-plugins/image-source/locale/sk-SK.ini
share/obs/obs-plugins/image-source/locale/sl-SI.ini
share/obs/obs-plugins/image-source/locale/sr-CS.ini
share/obs/obs-plugins/image-source/locale/sr-SP.ini
share/obs/obs-plugins/image-source/locale/sv-SE.ini
share/obs/obs-plugins/image-source/locale/th-TH.ini
share/obs/obs-plugins/image-source/locale/tr-TR.ini
share/obs/obs-plugins/image-source/locale/zh-CN.ini
share/obs/obs-plugins/image-source/locale/zh-TW.ini
share/obs/obs-plugins/linux-capture/locale/ar-SA.ini
share/obs/obs-plugins/linux-capture/locale/cs-CZ.ini
share/obs/obs-plugins/linux-capture/locale/da-DK.ini
share/obs/obs-plugins/linux-capture/locale/de-DE.ini
share/obs/obs-plugins/linux-capture/locale/el-GR.ini
share/obs/obs-plugins/linux-capture/locale/en-US.ini
share/obs/obs-plugins/linux-capture/locale/es-ES.ini
share/obs/obs-plugins/linux-capture/locale/eu-ES.ini
share/obs/obs-plugins/linux-capture/locale/fi-FI.ini
share/obs/obs-plugins/linux-capture/locale/fr-FR.ini
share/obs/obs-plugins/linux-capture/locale/gl-ES.ini
share/obs/obs-plugins/linux-capture/locale/hr-HR.ini
share/obs/obs-plugins/linux-capture/locale/hu-HU.ini
share/obs/obs-plugins/linux-capture/locale/it-IT.ini
share/obs/obs-plugins/linux-capture/locale/ja-JP.ini
share/obs/obs-plugins/linux-capture/locale/ko-KR.ini
share/obs/obs-plugins/linux-capture/locale/nb-NO.ini
share/obs/obs-plugins/linux-capture/locale/nl-NL.ini
share/obs/obs-plugins/linux-capture/locale/pl-PL.ini
share/obs/obs-plugins/linux-capture/locale/pt-BR.ini
share/obs/obs-plugins/linux-capture/locale/pt-PT.ini
share/obs/obs-plugins/linux-capture/locale/ro-RO.ini
share/obs/obs-plugins/linux-capture/locale/ru-RU.ini
share/obs/obs-plugins/linux-capture/locale/sk-SK.ini
share/obs/obs-plugins/linux-capture/locale/sl-SI.ini
share/obs/obs-plugins/linux-capture/locale/sr-CS.ini
share/obs/obs-plugins/linux-capture/locale/sr-SP.ini
share/obs/obs-plugins/linux-capture/locale/sv-SE.ini
share/obs/obs-plugins/linux-capture/locale/tr-TR.ini
share/obs/obs-plugins/linux-capture/locale/zh-CN.ini
share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
share/obs/obs-plugins/linux-pulseaudio/locale/ar-SA.ini
share/obs/obs-plugins/linux-pulseaudio/locale/bg-BG.ini
share/obs/obs-plugins/linux-pulseaudio/locale/cs-CZ.ini
share/obs/obs-plugins/linux-pulseaudio/locale/da-DK.ini
share/obs/obs-plugins/linux-pulseaudio/locale/de-DE.ini
share/obs/obs-plugins/linux-pulseaudio/locale/el-GR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/en-US.ini
share/obs/obs-plugins/linux-pulseaudio/locale/es-ES.ini
share/obs/obs-plugins/linux-pulseaudio/locale/eu-ES.ini
share/obs/obs-plugins/linux-pulseaudio/locale/fi-FI.ini
share/obs/obs-plugins/linux-pulseaudio/locale/fr-FR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/gl-ES.ini
share/obs/obs-plugins/linux-pulseaudio/locale/hr-HR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/hu-HU.ini
share/obs/obs-plugins/linux-pulseaudio/locale/it-IT.ini
share/obs/obs-plugins/linux-pulseaudio/locale/ja-JP.ini
share/obs/obs-plugins/linux-pulseaudio/locale/ko-KR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/nb-NO.ini
share/obs/obs-plugins/linux-pulseaudio/locale/nl-NL.ini
share/obs/obs-plugins/linux-pulseaudio/locale/pl-PL.ini
share/obs/obs-plugins/linux-pulseaudio/locale/pt-BR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/pt-PT.ini
share/obs/obs-plugins/linux-pulseaudio/locale/ro-RO.ini
share/obs/obs-plugins/linux-pulseaudio/locale/ru-RU.ini
share/obs/obs-plugins/linux-pulseaudio/locale/sk-SK.ini
share/obs/obs-plugins/linux-pulseaudio/locale/sl-SI.ini
share/obs/obs-plugins/linux-pulseaudio/locale/sr-CS.ini
share/obs/obs-plugins/linux-pulseaudio/locale/sr-SP.ini
share/obs/obs-plugins/linux-pulseaudio/locale/sv-SE.ini
share/obs/obs-plugins/linux-pulseaudio/locale/th-TH.ini
share/obs/obs-plugins/linux-pulseaudio/locale/tr-TR.ini
share/obs/obs-plugins/linux-pulseaudio/locale/zh-CN.ini
share/obs/obs-plugins/linux-pulseaudio/locale/zh-TW.ini
share/obs/obs-plugins/linux-v4l2/locale/ar-SA.ini
share/obs/obs-plugins/linux-v4l2/locale/bg-BG.ini
share/obs/obs-plugins/linux-v4l2/locale/cs-CZ.ini
share/obs/obs-plugins/linux-v4l2/locale/da-DK.ini
share/obs/obs-plugins/linux-v4l2/locale/de-DE.ini
share/obs/obs-plugins/linux-v4l2/locale/el-GR.ini
share/obs/obs-plugins/linux-v4l2/locale/en-US.ini
share/obs/obs-plugins/linux-v4l2/locale/es-ES.ini
share/obs/obs-plugins/linux-v4l2/locale/eu-ES.ini
share/obs/obs-plugins/linux-v4l2/locale/fi-FI.ini
share/obs/obs-plugins/linux-v4l2/locale/fr-FR.ini
share/obs/obs-plugins/linux-v4l2/locale/gl-ES.ini
share/obs/obs-plugins/linux-v4l2/locale/hr-HR.ini
share/obs/obs-plugins/linux-v4l2/locale/hu-HU.ini
share/obs/obs-plugins/linux-v4l2/locale/it-IT.ini
share/obs/obs-plugins/linux-v4l2/locale/ja-JP.ini
share/obs/obs-plugins/linux-v4l2/locale/ko-KR.ini
share/obs/obs-plugins/linux-v4l2/locale/nb-NO.ini
share/obs/obs-plugins/linux-v4l2/locale/nl-NL.ini
share/obs/obs-plugins/linux-v4l2/locale/pl-PL.ini
share/obs/obs-plugins/linux-v4l2/locale/pt-BR.ini
share/obs/obs-plugins/linux-v4l2/locale/pt-PT.ini
share/obs/obs-plugins/linux-v4l2/locale/ro-RO.ini
share/obs/obs-plugins/linux-v4l2/locale/ru-RU.ini
share/obs/obs-plugins/linux-v4l2/locale/sk-SK.ini
share/obs/obs-plugins/linux-v4l2/locale/sl-SI.ini
share/obs/obs-plugins/linux-v4l2/locale/sr-CS.ini
share/obs/obs-plugins/linux-v4l2/locale/sr-SP.ini
share/obs/obs-plugins/linux-v4l2/locale/sv-SE.ini
share/obs/obs-plugins/linux-v4l2/locale/th-TH.ini
share/obs/obs-plugins/linux-v4l2/locale/tr-TR.ini
share/obs/obs-plugins/linux-v4l2/locale/uk-UA.ini
share/obs/obs-plugins/linux-v4l2/locale/zh-CN.ini
share/obs/obs-plugins/linux-v4l2/locale/zh-TW.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ar-SA.ini
share/obs/obs-plugins/obs-ffmpeg/locale/bg-BG.ini
share/obs/obs-plugins/obs-ffmpeg/locale/da-DK.ini
share/obs/obs-plugins/obs-ffmpeg/locale/de-DE.ini
share/obs/obs-plugins/obs-ffmpeg/locale/el-GR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/en-US.ini
share/obs/obs-plugins/obs-ffmpeg/locale/es-ES.ini
share/obs/obs-plugins/obs-ffmpeg/locale/eu-ES.ini
share/obs/obs-plugins/obs-ffmpeg/locale/fi-FI.ini
share/obs/obs-plugins/obs-ffmpeg/locale/fr-FR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/gl-ES.ini
share/obs/obs-plugins/obs-ffmpeg/locale/hr-HR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/hu-HU.ini
share/obs/obs-plugins/obs-ffmpeg/locale/it-IT.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ja-JP.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ko-KR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/nb-NO.ini
share/obs/obs-plugins/obs-ffmpeg/locale/nl-NL.ini
share/obs/obs-plugins/obs-ffmpeg/locale/pl-PL.ini
share/obs/obs-plugins/obs-ffmpeg/locale/pt-BR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/pt-PT.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ro-RO.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ru-RU.ini
share/obs/obs-plugins/obs-ffmpeg/locale/sk-SK.ini
share/obs/obs-plugins/obs-ffmpeg/locale/sl-SI.ini
share/obs/obs-plugins/obs-ffmpeg/locale/sr-CS.ini
share/obs/obs-plugins/obs-ffmpeg/locale/sr-SP.ini
share/obs/obs-plugins/obs-ffmpeg/locale/sv-SE.ini
share/obs/obs-plugins/obs-ffmpeg/locale/th-TH.ini
share/obs/obs-plugins/obs-ffmpeg/locale/tr-TR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/zh-CN.ini
share/obs/obs-plugins/obs-ffmpeg/locale/zh-TW.ini
share/obs/obs-plugins/obs-filters/blend_add_filter.effect
share/obs/obs-plugins/obs-filters/blend_mul_filter.effect
share/obs/obs-plugins/obs-filters/blend_sub_filter.effect
share/obs/obs-plugins/obs-filters/chroma_key_filter.effect
share/obs/obs-plugins/obs-filters/color_filter.effect
share/obs/obs-plugins/obs-filters/color_key_filter.effect
share/obs/obs-plugins/obs-filters/crop_filter.effect
share/obs/obs-plugins/obs-filters/locale/da-DK.ini
share/obs/obs-plugins/obs-filters/locale/de-DE.ini
share/obs/obs-plugins/obs-filters/locale/el-GR.ini
share/obs/obs-plugins/obs-filters/locale/en-US.ini
share/obs/obs-plugins/obs-filters/locale/eu-ES.ini
share/obs/obs-plugins/obs-filters/locale/fi-FI.ini
share/obs/obs-plugins/obs-filters/locale/fr-FR.ini
share/obs/obs-plugins/obs-filters/locale/gl-ES.ini
share/obs/obs-plugins/obs-filters/locale/hr-HR.ini
share/obs/obs-plugins/obs-filters/locale/hu-HU.ini
share/obs/obs-plugins/obs-filters/locale/it-IT.ini
share/obs/obs-plugins/obs-filters/locale/ja-JP.ini
share/obs/obs-plugins/obs-filters/locale/ko-KR.ini
share/obs/obs-plugins/obs-filters/locale/nb-NO.ini
share/obs/obs-plugins/obs-filters/locale/nl-NL.ini
share/obs/obs-plugins/obs-filters/locale/pl-PL.ini
share/obs/obs-plugins/obs-filters/locale/ro-RO.ini
share/obs/obs-plugins/obs-filters/locale/ru-RU.ini
share/obs/obs-plugins/obs-filters/locale/sl-SI.ini
share/obs/obs-plugins/obs-filters/locale/sr-CS.ini
share/obs/obs-plugins/obs-filters/locale/sr-SP.ini
share/obs/obs-plugins/obs-filters/locale/sv-SE.ini
share/obs/obs-plugins/obs-filters/locale/zh-CN.ini
share/obs/obs-plugins/obs-filters/mask_alpha_filter.effect
share/obs/obs-plugins/obs-filters/mask_color_filter.effect
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/ar-SA.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/da-DK.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/de-DE.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/el-GR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/en-US.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/es-ES.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/eu-ES.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/fi-FI.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/fr-FR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/gl-ES.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/hr-HR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/hu-HU.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/it-IT.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/ja-JP.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/ko-KR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/nb-NO.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/nl-NL.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/pl-PL.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/pt-BR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/pt-PT.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/ro-RO.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/ru-RU.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/sk-SK.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/sl-SI.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/sr-CS.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/sr-SP.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/sv-SE.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/th-TH.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/tr-TR.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/zh-CN.ini
share/obs/obs-plugins/obs-%%QT_LIBDIR%%fdk/locale/zh-TW.ini
share/obs/obs-plugins/obs-outputs/locale/ar-SA.ini
share/obs/obs-plugins/obs-outputs/locale/da-DK.ini
share/obs/obs-plugins/obs-outputs/locale/de-DE.ini
share/obs/obs-plugins/obs-outputs/locale/el-GR.ini
share/obs/obs-plugins/obs-outputs/locale/en-US.ini
share/obs/obs-plugins/obs-outputs/locale/es-ES.ini
share/obs/obs-plugins/obs-outputs/locale/eu-ES.ini
share/obs/obs-plugins/obs-outputs/locale/fi-FI.ini
share/obs/obs-plugins/obs-outputs/locale/fr-FR.ini
share/obs/obs-plugins/obs-outputs/locale/gl-ES.ini
share/obs/obs-plugins/obs-outputs/locale/hr-HR.ini
share/obs/obs-plugins/obs-outputs/locale/hu-HU.ini
share/obs/obs-plugins/obs-outputs/locale/it-IT.ini
share/obs/obs-plugins/obs-outputs/locale/ja-JP.ini
share/obs/obs-plugins/obs-outputs/locale/ko-KR.ini
share/obs/obs-plugins/obs-outputs/locale/nb-NO.ini
share/obs/obs-plugins/obs-outputs/locale/nl-NL.ini
share/obs/obs-plugins/obs-outputs/locale/pl-PL.ini
share/obs/obs-plugins/obs-outputs/locale/pt-BR.ini
share/obs/obs-plugins/obs-outputs/locale/pt-PT.ini
share/obs/obs-plugins/obs-outputs/locale/ro-RO.ini
share/obs/obs-plugins/obs-outputs/locale/ru-RU.ini
share/obs/obs-plugins/obs-outputs/locale/sk-SK.ini
share/obs/obs-plugins/obs-outputs/locale/sl-SI.ini
share/obs/obs-plugins/obs-outputs/locale/sr-CS.ini
share/obs/obs-plugins/obs-outputs/locale/sr-SP.ini
share/obs/obs-plugins/obs-outputs/locale/sv-SE.ini
share/obs/obs-plugins/obs-outputs/locale/th-TH.ini
share/obs/obs-plugins/obs-outputs/locale/tr-TR.ini
share/obs/obs-plugins/obs-outputs/locale/uk-UA.ini
share/obs/obs-plugins/obs-outputs/locale/zh-CN.ini
share/obs/obs-plugins/obs-outputs/locale/zh-TW.ini
share/obs/obs-plugins/obs-x264/locale/ar-SA.ini
share/obs/obs-plugins/obs-x264/locale/bg-BG.ini
share/obs/obs-plugins/obs-x264/locale/da-DK.ini
share/obs/obs-plugins/obs-x264/locale/de-DE.ini
share/obs/obs-plugins/obs-x264/locale/el-GR.ini
share/obs/obs-plugins/obs-x264/locale/en-US.ini
share/obs/obs-plugins/obs-x264/locale/es-ES.ini
share/obs/obs-plugins/obs-x264/locale/eu-ES.ini
share/obs/obs-plugins/obs-x264/locale/fi-FI.ini
share/obs/obs-plugins/obs-x264/locale/fr-FR.ini
share/obs/obs-plugins/obs-x264/locale/gl-ES.ini
share/obs/obs-plugins/obs-x264/locale/hr-HR.ini
share/obs/obs-plugins/obs-x264/locale/hu-HU.ini
share/obs/obs-plugins/obs-x264/locale/it-IT.ini
share/obs/obs-plugins/obs-x264/locale/ja-JP.ini
share/obs/obs-plugins/obs-x264/locale/ko-KR.ini
share/obs/obs-plugins/obs-x264/locale/nb-NO.ini
share/obs/obs-plugins/obs-x264/locale/nl-NL.ini
share/obs/obs-plugins/obs-x264/locale/pl-PL.ini
share/obs/obs-plugins/obs-x264/locale/pt-BR.ini
share/obs/obs-plugins/obs-x264/locale/pt-PT.ini
share/obs/obs-plugins/obs-x264/locale/ro-RO.ini
share/obs/obs-plugins/obs-x264/locale/ru-RU.ini
share/obs/obs-plugins/obs-x264/locale/sk-SK.ini
share/obs/obs-plugins/obs-x264/locale/sl-SI.ini
share/obs/obs-plugins/obs-x264/locale/sr-CS.ini
share/obs/obs-plugins/obs-x264/locale/sr-SP.ini
share/obs/obs-plugins/obs-x264/locale/sv-SE.ini
share/obs/obs-plugins/obs-x264/locale/th-TH.ini
share/obs/obs-plugins/obs-x264/locale/tr-TR.ini
share/obs/obs-plugins/obs-x264/locale/uk-UA.ini
share/obs/obs-plugins/obs-x264/locale/zh-CN.ini
share/obs/obs-plugins/obs-x264/locale/zh-TW.ini
share/obs/obs-plugins/rtmp-services/locale/ar-SA.ini
share/obs/obs-plugins/rtmp-services/locale/da-DK.ini
share/obs/obs-plugins/rtmp-services/locale/de-DE.ini
share/obs/obs-plugins/rtmp-services/locale/el-GR.ini
share/obs/obs-plugins/rtmp-services/locale/en-US.ini
share/obs/obs-plugins/rtmp-services/locale/es-ES.ini
share/obs/obs-plugins/rtmp-services/locale/eu-ES.ini
share/obs/obs-plugins/rtmp-services/locale/fi-FI.ini
share/obs/obs-plugins/rtmp-services/locale/fr-FR.ini
share/obs/obs-plugins/rtmp-services/locale/gl-ES.ini
share/obs/obs-plugins/rtmp-services/locale/hr-HR.ini
share/obs/obs-plugins/rtmp-services/locale/hu-HU.ini
share/obs/obs-plugins/rtmp-services/locale/it-IT.ini
share/obs/obs-plugins/rtmp-services/locale/ja-JP.ini
share/obs/obs-plugins/rtmp-services/locale/ko-KR.ini
share/obs/obs-plugins/rtmp-services/locale/nb-NO.ini
share/obs/obs-plugins/rtmp-services/locale/nl-NL.ini
share/obs/obs-plugins/rtmp-services/locale/pl-PL.ini
share/obs/obs-plugins/rtmp-services/locale/pt-BR.ini
share/obs/obs-plugins/rtmp-services/locale/pt-PT.ini
share/obs/obs-plugins/rtmp-services/locale/ro-RO.ini
share/obs/obs-plugins/rtmp-services/locale/ru-RU.ini
share/obs/obs-plugins/rtmp-services/locale/sk-SK.ini
share/obs/obs-plugins/rtmp-services/locale/sl-SI.ini
share/obs/obs-plugins/rtmp-services/locale/sr-CS.ini
share/obs/obs-plugins/rtmp-services/locale/sr-SP.ini
share/obs/obs-plugins/rtmp-services/locale/sv-SE.ini
share/obs/obs-plugins/rtmp-services/locale/th-TH.ini
share/obs/obs-plugins/rtmp-services/locale/tr-TR.ini
share/obs/obs-plugins/rtmp-services/locale/uk-UA.ini
share/obs/obs-plugins/rtmp-services/locale/zh-CN.ini
share/obs/obs-plugins/rtmp-services/locale/zh-TW.ini
share/obs/obs-plugins/rtmp-services/services.json
share/obs/obs-plugins/test-input/draw.effect
share/obs/obs-plugins/test-input/test.effect
share/obs/obs-plugins/text-freetype2/locale/da-DK.ini
share/obs/obs-plugins/text-freetype2/locale/de-DE.ini
share/obs/obs-plugins/text-freetype2/locale/el-GR.ini
share/obs/obs-plugins/text-freetype2/locale/en-US.ini
share/obs/obs-plugins/text-freetype2/locale/es-ES.ini
share/obs/obs-plugins/text-freetype2/locale/eu-ES.ini
share/obs/obs-plugins/text-freetype2/locale/fi-FI.ini
share/obs/obs-plugins/text-freetype2/locale/fr-FR.ini
share/obs/obs-plugins/text-freetype2/locale/gl-ES.ini
share/obs/obs-plugins/text-freetype2/locale/hr-HR.ini
share/obs/obs-plugins/text-freetype2/locale/hu-HU.ini
share/obs/obs-plugins/text-freetype2/locale/it-IT.ini
share/obs/obs-plugins/text-freetype2/locale/ja-JP.ini
share/obs/obs-plugins/text-freetype2/locale/ko-KR.ini
share/obs/obs-plugins/text-freetype2/locale/nb-NO.ini
share/obs/obs-plugins/text-freetype2/locale/nl-NL.ini
share/obs/obs-plugins/text-freetype2/locale/pl-PL.ini
share/obs/obs-plugins/text-freetype2/locale/pt-BR.ini
share/obs/obs-plugins/text-freetype2/locale/ro-RO.ini
share/obs/obs-plugins/text-freetype2/locale/ru-RU.ini
share/obs/obs-plugins/text-freetype2/locale/sk-SK.ini
share/obs/obs-plugins/text-freetype2/locale/sl-SI.ini
share/obs/obs-plugins/text-freetype2/locale/sr-CS.ini
share/obs/obs-plugins/text-freetype2/locale/sr-SP.ini
share/obs/obs-plugins/text-freetype2/locale/sv-SE.ini
share/obs/obs-plugins/text-freetype2/locale/th-TH.ini
share/obs/obs-plugins/text-freetype2/locale/tr-TR.ini
share/obs/obs-plugins/text-freetype2/locale/zh-CN.ini
share/obs/obs-plugins/text-freetype2/locale/zh-TW.ini
share/obs/obs-plugins/text-freetype2/text_default.effect
share/obs/obs-studio/license/gplv2.txt
share/obs/obs-studio/locale.ini
share/obs/obs-studio/locale/ar-SA.ini
share/obs/obs-studio/locale/bg-BG.ini
share/obs/obs-studio/locale/cs-CZ.ini
share/obs/obs-studio/locale/da-DK.ini
share/obs/obs-studio/locale/de-DE.ini
share/obs/obs-studio/locale/el-GR.ini
share/obs/obs-studio/locale/en-US.ini
share/obs/obs-studio/locale/es-ES.ini
share/obs/obs-studio/locale/eu-ES.ini
share/obs/obs-studio/locale/fi-FI.ini
share/obs/obs-studio/locale/fr-FR.ini
share/obs/obs-studio/locale/gl-ES.ini
share/obs/obs-studio/locale/hr-HR.ini
share/obs/obs-studio/locale/hu-HU.ini
share/obs/obs-studio/locale/it-IT.ini
share/obs/obs-studio/locale/ja-JP.ini
share/obs/obs-studio/locale/ko-KR.ini
share/obs/obs-studio/locale/nb-NO.ini
share/obs/obs-studio/locale/nl-NL.ini
share/obs/obs-studio/locale/pl-PL.ini
share/obs/obs-studio/locale/pt-BR.ini
share/obs/obs-studio/locale/pt-PT.ini
share/obs/obs-studio/locale/ro-RO.ini
share/obs/obs-studio/locale/ru-RU.ini
share/obs/obs-studio/locale/sk-SK.ini
share/obs/obs-studio/locale/sl-SI.ini
share/obs/obs-studio/locale/sr-CS.ini
share/obs/obs-studio/locale/sr-SP.ini
share/obs/obs-studio/locale/sv-SE.ini
share/obs/obs-studio/locale/th-TH.ini
share/obs/obs-studio/locale/tr-TR.ini
share/obs/obs-studio/locale/uk-UA.ini
share/obs/obs-studio/locale/zh-CN.ini
share/obs/obs-studio/locale/zh-TW.ini
share/obs/obs-studio/themes/Dark.qss
share/obs/obs-studio/themes/Dark/cogwheel.png
share/obs/obs-studio/themes/Dark/down_arrow.png
share/obs/obs-studio/themes/Dark/minus.png
share/obs/obs-studio/themes/Dark/mute.png
share/obs/obs-studio/themes/Dark/plus.png
share/obs/obs-studio/themes/Dark/unmute.png
share/obs/obs-studio/themes/Dark/up_arrow.png
share/obs/obs-studio/themes/Dark/updown.png
share/obs/obs-studio/themes/Default.qss