| 
														
															@@ -165,6 +165,7 @@ struct DShowInput { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Device       device; 
														 | 
														
														 | 
														
															 	Device       device; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	bool         deactivateWhenNotShowing = false; 
														 | 
														
														 | 
														
															 	bool         deactivateWhenNotShowing = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	bool         deviceHasAudio = false; 
														 | 
														
														 | 
														
															 	bool         deviceHasAudio = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	bool         deviceHasSeparateAudioFilter = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	bool         flip = false; 
														 | 
														
														 | 
														
															 	bool         flip = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	bool         active = false; 
														 | 
														
														 | 
														
															 	bool         active = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -845,6 +846,7 @@ bool DShowInput::UpdateVideoConfig(obs_data_t *settings) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	videoConfig.internalFormat   = format; 
														 | 
														
														 | 
														
															 	videoConfig.internalFormat   = format; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	deviceHasAudio = dev.audioAttached; 
														 | 
														
														 | 
														
															 	deviceHasAudio = dev.audioAttached; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	deviceHasSeparateAudioFilter = dev.separateAudioFilter; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	videoConfig.callback = std::bind(&DShowInput::OnVideoData, this, 
														 | 
														
														 | 
														
															 	videoConfig.callback = std::bind(&DShowInput::OnVideoData, this, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			placeholders::_1, placeholders::_2, 
														 | 
														
														 | 
														
															 			placeholders::_1, placeholders::_2, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -921,7 +923,8 @@ bool DShowInput::UpdateAudioConfig(obs_data_t *settings) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return true; 
														 | 
														
														 | 
														
															 		return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	audioConfig.useVideoDevice = !useCustomAudio; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	audioConfig.useVideoDevice = !useCustomAudio && !deviceHasSeparateAudioFilter; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	audioConfig.useSeparateAudioFilter = deviceHasSeparateAudioFilter; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	audioConfig.callback = std::bind(&DShowInput::OnAudioData, this, 
														 | 
														
														 | 
														
															 	audioConfig.callback = std::bind(&DShowInput::OnAudioData, this, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			placeholders::_1, placeholders::_2, 
														 | 
														
														 | 
														
															 			placeholders::_1, placeholders::_2, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -942,8 +945,12 @@ bool DShowInput::UpdateAudioConfig(obs_data_t *settings) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	blog(LOG_INFO, "\tusing video device audio: %s", 
														 | 
														
														 | 
														
															 	blog(LOG_INFO, "\tusing video device audio: %s", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			audioConfig.useVideoDevice ? "yes" : "no"); 
														 | 
														
														 | 
														
															 			audioConfig.useVideoDevice ? "yes" : "no"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (!audioConfig.useVideoDevice) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		blog(LOG_INFO, "\taudio device: %s", (const char*)name_utf8); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (!audioConfig.useVideoDevice) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if (audioConfig.useSeparateAudioFilter) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			blog(LOG_INFO, "\tseparate audio filter"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		else 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			blog(LOG_INFO, "\taudio device: %s", (const char*)name_utf8); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	const char *mode = ""; 
														 | 
														
														 | 
														
															 	const char *mode = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |