Browse Source

win-dshow: Fix virtualcam output a default video format

Exeldro 2 years ago
parent
commit
3840f92777

+ 1 - 1
plugins/win-dshow/libdshowcapture

@@ -1 +1 @@
-Subproject commit 2fa2e488b7dc4a266eb8f5be56ced626e39a6159
+Subproject commit bac23f2ca01b712b9740c6a3822d32c134ab6325

+ 1 - 8
plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp

@@ -14,18 +14,11 @@ extern volatile long locks;
 
 /* ========================================================================= */
 
-VCamFilter::VCamFilter()
-	: OutputFilter(VideoFormat::NV12, DEFAULT_CX, DEFAULT_CY,
-		       DEFAULT_INTERVAL)
+VCamFilter::VCamFilter() : OutputFilter()
 {
 	thread_start = CreateEvent(nullptr, true, false, nullptr);
 	thread_stop = CreateEvent(nullptr, true, false, nullptr);
 
-	AddVideoFormat(VideoFormat::I420, DEFAULT_CX, DEFAULT_CY,
-		       DEFAULT_INTERVAL);
-	AddVideoFormat(VideoFormat::YUY2, DEFAULT_CX, DEFAULT_CY,
-		       DEFAULT_INTERVAL);
-
 	format = VideoFormat::NV12;
 
 	placeholder.scaled_data = nullptr;

+ 5 - 9
plugins/win-dshow/virtualcam-module/virtualcam-filter.hpp

@@ -10,10 +10,6 @@
 #include "../../../libobs/util/windows/WinHandle.hpp"
 #include "../../../libobs/util/threading-windows.h"
 
-#define DEFAULT_CX 1920
-#define DEFAULT_CY 1080
-#define DEFAULT_INTERVAL 333333ULL
-
 typedef struct {
 	int cx;
 	int cy;
@@ -30,11 +26,11 @@ class VCamFilter : public DShow::OutputFilter {
 	bool in_obs = false;
 	enum queue_state prev_state = SHARED_QUEUE_STATE_INVALID;
 	placeholder_t placeholder;
-	uint32_t obs_cx = DEFAULT_CX;
-	uint32_t obs_cy = DEFAULT_CY;
-	uint64_t obs_interval = DEFAULT_INTERVAL;
-	uint32_t filter_cx = DEFAULT_CX;
-	uint32_t filter_cy = DEFAULT_CY;
+	uint32_t obs_cx = 0;
+	uint32_t obs_cy = 0;
+	uint64_t obs_interval = 0;
+	uint32_t filter_cx = 0;
+	uint32_t filter_cy = 0;
 	DShow::VideoFormat format;
 	WinHandle thread_start;
 	WinHandle thread_stop;