From b4a233ef2e6afc0233c7beb1beb47af5fedfac3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Fri, 30 Oct 2020 19:32:52 +0100 Subject: [PATCH] remove xorg ValidScreenSize double checking. --- internal/remote/manager.go | 19 +++++-------------- internal/xorg/xorg.go | 16 +--------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/internal/remote/manager.go b/internal/remote/manager.go index 19f803bd..0fcdba13 100644 --- a/internal/remote/manager.go +++ b/internal/remote/manager.go @@ -53,9 +53,7 @@ func (manager *RemoteManager) Start() { Str("screen_resolution", fmt.Sprintf("%dx%d@%d", manager.config.ScreenWidth, manager.config.ScreenHeight, manager.config.ScreenRate)). Msgf("Setting screen resolution...") - if !xorg.ValidScreenSize(manager.config.ScreenWidth, manager.config.ScreenHeight, manager.config.ScreenRate) { - manager.logger.Warn().Msgf("invalid screen option %dx%d@%d", manager.config.ScreenWidth, manager.config.ScreenHeight, manager.config.ScreenRate) - } else if err := xorg.ChangeScreenSize(manager.config.ScreenWidth, manager.config.ScreenHeight, manager.config.ScreenRate); err != nil { + if err := xorg.ChangeScreenSize(manager.config.ScreenWidth, manager.config.ScreenHeight, manager.config.ScreenRate); err != nil { manager.logger.Warn().Err(err).Msg("unable to change screen size") } @@ -167,26 +165,19 @@ func (manager *RemoteManager) createAudioPipeline() { } func (manager *RemoteManager) ChangeResolution(width int, height int, rate int) error { - if !xorg.ValidScreenSize(width, height, rate) { - return fmt.Errorf("unknown configuration") - } - manager.video.DestroyPipeline() manager.broadcast.Stop() defer func() { + manager.createVideoPipeline() + manager.video.Start() manager.broadcast.Start() manager.logger.Info().Msg("starting video pipeline...") }() - - if err := xorg.ChangeScreenSize(width, height, rate); err != nil { - return err - } - - manager.createVideoPipeline() - return nil + + return xorg.ChangeScreenSize(width, height, rate) } func (manager *RemoteManager) Move(x, y int) { diff --git a/internal/xorg/xorg.go b/internal/xorg/xorg.go index ebe25baf..b4bd10dd 100644 --- a/internal/xorg/xorg.go +++ b/internal/xorg/xorg.go @@ -165,20 +165,6 @@ func CheckKeys(duration time.Duration) { } } -func ValidScreenSize(width int, height int, rate int) bool { - for _, size := range ScreenConfigurations { - if size.Width == width && size.Height == height { - for _, fps := range size.Rates { - if int16(rate) == fps { - return true - } - } - } - } - - return false -} - func ChangeScreenSize(width int, height int, rate int) error { mu.Lock() defer mu.Unlock() @@ -194,7 +180,7 @@ func ChangeScreenSize(width int, height int, rate int) error { } } - return fmt.Errorf("unknown configuration") + return fmt.Errorf("Unknown screen configuration %dx%d@%d.", width, height, rate) } func GetScreenSize() *types.ScreenSize {