Browse Source

cmake, libobs, win-capture: Fix VS2017 warnings

jp9000 7 năm trước cách đây
mục cha
commit
4b54bde426

+ 1 - 1
CMakeLists.txt

@@ -60,7 +60,7 @@ elseif(MSVC)
 	endif()
 	endif()
 
 
 	# Disable pointless constant condition warnings
 	# Disable pointless constant condition warnings
-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4127 /wd4201")
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4127 /wd4201 /wd4456 /wd4457 /wd4458 /wd4459 /wd4595")
 endif()
 endif()
 
 
 if(WIN32)
 if(WIN32)

+ 6 - 0
libobs/audio-monitoring/win32/wasapi-output.h

@@ -3,10 +3,16 @@
 #include <audioclient.h>
 #include <audioclient.h>
 
 
 
 
+#ifndef KSAUDIO_SPEAKER_2POINT1
 #define KSAUDIO_SPEAKER_2POINT1 (KSAUDIO_SPEAKER_STEREO|SPEAKER_LOW_FREQUENCY)
 #define KSAUDIO_SPEAKER_2POINT1 (KSAUDIO_SPEAKER_STEREO|SPEAKER_LOW_FREQUENCY)
+#endif
+
 #define KSAUDIO_SPEAKER_SURROUND_AVUTIL \
 #define KSAUDIO_SPEAKER_SURROUND_AVUTIL \
 	(KSAUDIO_SPEAKER_STEREO|SPEAKER_FRONT_CENTER)
 	(KSAUDIO_SPEAKER_STEREO|SPEAKER_FRONT_CENTER)
+
+#ifndef KSAUDIO_SPEAKER_4POINT1
 #define KSAUDIO_SPEAKER_4POINT1 (KSAUDIO_SPEAKER_SURROUND|SPEAKER_LOW_FREQUENCY)
 #define KSAUDIO_SPEAKER_4POINT1 (KSAUDIO_SPEAKER_SURROUND|SPEAKER_LOW_FREQUENCY)
+#endif
 
 
 #define safe_release(ptr) \
 #define safe_release(ptr) \
 	do { \
 	do { \

+ 2 - 1
libobs/obs-output.c

@@ -2061,7 +2061,8 @@ static struct caption_text *caption_text_new(const char *text, size_t bytes,
 		struct caption_text *tail, struct caption_text **head)
 		struct caption_text *tail, struct caption_text **head)
 {
 {
 	struct caption_text *next = bzalloc(sizeof(struct caption_text));
 	struct caption_text *next = bzalloc(sizeof(struct caption_text));
-	snprintf(&next->text[0], CAPTION_LINE_BYTES + 1, "%.*s", bytes, text);
+	snprintf(&next->text[0], CAPTION_LINE_BYTES + 1, "%.*s",
+			(int)bytes, text);
 
 
 	if (!*head) {
 	if (!*head) {
 		*head = next;
 		*head = next;

+ 3 - 2
plugins/win-capture/game-capture.c

@@ -456,7 +456,7 @@ static bool hotkey_start(void *data, obs_hotkey_pair_id id,
 	if (pressed && gc->config.mode == CAPTURE_MODE_HOTKEY) {
 	if (pressed && gc->config.mode == CAPTURE_MODE_HOTKEY) {
 		info("Activate hotkey pressed");
 		info("Activate hotkey pressed");
 		os_atomic_set_long(&gc->hotkey_window,
 		os_atomic_set_long(&gc->hotkey_window,
-				(long)GetForegroundWindow());
+				(long)(uintptr_t)GetForegroundWindow());
 		os_atomic_set_bool(&gc->deactivate_hook, true);
 		os_atomic_set_bool(&gc->deactivate_hook, true);
 		os_atomic_set_bool(&gc->activate_hook_now, true);
 		os_atomic_set_bool(&gc->activate_hook_now, true);
 	}
 	}
@@ -1582,7 +1582,8 @@ static void game_capture_tick(void *data, float seconds)
 	bool activate_now = os_atomic_set_bool(&gc->activate_hook_now, false);
 	bool activate_now = os_atomic_set_bool(&gc->activate_hook_now, false);
 
 
 	if (activate_now) {
 	if (activate_now) {
-		HWND hwnd = (HWND)os_atomic_load_long(&gc->hotkey_window);
+		HWND hwnd = (HWND)(uintptr_t)os_atomic_load_long(
+				&gc->hotkey_window);
 
 
 		if (is_uwp_window(hwnd))
 		if (is_uwp_window(hwnd))
 			hwnd = get_uwp_actual_window(hwnd);
 			hwnd = get_uwp_actual_window(hwnd);

+ 2 - 2
plugins/win-capture/nt-stuff.h

@@ -140,7 +140,7 @@ static bool thread_is_suspended(DWORD process_id, DWORD thread_id)
 	OBS_SYSTEM_PROCESS_INFORMATION2 *spi = data;
 	OBS_SYSTEM_PROCESS_INFORMATION2 *spi = data;
 
 
 	for (;;) {
 	for (;;) {
-		if (spi->UniqueProcessId == (HANDLE)process_id) {
+		if (spi->UniqueProcessId == (HANDLE)(DWORD_PTR)process_id) {
 			break;
 			break;
 		}
 		}
 
 
@@ -156,7 +156,7 @@ static bool thread_is_suspended(DWORD process_id, DWORD thread_id)
 	sti = (OBS_SYSTEM_THREAD_INFORMATION*)((BYTE*)spi + sizeof(*spi));
 	sti = (OBS_SYSTEM_THREAD_INFORMATION*)((BYTE*)spi + sizeof(*spi));
 
 
 	for (ULONG i = 0; i < spi->ThreadCount; i++) {
 	for (ULONG i = 0; i < spi->ThreadCount; i++) {
-		if (sti[i].UniqueThreadId == (HANDLE)thread_id) {
+		if (sti[i].UniqueThreadId == (HANDLE)(DWORD_PTR)thread_id) {
 			info = &sti[i];
 			info = &sti[i];
 			break;
 			break;
 		}
 		}