X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6696994da0d59a3b483eda65d1dc8b1a9df67cc0..a9f7393e1d00eb89b8282aae0ddc4f6da33d9ca1:/lib/service/servicedvbrecord.cpp diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp index 89d022cc..b63776d4 100644 --- a/lib/service/servicedvbrecord.cpp +++ b/lib/service/servicedvbrecord.cpp @@ -363,23 +363,23 @@ RESULT eDVBServiceRecord::stream(ePtr &ptr) return 0; } +extern void PutToDict(ePyObject &dict, const char*key, ePyObject item); // defined in dvb/frontend.cpp + PyObject *eDVBServiceRecord::getStreamingData() { eDVBServicePMTHandler::program program; if (!m_tuned || m_service_handler.getProgramInfo(program)) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } - PyObject *r = program.createPythonObject(); + ePyObject r = program.createPythonObject(); ePtr demux; if (!m_service_handler.getDataDemux(demux)) { uint8_t demux_id; - demux->getCADemuxID(demux_id); - - PyDict_SetItemString(r, "demux", PyInt_FromLong(demux_id)); + if (!demux->getCADemuxID(demux_id)) + PutToDict(r, "demux", PyInt_FromLong(demux_id)); } return r;