self["blue"] = Label()
info = eServiceCenter.getInstance().info(serviceref)
self.transponder_info = info.getInfoObject(serviceref, iServiceInformation.sTransponderData)
+ # info is a iStaticServiceInformation, not a iServiceInformation
+ self.info = None
+ self.feinfo = None
else:
self.type = TYPE_SERVICE_INFO
self["red"] = Label(_("Serviceinfo"))
def information(self):
if self.type == TYPE_SERVICE_INFO:
- if self.session.nav.getCurrentlyPlayingServiceReference() is not None:
+ if self.session.nav.getCurrentlyPlayingServiceReference():
name = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()).getServiceName()
else:
name = "N/A"
aspect = "4:3"
else:
aspect = "16:9"
- Labels = ( ("Name", name, TYPE_TEXT),
- ("Provider", self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
- ("Videoformat", aspect, TYPE_TEXT),
- ("Videosize", "%dx%d" %(self.getServiceInfoValue(iServiceInformation.sVideoWidth), self.getServiceInfoValue(iServiceInformation.sVideoHeight)), TYPE_TEXT),
- ("Namespace", self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8))
+ width = self.info and self.info.getInfo(iServiceInformation.sVideoWidth) or -1
+ height = self.info and self.info.getInfo(iServiceInformation.sVideoHeight) or -1
+ if width != -1 and height != -1:
+ Labels = ( ("Name", name, TYPE_TEXT),
+ ("Provider", self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
+ ("Videoformat", aspect, TYPE_TEXT),
+ ("Videosize", "%dx%d" %(width, height), TYPE_TEXT),
+ ("Namespace", self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8))
+ else:
+ Labels = ( ("Name", name, TYPE_TEXT),
+ ("Provider", self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
+ ("Videoformat", aspect, TYPE_TEXT),
+ ("Namespace", self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8))
self.fillList(Labels)
else:
if self.transponder_info: