git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
5264f2c
)
fix refcounts
author
Felix Domke
<tmbinc@elitedvb.net>
Fri, 5 Jan 2007 15:12:38 +0000
(15:12 +0000)
committer
Felix Domke
<tmbinc@elitedvb.net>
Fri, 5 Jan 2007 15:12:38 +0000
(15:12 +0000)
lib/dvb/pmt.cpp
patch
|
blob
|
history
diff --git
a/lib/dvb/pmt.cpp
b/lib/dvb/pmt.cpp
index 1b1455e4f58c01dc78efee438a82156db10659ec..7f560c8e6c7d9b0227fc17d48bb939f5ed617b36 100644
(file)
--- a/
lib/dvb/pmt.cpp
+++ b/
lib/dvb/pmt.cpp
@@
-865,36
+865,42
@@
static PyObject *createTuple(int pid, const char *type)
return r;
}
return r;
}
+static inline PyList_AppendSteal(PyObject *list, PyObject *item)
+{
+ PyList_Append(list, item);
+ Py_DECREF(item);
+}
+
PyObject *eDVBServicePMTHandler::program::createPythonObject()
{
PyObject *r = PyDict_New();
PyObject *l = PyList_New(0);
PyObject *eDVBServicePMTHandler::program::createPythonObject()
{
PyObject *r = PyDict_New();
PyObject *l = PyList_New(0);
- PyList_Append(l, createTuple(0, "pat"));
+ PyList_Append
Steal
(l, createTuple(0, "pat"));
if (pmtPid != -1)
if (pmtPid != -1)
- PyList_Append(l, createTuple(pmtPid, "pmt"));
+ PyList_Append
Steal
(l, createTuple(pmtPid, "pmt"));
for (std::vector<eDVBServicePMTHandler::videoStream>::const_iterator
i(videoStreams.begin());
i != videoStreams.end(); ++i)
for (std::vector<eDVBServicePMTHandler::videoStream>::const_iterator
i(videoStreams.begin());
i != videoStreams.end(); ++i)
- PyList_Append(l, createTuple(i->pid, "video"));
+ PyList_Append
Steal
(l, createTuple(i->pid, "video"));
for (std::vector<eDVBServicePMTHandler::audioStream>::const_iterator
i(audioStreams.begin());
i != audioStreams.end(); ++i)
for (std::vector<eDVBServicePMTHandler::audioStream>::const_iterator
i(audioStreams.begin());
i != audioStreams.end(); ++i)
- PyList_Append(l, createTuple(i->pid, "audio"));
+ PyList_Append
Steal
(l, createTuple(i->pid, "audio"));
for (std::vector<eDVBServicePMTHandler::subtitleStream>::const_iterator
i(subtitleStreams.begin());
i != subtitleStreams.end(); ++i)
for (std::vector<eDVBServicePMTHandler::subtitleStream>::const_iterator
i(subtitleStreams.begin());
i != subtitleStreams.end(); ++i)
- PyList_Append(l, createTuple(i->pid, "subtitle"));
+ PyList_Append
Steal
(l, createTuple(i->pid, "subtitle"));
- PyList_Append(l, createTuple(pcrPid, "pcr"));
+ PyList_Append
Steal
(l, createTuple(pcrPid, "pcr"));
if (textPid != -1)
if (textPid != -1)
- PyList_Append(l, createTuple(textPid, "text"));
+ PyList_Append
Steal
(l, createTuple(textPid, "text"));
PyDict_SetItemString(r, "pids", l);
return r;
PyDict_SetItemString(r, "pids", l);
return r;