diff --git a/xpra/server/window/window_video_source.py b/xpra/server/window/window_video_source.py index 9732f8c0e4..f4ad4cb536 100644 --- a/xpra/server/window/window_video_source.py +++ b/xpra/server/window/window_video_source.py @@ -142,7 +142,9 @@ def init_encoders(self): self.non_video_encodings = () self.common_video_encodings = () return - self.video_encodings = tuple(x for x in self.video_helper.get_encodings() if x in self.server_core_encodings) + #make sure we actually have encoders for these: + enc_options = set(self.server_core_encodings) & set(self._encoders.keys()) + self.video_encodings = tuple(x for x in self.video_helper.get_encodings() if x in enc_options) video_enabled = [] for x in self.video_encodings: self.append_encoder(x, self.video_encode) @@ -152,7 +154,7 @@ def init_encoders(self): self.add_encoder("auto", self.video_encode) #these are used for non-video areas, ensure "jpeg" is used if available #as we may be dealing with large areas still, and we want speed: - nv_common = (set(self.server_core_encodings) & set(self.core_encodings)) - set(self.video_encodings) + nv_common = (enc_options & set(self.core_encodings)) - set(self.video_encodings) self.non_video_encodings = tuple(x for x in PREFERRED_ENCODING_ORDER if x in nv_common) self.common_video_encodings = tuple(x for x in PREFERRED_ENCODING_ORDER