fix: remember video mode if it has been changed
[enigma2.git] / lib / driver / avswitch.cpp
index 35df9388a2b3e765382b2ae65cd4fca844c4bb1e..8110049b072450eedb26821f5a9b511dba51279a 100644 (file)
@@ -14,6 +14,7 @@ eAVSwitch::eAVSwitch()
 {
        ASSERT(!instance);
        instance = this;
+       m_video_mode = 0;
 }
 
 eAVSwitch::~eAVSwitch()
@@ -132,6 +133,10 @@ void eAVSwitch::setVideomode(int mode)
 {
        char *pal="pal";
        char *ntsc="ntsc";
+       
+       if (mode == m_video_mode)
+               return;
+       
        int fd;
 
        if((fd = open("/proc/stb/video/videomode", O_WRONLY)) < 0) {
@@ -147,6 +152,8 @@ void eAVSwitch::setVideomode(int mode)
                        break;
        }
        close(fd);
+
+       m_video_mode = mode;
 }
 
 void eAVSwitch::setWSS(int val) // 0 = auto, 1 = auto(4:3_off)