浏览代码

Move mac display capture to mac-capture module

It was kind of silly that it was residing within the test-input module.
jp9000 11 年之前
父节点
当前提交
3394ac6488

+ 0 - 0
build/data/obs-plugins/test-input/draw_rect.effect → build/data/obs-plugins/mac-capture/draw_rect.effect


+ 15 - 3
plugins/mac-capture/CMakeLists.txt

@@ -3,10 +3,14 @@ project(mac-capture)
 find_library(COREAUDIO CoreAudio)
 find_library(AUDIOUNIT AudioUnit)
 find_library(COREFOUNDATION CoreFoundation)
+find_library(IOSURF IOSurface)
+find_library(COCOA Cocoa)
 
 include_directories(${COREAUDIO}
                     ${AUDIOUNIT}
-                    ${COREFOUNDATION})
+                    ${COREFOUNDATION}
+		    ${IOSURF}
+		    ${COCOA})
 
 set(mac-capture_HEADERS
 	audio-device-enum.h
@@ -15,8 +19,13 @@ set(mac-capture_HEADERS
 set(mac-capture_SOURCES
 	plugin-main.c
 	audio-device-enum.c
-	mac-audio.c)
+	mac-audio.c
+	mac-screen-capture.m)
 	
+set_source_files_properties(mac-screen-capture.m
+	PROPERTIES LANGUAGE C
+		COMPILE_FLAGS "-fobjc-arc")
+
 add_library(mac-capture MODULE
 	${mac-capture_SOURCES}
 	${mac-capture_HEADERS})
@@ -24,6 +33,9 @@ target_link_libraries(mac-capture
 	libobs
 	${COREAUDIO}
 	${AUDIOUNIT}
-	${COREFOUNDATION})
+	${COREFOUNDATION}
+	${IOSURF}
+	${COCOA})
 
 install_obs_plugin(mac-capture)
+install_obs_plugin_data(mac-capture ../../build/data/obs-plugins/mac-capture)

+ 2 - 1
test/test-input/test-desktop.m → plugins/mac-capture/mac-screen-capture.m

@@ -181,7 +181,8 @@ static void *display_capture_create(obs_data_t settings,
 	if (!dc->sampler)
 		goto fail;
 
-	char *effect_file = obs_find_plugin_file("test-input/draw_rect.effect");
+	char *effect_file = obs_find_plugin_file(
+			"mac-capture/draw_rect.effect");
 	dc->draw_effect = gs_create_effect_from_file(effect_file, NULL);
 	bfree(effect_file);
 	if (!dc->draw_effect)

+ 2 - 0
plugins/mac-capture/plugin-main.c

@@ -4,11 +4,13 @@ OBS_DECLARE_MODULE()
 
 extern struct obs_source_info coreaudio_input_capture_info;
 extern struct obs_source_info coreaudio_output_capture_info;
+extern struct obs_source_info display_capture_info;
 
 bool obs_module_load(uint32_t libobs_version)
 {
 	obs_register_source(&coreaudio_input_capture_info);
 	obs_register_source(&coreaudio_output_capture_info);
+	obs_register_source(&display_capture_info);
 
 	UNUSED_PARAMETER(libobs_version);
 	return true;

+ 1 - 20
test/test-input/CMakeLists.txt

@@ -2,26 +2,7 @@ project(test-input)
 
 include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
 
-if(APPLE)
-	set(test-input_PLATFORM_SOURCES
-		test-desktop.m)
-
-	set_source_files_properties(test-desktop.m
-		PROPERTIES LANGUAGE C
-			COMPILE_FLAGS "-fobjc-arc")
-
-	find_library(IOSURF IOSurface)
-	include_directories(${IOSURF})
-	mark_as_advanced(${IOSURF})
-
-	find_library(COCOA Cocoa)
-	include_directories(${COCOA})
-	mark_as_advanced(${COCOA})
-
-	set(test-input_PLATFORM_DEPS
-		${IOSURF}
-		${COCOA})
-elseif(WIN32)
+if(WIN32)
 	set(test-input_PLATFORM_DEPS
 		w32-pthreads)
 endif()

+ 0 - 8
test/test-input/test-input.c

@@ -6,20 +6,12 @@ extern struct obs_source_info test_random;
 extern struct obs_source_info test_sinewave;
 extern struct obs_source_info test_filter;
 
-#ifdef __APPLE__
-extern struct obs_source_info display_capture_info;
-#endif
-
 bool obs_module_load(uint32_t libobs_version)
 {
 	obs_register_source(&test_random);
 	obs_register_source(&test_sinewave);
 	obs_register_source(&test_filter);
 
-#ifdef __APPLE__
-	obs_register_source(&display_capture_info);
-#endif
-
 	UNUSED_PARAMETER(libobs_version);
 	return true;
 }