fix seeking in filepush
[enigma2.git] / lib / driver / avswitch.cpp
index b5c8250ecfffdfaecca1abdebf98e8fb5b29442d..80c7755bef966862fb159e168cc4eb1ec53617a3 100644 (file)
@@ -65,28 +65,24 @@ void eAVSwitch::setAspectRatio(int ratio)
        3-16:9 forced
        */
        
-       char *any="any";
-       char *norm="4:3";
-       char *wide="16:9";
-       int fd;
+       char *aspect[] = {"4:3", "4:3", "any", "16:9"};
+       char *policy[] = {"letterbox", "panscan", "bestfit", "panscan"};
 
+       int fd;
        if((fd = open("/proc/stb/video/aspect", O_WRONLY)) < 0) {
                printf("cannot open /proc/stb/video/aspect\n");
                return;
        }
-       switch(ratio) {
-               case 0:
-                       write(fd, any, strlen(any));
-                       break;
-               case 1:
-                       write(fd, norm, strlen(norm));
-                       break;
-               case 2:
-               case 3:
-                       write(fd, wide, strlen(wide));
-                       break;
-       }       
+       write(fd, aspect[ratio], strlen(aspect[ratio]));
        close(fd);
+
+       if((fd = open("/proc/stb/video/policy", O_WRONLY)) < 0) {
+               printf("cannot open /proc/stb/video/policy\n");
+               return;
+       }
+       write(fd, policy[ratio], strlen(policy[ratio]));
+       close(fd);
+
 }
 
 void eAVSwitch::setVideomode(int mode)
@@ -105,7 +101,7 @@ void eAVSwitch::setVideomode(int mode)
                case 0:
                        write(fd, pal, strlen(pal));
                        break;
-               case 3:
+               case 1:
                        write(fd, ntsc, strlen(ntsc));
                        break;
        }