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
The FSF has moved since these files were created. Update the address, in
order to keep packaging tools such as rpmlint quiet.
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
https://bugzilla.gnome.org/show_bug.cgi?id=715182
Setting gst.TAG_TRACK_NUMBER was failing because GStreamer
expects a uint while Python object -> GValue conversion was
giving an int. gst_tag_to_vorbis_comment was wrapped so
this conversion could be tested and failed on properly.
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:
* testsuite/common.py:
* testsuite/test_bin.py:
* testsuite/test_element.py:
* testsuite/test_ghostpad.py:
* testsuite/test_pad.py:
* testsuite/test_pipeline.py:
Fix unit tests for pygobject >= 2.13.0
See the pygobject bug #320428 for more information about the changes.
Original commit message from CVS:
* testsuite/common.py:
A private variable of unittest.TestCase changed name in python 2.5.
This fixes make check with python2.5
Original commit message from CVS:
* ltihooks.py:
Removed
* testsuite/common.py:
ltihooks is dead, long live gstltihooks. This should complete thomas'
fix of #357310.
Original commit message from CVS:
* gst/gst.defs:
Update for new API
* gst/gst.override:
Added unreffing for gst.Registry.get_plugin_list and .get_feature_list
* testsuite/common.py:
removed crude hack for gst.Registry and gst.Plugin
* testsuite/test_interface.py:
* testsuite/test_caps.py:
* testsuite/test_struct.py:
* testsuite/test_xml.py:
converted to using common's TestCase class
* testsuite/test_event.py:
Enabled/fixed previously non working test
* testsuite/test_registry.py:
Now uses common's TestCase class,
added special case setUp()
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gst.defs:
Updated to new API
* gst/gstbus.override:
bus.add_watch() now uses gst_bus_add_watch_full() using
pyg_destroy_notify as the DestroyNotify function, thus enabling
proper python garbage collection.
* testsuite/common.py:
Let's check refcounting of ALL gst.Object
* testsuite/test_bin.py:
Added debug
* testsuite/test_bus.py:
Added "message" signal version of test
Original commit message from CVS:
* gst/gst.override:
accurate line numbers for logging
* testsuite/common.py:
log when TestCase.setUp() and .tearDown() get called
* testsuite/test_ghostpad.py:
rework
Original commit message from CVS:
* gst/gstobject.override:
don't try and unref objects that are already finalizing
* gst/gstpad.override:
fix up the set_chainfunc method
* testsuite/common.py:
* testsuite/test_pad.py:
add linked/unlinked tests with no/true/false bufferprobes
Original commit message from CVS:
* testsuite/common.py:
provide a default setUp/tearDown
* testsuite/test_bin.py:
* testsuite/test_bus.py:
* testsuite/test_element.py:
* testsuite/test_pipeline.py:
adding/updating tests and gc tracking
Original commit message from CVS:
* gst/gst.defs:
parse_launch also owns the return ref
* gst/gstbin.override:
fix a leak in get_by_name()
* testsuite/common.py:
loop when garbage collecting; necessary when deleting, say,
a pipeline, that contains elements, to ensure the elements
also get collected
* testsuite/test_element.py:
* testsuite/test_pipeline.py:
test for garbage collection
Original commit message from CVS:
* testsuite/common.py:
add a common.TestCase class that has methods to track and verify
garbage collection of GstObject
* testsuite/test_pad.py:
use it
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/interface.py (Availability.testXOverlay): Extend to
test method calling on interfaces
* testsuite/common.py: call pygtk.require first
* gst/gstbin.override (_wrap_gst_bin_get_by_name): Add a
keyword argument recurse and remove
_wrap_gst_bin_get_by_name_recurse_up.
* gst/gst.override (_wrap_gst_element_get_pad_list): Split out bin
functions to ...
* gst/gstbin.override: .. this file
* gst/gst.defs (bin_new): allow NULL for first argument.
(child_state_change): Remove, it's private.
Original commit message from CVS:
* testsuite/event.py, testsuite/buffer.py: New tests.
* testsuite/common.py (run_silent): New function to enable stderr
even if an exception is raised.
* testsuite/element.py (FakeSinkTest.checkError): Better
state-error checking.
Original commit message from CVS:
* testsuite/runtests.py (gettestnames): Cleanup
* testsuite/element.py (FakeSinkTest): Enable again and disable
stderr while changing state to ready
(ElementName.testElementStateGetName): New function to test
gst.element_state_get_name.
* testsuite/common.py (path): Don't import ltihooks and proper
check for gst module. Add --gst-debug-no-color as a global option
(disable_stderr, enable_stderr): New functions to disable stdout
called from non python
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