diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-11-11 03:02:14 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-11-11 03:02:14 +0000 |
| commit | 6ab0c6597ccd51505adfe339f0a1f5635c0c33cd (patch) | |
| tree | 076447b8d69b9f7c91c880e476c5c3f3748f62a9 /lib/driver/avswitch.cpp | |
| parent | 3ecb0722853935abc76d50d5ce43ac52d8f3fa80 (diff) | |
| download | enigma2-6ab0c6597ccd51505adfe339f0a1f5635c0c33cd.tar.gz enigma2-6ab0c6597ccd51505adfe339f0a1f5635c0c33cd.zip | |
simplify&correct&addnewfeature aspect handling
Diffstat (limited to 'lib/driver/avswitch.cpp')
| -rw-r--r-- | lib/driver/avswitch.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
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) |
