This patch adds overrides to support IntRange, Int64Range, DoubleRange,
FractionRange, Array and List. For integer ranges, it maps this
to python 'range'. Gst.IntRange() and Gst.Int64Range() are simple cast
to let the underlying code know which GType to use. To set such range in
python you will do:
structure["range"] = Gst.IntRange(range(0,10,2)))
Same for the 64 bit variant. And when you do:
r = structure.get_value("range")
A range will be returned directly, without the wrapper. For DoubleRange
and FractionRange, there is no native support in python. So the usage
will be:
structure["range"] = Gst.DoubleRange(0,10.0)
structure["range"] =
Gst.FractionRange(Gst.Fraction(1/30), Gst.Fraction(1/5)
When getting this value, Gst.DoubleRange and Gst.FractionRange class are
returned. They both have start/stop members. The naming was taken from
range type.
For Array and List, both uses the native list type, though they can be
constructed from any python sequence. So again, the class is just like
a cast, to let it pick the right GType and python list are being
returned.
structure["list"] = Gst.ValueList([1,2,3,4])
structure["array"] = Gst.ValueArray([1,2,3,4)
Using string and tuple could also work. Since Gst.ValueList/Array are
sequence, you can convert one to the other with:
list = Gst.ValueList([1,2,3,4])
array = Gst.ValueArray (list)
https://bugzilla.gnome.org/show_bug.cgi?id=753754
Summary:
Simplify the Makefile taking example on pitivi and copy several pitivi
testing files, simplifying them a bit for our use case
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D97
Original commit message from CVS:
* gst/Makefile.am:
* gst/common.h:
* gst/pbutils.defs:
* gst/pbutils.override:
* gst/pbutilsmodule.c: (initpbutils):
new gst.pbutils module that wraps the gst-plugins-base pbutils
helper library.
* testsuite/Makefile.am:
* testsuite/common.py:
* testsuite/test_pbutils.py:
Test case for gst.pbutils
Fixes#472822
Original commit message from CVS:
* gst/gsttaglist.override (_wrap_gst_tag_list_contains):
* testsuite/test_taglist.py (TestTagList.testKeys):
Implement sq_contains and add tests for gst.TagList.
Original commit message from CVS:
* gst/gst.defs:
Update API definitions.
* gst/common.h:
* gst/gstpad.override:
Add wrapper functions for settings activate, activatepull and
activatepush functions on pads.
* gst/gst.override:
Wrapper for gst_segment_set_seek() and gst_segment_clip()
Remove global ignore for *_init(), allows gst_segment_init() to be
properly code-generated.
* testsuite/Makefile.am:
* testsuite/test_segment.py:
Add unit test for gst.Segment object.
Original commit message from CVS:
* configure.ac:
If pygobject is available, only build with it, else try to find pygtk
to stay compatible with older version.
* gst/Makefile.am:
Switch to pygobject CFLAGS.
* testsuite/Makefile.am:
Switch to pygobject CFLAGS.
Original commit message from CVS:
* testsuite/Makefile.am:
* testsuite/runtests.py:
* testsuite/cleanup.py:
Added cleanup file to initialize registry before running checks.
Added G_DEBUG=gc-friendly to valgrinding
Only test test_*.py files
Original commit message from CVS:
* pygst.py.in:
Don't import non-used modules
* testsuite/Makefile.am:
Heavy valgrinding por favor !
(%.valgrind): with always-malloc for GSlice
Original commit message from CVS:
* Makefile.am:
make check-valgrind calls make valgrind in the testsuite directory.
* testsuite/Makefile.am:
prepend $(top_srcdir) to PYTHONPATH for all tests so it uses the built
library and not the installed one.
* testsuite/python.supp:
Added suppressions discovered on x86/gentoo.
Original commit message from CVS:
* gst/pygstiterator.c:
Unref the return value, since the iterator refs them.
* testsuite/test_iterator.py:
Added more test cases, re-enabled gcverify now the bug is fixed
* gst/pygstminiobject.c: (pygstminiobject_register_wrapper),
(pygstminiobject_new), (pygstminiobject_dealloc):
Comments to better track the creation/destruction of PyGstMiniObject
Fixed naming (gst.GstMiniObject => gst.MiniObject)
* testsuite/python.supp:
Updated python specific valgrind suppressions to latest version and
added x86_64 cases
* testsuite/gstpython.supp:
Series of suppressions for errors/leaks not solvable within gst-python
* testsuite/Makefile.am:
Added gstpython.supp
Original commit message from CVS:
* gst/pygstminiobject.c: (pygstminiobject_register_wrapper),
(pygstminiobject_new), (pygstminiobject_dealloc):
Comments to better track the creation/destruction of PyGstMiniObject
Fixed naming (gst.GstMiniObject => gst.MiniObject)
* testsuite/python.supp:
Updated python specific valgrind suppressions to latest version and
added x86_64 cases
* testsuite/gstpython.supp:
Series of suppressions for errors/leaks not solvable within gst-python
* testsuite/Makefile.am:
Added gstpython.supp
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
* gst/gstbin.override:
deprecate add_many/remove_many, fold into add/remove
* gst/gstmodule.c: (init_gst):
add AddError and RemoveError
* testsuite/Makefile.am:
remove fatal warnings, until we can wrap log handlers
and catch our expected add/remove errors
* testsuite/test_bin.py:
add tests for new add/remove semantics
* testsuite/test_pad.py:
* testsuite/test_pipeline.py:
fix up
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
add another registry method
* testsuite/Makefile.am:
add check-verbose
* testsuite/runtests.py:
check for VERBOSE env var
* testsuite/test_pad.py:
refactor a test and add one more for probes
Original commit message from CVS:
* examples/gst/play.py:
* gst/gst-types.defs:
* gst/gst.override:
* testsuite/Makefile.am:
* testsuite/common.py:
* testsuite/event.py:
* testsuite/test_event.py:
Use gst.element_factory_make in play example
Use boxed instead of pointer for gst.Event, it was such an ugly
hack.
Ref the event when sending using gst.element_send_event.
Add a bunch of testcases (and a C module), renamed event to
test_event.py
Original commit message from CVS:
* testsuite/struct.py (StructureTest.testStructureChange): Enable
some tests.
* gst/gst.override (_wrap_gst_structure_ass_subscript): Impl
Original commit message from CVS:
* 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.
Original commit message from CVS:
* testsuite/pipeline.py (PipelineConstructor.testGoodConstructor)
(PipelineConstructor.testBadConstruct)
(ThreadConstructor.testCreate): New tests
* testsuite/element.py (ElementTest.testGoodConstructor): Add
isinstance(element, gst.Element) test
* testsuite/common.py: Clean up, use ltihooks
(init) Assign tp_new for pipeline and thread to PyType_GenericNew
for now.
Original commit message from CVS:
* testsuite/Makefile.am (check-local): distcheck fixes
* testsuite/common.py: Put in a couple of hacks to make distcheck
pass make check
* testsuite/interface.py: New test