git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add ResourceManager for handling resources in inter plugin communication
[enigma2.git]
/
lib
/
python
/
Components
/
AVSwitch.py
diff --git
a/lib/python/Components/AVSwitch.py
b/lib/python/Components/AVSwitch.py
index 7ac2bb98081a7555d1f5cca2a868aca9a4e1900b..1f529cfd86a95ee00e906f9fee433bdd3275816d 100644
(file)
--- a/
lib/python/Components/AVSwitch.py
+++ b/
lib/python/Components/AVSwitch.py
@@
-1,5
+1,5
@@
from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, ConfigEnableDisable, ConfigSubsection, ConfigBoolean
from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, ConfigEnableDisable, ConfigSubsection, ConfigBoolean
-from enigma import eAVSwitch
+from enigma import eAVSwitch
, getDesktop
from SystemInfo import SystemInfo
class AVSwitch:
from SystemInfo import SystemInfo
class AVSwitch:
@@
-29,19
+29,26
@@
class AVSwitch:
eAVSwitch.getInstance().setVideomode(value)
def getOutputAspect(self):
eAVSwitch.getInstance().setVideomode(value)
def getOutputAspect(self):
+ valstr = config.av.aspectratio.value
if valstr in ("4_3_letterbox", "4_3_panscan"): # 4:3
if valstr in ("4_3_letterbox", "4_3_panscan"): # 4:3
- return
1.333333333
+ return
(4,3)
elif valstr == "16_9": # auto ... 4:3 or 16:9
elif valstr == "16_9": # auto ... 4:3 or 16:9
- # TODO: here we must retrieve the current video aspect ratio...
- # because the TV can run in 4:3 or in 16:9 mode.. (switched by wss or scart pin8)
- # until we have done this we always return the scale value for 16:9!!
- return 1.777777778
+ try:
+ aspect_str = open("/proc/stb/vmpeg/0/aspect", "r").read()
+ if aspect_str == "1": # 4:3
+ return (4,3)
+ except IOError:
+ pass
elif valstr in ("16_9_always", "16_9_letterbox"): # 16:9
elif valstr in ("16_9_always", "16_9_letterbox"): # 16:9
- return 1.777777778
+ pass
elif valstr in ("16_10_letterbox", "16_10_panscan"): # 16:10
elif valstr in ("16_10_letterbox", "16_10_panscan"): # 16:10
- return 1.6
- print "unknown output aspect!"
- return 1.0000
+ return (16,10)
+ return (16,9)
+
+ def getFramebufferScale(self):
+ aspect = self.getOutputAspect()
+ fb_size = getDesktop(0).size()
+ return (aspect[0] * fb_size.height(), aspect[1] * fb_size.width())
def getAspectRatioSetting(self):
valstr = config.av.aspectratio.value
def getAspectRatioSetting(self):
valstr = config.av.aspectratio.value