Hallo zusammen
Seit Tagen kämpfe ich schon mit diesem Fehler. Ich habe lokal auf der Dreambox eine Bild-Datei die sich alle 100ms oder schneller aktualisiert. Ich möchte nun diese auf einem Screen anzeigen lassen und so schnell es geht aktualisieren. Dies geschieht mit ePicLoad und läuft eigentlich super. Ich kriege ein flüssiges Bild hin! Bis die Kiste nach 2,5 Minuten abstürzt. GSoD! (Green Screen of Death)
Fehler:
([Failure instance: Traceback (failure with no frames): : [Errno 24] Too many open files: /......'])
Es scheint so als ob ePicLoad das Bild nach dem Lesen nicht mehr richtig schliesst! Ich habe in der Konsole die Anzahl der offenen Dateien ausgegeben und der Zähler steigt beim Laden der Bilder ins Unermessliche!
Folgender Code habe ich dafür geschrieben:
...
self.setupPicLoader()
self.onLayoutFinish.append(self.layoutFinished)
def setupPicLoader(self):
self.picload = ePicLoad()
self.picload.PictureData.get().append(self.imageLoaded)
sc = AVSwitch().getFramebufferScale()
self.picload.setPara((400, 300, sc[0], sc[1], False, 1, '#00000000'))
def imageLoaded(self, picInfo = None):
ptr = self.picload.getData()
if ptr is not None:
self["img"].instance.setPixmap(ptr.__deref__())
self.picload.startDecode(Settings.TMP_STREAM_NAME + "." + self.imagetype)
def layoutFinished(self):
self.setTitle(self.mainTitle)
if config.plugins.InfoServer.scaleImage.value and self.imagetype.lower() == "jpg":
if self.doRefreshing:
self.picload.startDecode(Settings.TMP_STREAM_NAME + "." + self.imagetype)
...
Alles anzeigen
Ich habe tausende von Plugins untersucht, wie sie die Bilder laden und ich kann leider keinen Unterschied erkennen. Ich habe viel experimentiert, doch schlussendlich hat nichts genützt. Könnte das allenfalls ein Fehler von Enigma sein?
Gruss