-extern GSList *di_list;
-
-struct srd_pipeline {
- int id;
- GSList *decoders;
-};
-
-
-
-static PyObject *Decoder_init(PyObject *self, PyObject *args)
-{
- (void)self;
- (void)args;
-// printf("init object %x\n", self);
-
- Py_RETURN_NONE;
-}
-
-struct srd_decoder_instance *get_di_by_decobject(void *decobject);
-
-static PyObject *Decoder_put(PyObject *self, PyObject *args)
-{
- GSList *l;
- PyObject *data;
- struct srd_decoder_instance *di;
- struct srd_pd_output *pdo;
- uint64_t timeoffset, duration;
- int output_id;
-
- if (!(di = get_di_by_decobject(self)))
- return NULL;
-
- if (!PyArg_ParseTuple(args, "KKiO", &timeoffset, &duration, &output_id, &data))
- return NULL;
-
- printf("put: %s instance %p time %" PRIu64 " duration %" PRIu64 " ",
- di->decoder->name, di, timeoffset, duration);
-
- if (!(l = g_slist_nth(di->pd_output, output_id)))
- /* PD supplied invalid output id */
- /* TODO: better error message */
- return NULL;
- pdo = l->data;
-
- printf("stream %d: ", pdo->output_type);
- PyObject_Print(data, stdout, Py_PRINT_RAW);
- puts("");
-
- Py_RETURN_NONE;
-}
-
-
-static PyObject *Decoder_output_new(PyObject *self, PyObject *py_output_type)
-{
- PyObject *ret;
- struct srd_decoder_instance *di;
- char *protocol_id, *description;
- int output_type, pdo_id;
-
- if (!(di = get_di_by_decobject(self)))
- return NULL;
-
- printf("output_new di %s\n", di->decoder->name);
-
-// if (!PyArg_ParseTuple(args, "i:output_type,s:protocol_id,s:description",
-// &output_type, &protocol_id, &description))
- if (!PyArg_ParseTuple(py_output_type, "i:output_type", &output_type))
- return NULL;
-
- protocol_id = "i2c";
- description = "blah";
- pdo_id = pd_output_new(di, output_type, protocol_id, description);
- if (pdo_id < 0)
- Py_RETURN_NONE;
- else
- ret = Py_BuildValue("i", pdo_id);
-
- return ret;
-}