diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-25 19:07:44 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-25 19:07:44 +0100 |
| commit | 7b2563cd3851bb8deb9aed6e2043b87b1fc5b063 (patch) | |
| tree | 3cecf9b6cd626893f06752c5039f1532a1dbb80c /lib/service/servicedvb.cpp | |
| parent | 371e23c22dcec461ee3fbc8c989859cd08717b3d (diff) | |
| download | enigma2-7b2563cd3851bb8deb9aed6e2043b87b1fc5b063.tar.gz enigma2-7b2563cd3851bb8deb9aed6e2043b87b1fc5b063.zip | |
some refcounting fixes and speedups
Diffstat (limited to 'lib/service/servicedvb.cpp')
| -rw-r--r-- | lib/service/servicedvb.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 4141236a..f3183fef 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -109,7 +109,7 @@ static void PutToDict(ePyObject &dict, const char*key, long value) eDebug("could not create PyObject for %s", key); } -extern void PutToDict(ePyObject &dict, const char*key, const char *value); +extern void PutToDict(ePyObject &dict, const char*key, const char *value); // defined in dvb/frontend.cpp void PutSatelliteDataToDict(ePyObject &dict, eDVBFrontendParametersSatellite &feparm) { @@ -2197,8 +2197,8 @@ PyObject *eDVBServicePlay::getCutList() for (std::multiset<struct cueEntry>::iterator i(m_cue_entries.begin()); i != m_cue_entries.end(); ++i) { ePyObject tuple = PyTuple_New(2); - PyTuple_SetItem(tuple, 0, PyLong_FromLongLong(i->where)); - PyTuple_SetItem(tuple, 1, PyInt_FromLong(i->what)); + PyTuple_SET_ITEM(tuple, 0, PyLong_FromLongLong(i->where)); + PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong(i->what)); PyList_Append(list, tuple); Py_DECREF(tuple); } @@ -3020,23 +3020,23 @@ RESULT eDVBServicePlay::stream(ePtr<iStreamableService> &ptr) return 0; } +extern void PutToDict(ePyObject &dict, const char*key, ePyObject item); // defined in dvb/frontend.cpp + PyObject *eDVBServicePlay::getStreamingData() { eDVBServicePMTHandler::program program; if (m_service_handler.getProgramInfo(program)) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } - PyObject *r = program.createPythonObject(); + ePyObject r = program.createPythonObject(); ePtr<iDVBDemux> 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; |
