ich hab das jetzt mal probiert...
habe in meiner routine "startDecode" durch "startDecodeBuffer" ersetzt und die jpg-daten vorher von einem jpg-file eingelesen.
habe sowohl mit den daten direkt als auch mit bytes(daten) probiert... crasht leider.
Reichi: hast du vielleicht noch einen tipp? danke.
swig director exception (SWIG director method error.)
0x8ec204(sp=0x7fe1aabdb0) <SwigDirector_eSlot0X::cb_func()+260>
0x538b04(sp=0x7fe1aabde0) <eTimer::activate()+388>
0x539aa8(sp=0x7fe1aabe60) <eMainloop_native::processOneEvent(int)+520>
0x7d8e48(sp=0x7fe1aacf60) <eMainloopQt::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+176>
0x7fa7ce649c(sp=0x7fe1aad0c0) <QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+244>
0x7fa7cef020(sp=0x7fe1aad140) <QCoreApplication::exec()+136>
0x7d8d74(sp=0x7fe1aad190) <eMainloopQt::runLoop()+28>
0x7df5f8(sp=0x7fe1aad1b0) <KeyEvent::qt_metacall(QMetaObject::Call, int, void**)+7552>
0x7fa76272cc(sp=0x7fe1aad1d0) <PyEval_EvalFrameEx+21052>
Traceback (most recent call last):
File "/usr/lib/enigma2/python/enigma.py", line 15838, in __call__
return ret(*args, **kwargs)
File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/MovieCockpit.py", line 281, in updateInfoDelayed
self["Cover"].newService(service)
File "/usr/lib/enigma2/python/Components/Sources/ServiceEvent.py", line 32, in newService
self.changed((self.CHANGED_ALL,))
File "/usr/lib/enigma2/python/Components/Element.py", line 89, in changed
self.downstream_elements.changed(*args, **kwargs)
File "/usr/lib/enigma2/python/Tools/CList.py", line 7, in __call__
x(*args, **kwargs)
File "/usr/lib/enigma2/python/Components/Renderer/COCCover.py", line 65, in changed
self.picload.startDecodeBuffer(cover_bytes, len(cover_bytes), True)
-------
ValueError: inner element 0 is not a long
Display More
hier der code:
def changed(self, what):
if self.instance is not None:
if what[0] != self.CHANGED_CLEAR:
cover = self.source.cover
path = "/tmp/cover.jpg"
scale = AVSwitch().getFramebufferScale()
size = self.instance.size()
self.picload_conn = self.picload.PictureData.connect(self.displayPixmapCallback)
self.picload.setPara((size.width(), size.height(), scale[0], scale[1], False, 1, "#ff000000"))
#self.picload.startDecode(path, True)
f = open("/tmp/cover.jpg", "rb")
cover_data = f.read()
f.close()
#cover_bytes = cover_data
cover_bytes = bytes(cover_data)
if len(cover_bytes):
self.picload.startDecodeBuffer(cover_bytes, len(cover_bytes), True)
else:
self.instance.setPixmap(gPixmapPtr())
def displayPixmapCallback(self, picinfo=None):
if self.picload and picinfo:
self.instance.setPixmap(self.picload.getData())
Display More