Commit graph

35 commits

Author SHA1 Message Date
Nicolas Dufresne
a4566ffbc8 overrides: Add more GstValue overrides
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
2017-03-24 13:26:21 -04:00
Thibault Saunier
7b627c499d gst: Fix a crash when passing wrong type as __templates__ 2016-02-15 23:28:47 +01:00
Thibault Saunier
d97662ad41 test: Bring back the testsuite and test if the initialization override works
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
2015-04-24 09:17:02 +02:00
Simon Farnsworth
c889037e40 Fix zip code of new FSF address
I missed the zip code last time round - fix it. Thanks to Michael Schwendt
in https://bugzilla.redhat.com/show_bug.cgi?id=1034341#c11 for pointing this
out to me.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=720317
2013-12-12 11:35:41 +00:00
Simon Farnsworth
2ad767a74c Update FSF address
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
2013-11-26 15:28:53 +00:00
Alessandro Decina
a1584d04c5 Fix distcheck some more.
In testsuite/common.py look for gst/__init__.py in builddir now.
Clean gst/__init__.pyc after make check.
2010-11-22 14:18:05 +01:00
Thomas Vander Stichele
26fa6dd184 wrap gst_tag_to_vorbis_comment; fix uint tag setting
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.
2009-06-01 22:02:47 +02:00
Alessandro Decina
1cd54e6d45 Fix uninstalled usage with python 2.6. Fixes #576546
Also imports submodules as mentionned by Philippe Normand.
2009-04-11 16:22:06 +02:00
Edward Hervey
cd3d33a4a6 gst/: new gst.pbutils module that wraps the gst-plugins-base pbutils helper library.
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
2008-01-01 13:22:21 +00:00
Edward Hervey
f6294fea73 testsuite/: Fix unit tests for pygobject >= 2.13.0
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.
2007-10-09 14:27:18 +00:00
Edward Hervey
9a4fa9567c testsuite/common.py: A private variable of unittest.TestCase changed name in python 2.5.
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
2007-02-04 11:40:09 +00:00
Edward Hervey
460307745b ltihooks.py: Removed
Original commit message from CVS:
* ltihooks.py:
Removed
* testsuite/common.py:
ltihooks is dead, long live gstltihooks. This should complete thomas'
fix of #357310.
2006-09-29 09:53:11 +00:00
Edward Hervey
2aa12f0142 gst/gst.defs: Update for new API
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()
2005-10-14 16:26:17 +00:00
Edward Hervey
03f65e4179 gst/: Updated to new API
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
2005-10-13 15:56:16 +00:00
Edward Hervey
56f25a4653 gst/common.h: cleanup
Original commit message from CVS:
* gst/common.h:
cleanup
* gst/gst-types.defs:
* gst/gst.defs:
Updated defs file to current gstreamer core
* gst/gst.override:
Added useless function (at least from python bindings) and little correction
on _wrap_gst_xml_get_topelements()
* gst/gstbin.override:
* gst/gstbuffer.override:
Fix memleak in gst.Buffer.set_caps()
* gst/gstevent.override:
Added wrapper for remaining gst_event_parse_*()
* gst/gstlibs.override:
Wrapped more gst.Controller methods
* gst/gstmodule.c: (init_gst):
new gst_init()
Added atexit(gst_deinit)
* gst/gstpad.override:
Fix memleak in gst.Pad.set_caps()
* gst/gstquery.override:
add gst.Query.parse_segment()
* gst/libs.defs:
Updated to current gst-libs
* gst/pygstminiobject.c: (pygstminiobject_register_wrapper),
(pygstminiobject_new), (pygstminiobject_dealloc):
Added debug
* testsuite/Makefile.am:
* testsuite/common.py:
* testsuite/gstpython.supp:
* testsuite/python.supp:
* testsuite/test_bin.py:
* testsuite/test_buffer.py:
* testsuite/test_element.py:
* testsuite/test_event.py:
* testsuite/test_ghostpad.py:
* testsuite/test_iterator.py:
* testsuite/test_message.py:
* testsuite/test_pipeline.py:
Proper valgrind testing,
Updated tests to new API
2005-10-11 12:42:53 +00:00
Thomas Vander Stichele
86fb04a2dd all you racist colour haters should go work on another project
Original commit message from CVS:
all you racist colour haters should go work on another project
2005-10-06 09:19:49 +00:00
Thomas Vander Stichele
3441391866 gst/gst.override: accurate line numbers for logging
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
2005-10-05 22:33:50 +00:00
Thomas Vander Stichele
deb316e3fd gst/gstobject.override: don't try and unref objects that are already finalizing
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
2005-10-05 16:19:13 +00:00
Thomas Vander Stichele
0106325e8d disable the gc verification for the bus test; _async thread is causing a ref
Original commit message from CVS:
disable the gc verification for the bus test; _async thread is causing a ref
2005-09-30 08:23:13 +00:00
Thomas Vander Stichele
de81816a93 testsuite/common.py: provide a default setUp/tearDown
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
2005-09-28 15:48:10 +00:00
Thomas Vander Stichele
d1d42bd770 gst/gst.defs: parse_launch also owns the return ref
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
2005-09-28 14:20:03 +00:00
Thomas Vander Stichele
cb4e57360e testsuite/common.py: add a common.TestCase class that has methods to track and verify garbage collection of GstObject
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
2005-09-28 13:29:52 +00:00
Thomas Vander Stichele
633f644020 fix headers on tests
Original commit message from CVS:
fix headers on tests
2005-09-01 10:36:07 +00:00
Edward Hervey
8bc75a8b27 gst.play is gone in 0.9...
Original commit message from CVS:
* configure.ac:
* Makefile.am:
* gst/Makefile.am:
* testsuite/common.py:
gst.play is gone in 0.9...
2005-07-05 13:50:21 +00:00
Edward Hervey
c68afb5f53 Backport from 0.8 branch and added new .defs file from GStreamer 0.9
Original commit message from CVS:
Backport from 0.8 branch and added new .defs file from GStreamer 0.9
2005-06-17 10:59:47 +00:00
Johan Dahlin
2e23effc15 Use gst.element_factory_make in play example
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
2004-11-23 10:16:58 +00:00
Thomas Vander Stichele
45ba78cb85 two new tests, one that fails
Original commit message from CVS:
two new tests, one that fails
2004-08-06 17:38:42 +00:00
Johan Dahlin
3f630774bb testsuite/struct.py (StructureTest.testStructureChange): Enable some tests.
Original commit message from CVS:
* testsuite/struct.py (StructureTest.testStructureChange): Enable
some tests.

* gst/gst.override (_wrap_gst_structure_ass_subscript): Impl
2004-08-06 14:18:28 +00:00
Thomas Vander Stichele
f47aedab55 distcheck fix
Original commit message from CVS:
distcheck fix
2004-06-21 09:31:52 +00:00
Johan Dahlin
c0d4251e20 testsuite/interface.py (Availability.testXOverlay): Extend to test method calling on interfaces
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.
2004-05-24 10:30:05 +00:00
Johan Dahlin
54cab73355 testsuite/event.py, testsuite/buffer.py: New tests.
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.
2004-05-03 16:17:38 +00:00
Johan Dahlin
290df83671 testsuite/runtests.py (gettestnames): Cleanup
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
2004-05-01 15:35:32 +00:00
Johan Dahlin
f203f4826c testsuite/pipeline.py (PipelineConstructor.testGoodConstructor) (PipelineConstructor.testBadConstruct)
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.
2004-04-16 13:56:39 +00:00
Johan Dahlin
fba1f21b1d testsuite/Makefile.am (check-local): distcheck fixes
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
2004-03-17 12:41:08 +00:00
Johan Dahlin
8a810ece62 Add some tests
Original commit message from CVS:
Add some tests
2004-03-08 19:22:15 +00:00