diff --git a/plugins/win-dshow/win-dshow-encoder.cpp b/plugins/win-dshow/win-dshow-encoder.cpp index 1be9da342..13ba9c870 100644 --- a/plugins/win-dshow/win-dshow-encoder.cpp +++ b/plugins/win-dshow/win-dshow-encoder.cpp @@ -140,7 +140,12 @@ inline bool DShowEncoder::Update(obs_data_t *settings) static bool UpdateDShowEncoder(void *data, obs_data_t *settings) { - return reinterpret_cast(data)->Update(settings); + DShowEncoder *encoder = reinterpret_cast(data); + + if (!obs_encoder_active(encoder->context)) + return encoder->Update(settings); + + return true; } static inline void *CreateDShowEncoder(obs_data_t *settings,