@@ -30,7 +30,7 @@ use {ironrdp_dvc as dvc, ironrdp_rdpsnd as rdpsnd};
3030
3131use crate :: clipboard:: CliprdrServerFactory ;
3232use crate :: display:: { DisplayUpdate , RdpServerDisplay } ;
33- use crate :: encoder:: UpdateEncoder ;
33+ use crate :: encoder:: { UpdateEncoder , UpdateEncoderCodecs } ;
3434use crate :: handler:: RdpServerInputHandler ;
3535use crate :: { builder, capabilities, SoundServerFactory } ;
3636
@@ -663,7 +663,7 @@ impl RdpServer {
663663 }
664664 }
665665
666- let mut rfxcodec = None ;
666+ let mut update_codecs = UpdateEncoderCodecs :: new ( ) ;
667667 let mut surface_flags = CmdFlags :: empty ( ) ;
668668 for c in result. capabilities {
669669 match c {
@@ -714,14 +714,14 @@ impl RdpServer {
714714 rdp:: capability_sets:: RemoteFxContainer :: ClientContainer ( c) ,
715715 ) if self . opts . with_remote_fx => {
716716 for caps in c. caps_data . 0 . 0 {
717- rfxcodec = Some ( ( caps. entropy_bits , codec. id ) ) ;
717+ update_codecs . set_remotefx ( Some ( ( caps. entropy_bits , codec. id ) ) ) ;
718718 }
719719 }
720720 rdp:: capability_sets:: CodecProperty :: ImageRemoteFx (
721721 rdp:: capability_sets:: RemoteFxContainer :: ClientContainer ( c) ,
722722 ) if self . opts . with_remote_fx => {
723723 for caps in c. caps_data . 0 . 0 {
724- rfxcodec = Some ( ( caps. entropy_bits , codec. id ) ) ;
724+ update_codecs . set_remotefx ( Some ( ( caps. entropy_bits , codec. id ) ) ) ;
725725 }
726726 }
727727 rdp:: capability_sets:: CodecProperty :: NsCodec ( _) => ( ) ,
@@ -734,7 +734,7 @@ impl RdpServer {
734734 }
735735
736736 let desktop_size = self . display . lock ( ) . await . size ( ) . await ;
737- let encoder = UpdateEncoder :: new ( desktop_size, surface_flags, rfxcodec ) ;
737+ let encoder = UpdateEncoder :: new ( desktop_size, surface_flags, update_codecs ) ;
738738
739739 let state = self
740740 . client_loop ( reader, writer, result. io_channel_id , result. user_channel_id , encoder)
0 commit comments