diff --git a/xpra/server/window/window_source.py b/xpra/server/window/window_source.py index 0d6a879575..07c370f929 100644 --- a/xpra/server/window/window_source.py +++ b/xpra/server/window/window_source.py @@ -321,6 +321,12 @@ def add_encoder(self, encoding, encoder): self._all_encoders.setdefault(encoding, []).insert(0, encoder) self._encoders[encoding] = encoder + def append_encoder(self, encoding, encoder): + log("append_encoder(%s, %s)", encoding, encoder) + self._all_encoders.setdefault(encoding, []).append(encoder) + if encoding not in self._encoders: + self._encoders[encoding] = encoder + def init_encoders(self): self._all_encoders = {} self._encoders = {} diff --git a/xpra/server/window/window_video_source.py b/xpra/server/window/window_video_source.py index e35e17450b..ad5e1767fe 100644 --- a/xpra/server/window/window_video_source.py +++ b/xpra/server/window/window_video_source.py @@ -143,7 +143,7 @@ def init_encoders(self): self.video_encodings = tuple(x for x in self.video_helper.get_encodings() if x in self.server_core_encodings) video_enabled = [] for x in self.video_encodings: - self.add_encoder(x, self.video_encode) + self.append_encoder(x, self.video_encode) video_enabled.append(x) #video_encode() is used for more than just video encoders: #(always enable it and let it fall through)