+2004-07-13 Johan Dahlin <johan@gnome.org>
+
+ * testsuite/event.py (EventFileSrcTest.setUp): Start the pipeline,
+ so we don't get warnings when sending events
+ (EventTest.setUp): Ditto.
+
+ * testsuite/pad.py: New test, only testing simple pad queries so far.
+
+ * testsuite/Makefile.am (tests): Add missing tests
+
+ * gst/gst.override (_wrap_gst_pad_query): Raise RuntimeError if
+ the return value is False and only return the queried value.
+
2004-07-02 David Schleef <ds@schleef.org>
* configure.ac: Correctly check for XML tools. Correctly set
-Subproject commit 1af22afdec71295108f882c828e08f10d8a3e94b
+Subproject commit 8f16cd236828a8bb7be51696029e0e24b7a6c517
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstPad.query", kwlist, &type, &format))
return NULL;
+
value = 0;
ret = gst_pad_query(GST_PAD(self->obj), type, &format, &value);
- return Py_BuildValue("(bL)", ret, value);
+ if (!ret) {
+ PyErr_SetString(PyExc_RuntimeError, "query could not be performed");
+ return NULL;
+ }
+
+ return PyInt_FromLong(value);
}
%%
override gst_element_query kwargs
tests = \
- caps.py \
+ buffer.py \
+ caps.py \
common.py \
element.py \
- interface.py \
- pipeline.py
+ event.py \
+ interface.py \
+ pad.py \
+ pipeline.py
check-local:
@PYTHONPATH=$(top_builddir):$(top_builddir)/gst/.libs $(PYTHON) $(srcdir)/runtests.py
def setUp(self):
pipeline = gst.parse_launch('fakesrc ! fakesink name=sink')
self.sink = pipeline.get_by_name('sink')
+ pipeline.set_state(gst.STATE_PLAYING)
def testEventEmpty(self):
event = gst.Event(gst.EVENT_EMPTY)
self.source = self.pipeline.get_by_name('source')
self.sink = self.pipeline.get_by_name('sink')
self.sink.connect('handoff', self.handoff_cb)
+ self.pipeline.set_state(gst.STATE_PLAYING)
def tearDown(self):
assert self.pipeline.set_state(gst.STATE_PLAYING)
--- /dev/null
+from common import gst, unittest
+
+class PadTest(unittest.TestCase):
+ def setUp(self):
+ self.pipeline = gst.parse_launch('fakesrc name=source ! fakesink')
+ src = self.pipeline.get_by_name('source')
+ self.sink = src.get_pad('src')
+
+ def testQuery(self):
+ assert self.sink.query(gst.QUERY_TOTAL, gst.FORMAT_BYTES) == -1
+ assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_BYTES) == 0
+ assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_TIME) == 0
+
+if __name__ == "__main__":
+ unittest.main()
+
--- /dev/null
+from common import gst, unittest
+
+class PadTest(unittest.TestCase):
+ def setUp(self):
+ self.pipeline = gst.parse_launch('fakesrc name=source ! fakesink')
+ src = self.pipeline.get_by_name('source')
+ self.sink = src.get_pad('src')
+
+ def testQuery(self):
+ assert self.sink.query(gst.QUERY_TOTAL, gst.FORMAT_BYTES) == -1
+ assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_BYTES) == 0
+ assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_TIME) == 0
+
+if __name__ == "__main__":
+ unittest.main()
+