X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6e0ba22a2e8859a4a415b2650805794d801cd4d8..e2396e2fde72ce1e605623e46cb4f2ddfb63740b:/lib/driver/avswitch.cpp diff --git a/lib/driver/avswitch.cpp b/lib/driver/avswitch.cpp index c018b43b..80c7755b 100644 --- a/lib/driver/avswitch.cpp +++ b/lib/driver/avswitch.cpp @@ -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)