Commit graph

38 commits

Author SHA1 Message Date
Jan Schmidt
777a4d59ec python: Fix some locking problems
Add some python pyg_begin_allow_threads/end_allow_threads when calling into some gstreamer functions that might
call into python.
2009-04-18 16:39:42 +01:00
Edward Hervey
6c881f6ab6 Re-opens #530417
Original commit message from CVS:
* gst/__init__.py:
* gst/gstelement.override:
* testsuite/test_element.py:
Revert 2008-05-08  Edward Hervey  <edward.hervey@collabora.co.uk>
Re-opens #530417
2008-06-13 11:11:38 +00:00
Johan Dahlin
98d6484e8c New 'fancy' constructor for gst.Element, allows creating elements in a more pythonic way (i.e. myelement = gst.Elemen...
Original commit message from CVS:
Patch by: Johan Dahlin  <johan at gnome dot org>
* gst/__init__.py:
* gst/gstelement.override:
* testsuite/test_element.py:
New 'fancy' constructor for gst.Element, allows creating elements in a
more pythonic way (i.e. myelement = gst.Element("oggmux")).
Fixes #530417
2008-05-08 14:06:45 +00:00
Edward Hervey
3e4ab3eeb1 gst/gstelement.override: Override the proxy method for GstElement::request_new_pad virtual methods since it can be ca...
Original commit message from CVS:
* gst/gstelement.override:
Override the proxy method for GstElement::request_new_pad virtual
methods since it can be called with NULL as the name.
Fixes #454259
2007-07-09 19:42:31 +00:00
Jan Schmidt
f77d66033d gst/gstelement.override: Release the python lock when performing GStreamer calls that might result in callbacks into ...
Original commit message from CVS:
* gst/gstelement.override:
Release the python lock when performing GStreamer calls that might
result in callbacks into python.
2007-04-13 11:26:43 +00:00
Edward Hervey
ebed604ed8 gst/: Repeat 100 times : "I shouldn't commit patches without checking them thoroughly, especially if they come from s...
Original commit message from CVS:
* gst/gstelement.override:
* gst/gstevent.override:
* gst/gstmessage.override:
* gst/gstquery.override:
Repeat 100 times : "I shouldn't commit patches without checking
them thoroughly, especially if they come from someone I trust".
Fix the broken Py_BuildValue.
2006-07-03 14:44:20 +00:00
Edward Hervey
c52a37cd82 gst/: Use Py_BuildValue to construct tuples.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* gst/gstelement.override:
* gst/gstevent.override:
* gst/gstmessage.override:
* gst/gstpad.override:
* gst/gstquery.override:
Use Py_BuildValue to construct tuples.
Use tuples for collection of different objects.
See http://www.python.org/doc/faq/general/#why-are-there-separate-tuple-and-list-data-types
* testsuite/test_event.py:
[message|query|event].parse_* now return tuples and not list.
Fixes #334548
2006-07-03 09:01:18 +00:00
Edward Hervey
1c5a18e82c Removal of all glib < 2.8 cruft since GStreamer core now requires glib >= 2.8
Original commit message from CVS:
Removal of all glib < 2.8 cruft since GStreamer core now requires
glib >= 2.8
* codegen/argtypes.py:
remove gstobject cruft from ObjectArg
* configure.ac:
Require glib >= 2.8.0
* gst/Makefile.am:
* gst/pygstobject.c:
* gst/pygstobject.h:
Remove pygstobject.[ch]
* gst/common.h:
Don't include removed header file.
* gst/gst.override:
* gst/gstbin.override:
* gst/gstbus.override:
* gst/gstelement.override:
* gst/gstelementfactory.override:
* gst/gstmessage.override:
* gst/gstobject.override:
* gst/gstpad.override:
* gst/interfaces.override:
* gst/pygstiterator.c: (pygst_iterator_iter_next):
Switch from using pygstobject* functions to using pygobject* functions.
* gst/gstmodule.c: (sink_gstobject), (init_gst):
Move GstObject sink function here and use standard gobject refcounting.
2006-07-02 15:25:04 +00:00
Edward Hervey
a48e8b6e6b gst/gst-types.defs: Added fields for GstPadTemplate.
Original commit message from CVS:
* gst/gst-types.defs:
Added fields for GstPadTemplate.
* gst/gst.defs:
Made gst_element_class_get_template_list a GstElement method.
* gst/gstelement.override:
Override for gst.Element.get_template_list()
* gst/gstpad.override:
Override getter for GstStaticPadTemplate.static_caps so that it uses
the correct pointer.
2006-06-14 10:00:32 +00:00
Andy Wingo
182840a50d gst/gstelement.override (_wrap_gst_element_link): Allow errors parsing the optional filter caps to propagate up.
Original commit message from CVS:
2006-04-07  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.override (_wrap_gst_element_link): Allow errors
parsing the optional filter caps to propagate up.
2006-04-07 14:54:49 +00:00
Edward Hervey
b6650fb5db gst/gstelement.override: So apparently 0 != O :)
Original commit message from CVS:
* gst/gstelement.override:
So apparently 0 != O :)
2005-11-04 18:30:47 +00:00
Edward Hervey
1912b5b2eb gst/gstelement.override: added wrapper for gst_element_query_duration()
Original commit message from CVS:
* gst/gstelement.override:
added wrapper for gst_element_query_duration()
* gst/gstpad.override:
added wrapper for gst_pad_query_duration()
Also converted some functions using fixed size PyList to use
PyList_SetItem instead of PyList_Append
Closes bug #320357
2005-11-01 18:19:08 +00:00
Thomas Vander Stichele
f2a5a97ac3 add gst.QueryError and use it
Original commit message from CVS:

* gst/gstelement.override:
* gst/pygstexception.c:
* gst/pygstexception.h:
* testsuite/test_element.py:
add gst.QueryError and use it
* testsuite/test_pad.py:
add some tests that show comparison between two different
Python objects wrapping the same MiniObject
2005-10-27 09:51:18 +00:00
Edward Hervey
b07e3f3cf8 gst/: Update (hopefully) final API modifications
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gst.defs:
Update (hopefully) final API modifications
* gst/gstelement.override:
* gst/gstpad.override:
* gst/gstquery.override:
Updated position querying/parsing
Removed useless debug line
* testsuite/test_element.py:
Updated test for new API
2005-10-19 17:32:29 +00:00
Edward Hervey
b06c5a8a9e gst/: Updated API
Original commit message from CVS:
* gst/gst.defs:
* gst/gst-types.defs:
Updated API
* gst/gstelement.override:
_wrap_gst_element_get_state: made wrapper behave more like codegen-ed
functions.
It now only takes an int or long as optional timeout argument, and if
there's no argument it will use GST_CLOCK_TIME_NONE
* testsuite/test_bin.py:
* testsuite/test_event.py:
* testsuite/test_ghostpad.py:
* testsuite/test_pipeline.py:
Updated testsuites for element.get_state() modifications
Added event parsing checks
Commented out test_ghostpad.PipeTest.testProbedLink til I find out why
"while self._handoffs < 10: pass" doesn't exit although it reaches
values way over 10
2005-10-19 15:04:25 +00:00
Thomas Vander Stichele
a96098cba8 gst/: update for latest API changes
Original commit message from CVS:
* gst/gst.defs:
* gst/gstmessage.override:
update for latest API changes
* gst/gstelement.override:
use GstClockTime for get_state
* testsuite/test_pad.py:
add logging
2005-10-19 11:45:34 +00:00
Thomas Vander Stichele
c72f87b682 update a test fix an uninited var
Original commit message from CVS:
update a test
fix an uninited var
2005-10-13 15:36:04 +00:00
Edward Hervey
f50c30441c examples/gstfile.py: misc fixes
Original commit message from CVS:
* examples/gstfile.py:
misc fixes
* gst/Makefile.am:
* gst/pygstexception.c:
* gst/pygstexception.h:
* gst/gstelementfactory.override:
* gst/gst.override:
* gst/gstpad.override:
* gst/gstmodule.c: (init_gst):
Added exceptions system by Alessandro Decina <alessandro@nnva.org>
Closes bug #315433
* gst/gstbus.override:
* gst/gstelement.override:
Fix for _wrap_gst_element_get_state()
* gst/gstobject.override:
More debug
2005-10-13 10:41:06 +00:00
Andy Wingo
46e1018e41 gst/gst.defs (gst_registry_scan_paths) (gst_element_abort_preroll, gst_plugin_check_file)
Original commit message from CVS:
2005-10-12  Andy Wingo  <wingo@pobox.com>

* gst/gst.defs (gst_registry_scan_paths)
(gst_element_abort_preroll, gst_plugin_check_file)
(gst_element_finish_preroll): Removed undefined symbols.

* gst/gstelement.override (_wrap_gst_element_get_state): Fix for
GstClockTime api change.
2005-10-12 14:31:53 +00:00
Thomas Vander Stichele
c37b502949 now we can send events to elements again
Original commit message from CVS:
* gst/gstelement.override:
* testsuite/test_event.py:
now we can send events to elements again
2005-10-09 16:02:42 +00:00
Andy Wingo
e1137284ce gst/gstelement.override (_wrap_gst_element_get_state): Drop the python lock while in get_state.
Original commit message from CVS:
2005-10-07  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.override (_wrap_gst_element_get_state): Drop the
python lock while in get_state.

* gst/__init__.py: Check the right module (i.e., the same check as
pygtk does).
2005-10-07 16:48:26 +00:00
Johan Dahlin
7534ba0486 Add GstIterator wrapping and tests.
Original commit message from CVS:
* codegen/argtypes.py:
* gst/Makefile.am:
* gst/common.h:
* gst/gst.defs:
* gst/gstbin.override:
* gst/gstelement.override:
* gst/pygstiterator.c: (pygst_iterator_dealloc),
(pygst_iterator_iter_next), (pygst_iterator_new):
* testsuite/test_iterator.py:
Add GstIterator wrapping and tests.
2005-10-07 01:21:57 +00:00
Thomas Vander Stichele
c032ce22d4 fix version numbers
Original commit message from CVS:
fix version numbers
2005-10-04 08:17:25 +00:00
Johan Dahlin
a630c4673a gst/gstelement.override (_wrap_gst_element_get_state): return an enum instead of an int.
Original commit message from CVS:
* gst/gstelement.override (_wrap_gst_element_get_state): return an
enum instead of an int.
2005-09-30 00:56:17 +00:00
Johan Dahlin
e07e65d842 gst/gstelement.override (_wrap_gst_element_get_state): Set the timeout to 0 as default
Original commit message from CVS:
* gst/gstelement.override (_wrap_gst_element_get_state): Set the
timeout to 0 as default
2005-09-29 02:38:07 +00:00
Edward Hervey
9ba2f7fbbe gst/: Remove dead code
Original commit message from CVS:
* gst/gst.override:
* gst/gstbin.override:
* gst/gstbuffer.override:
* gst/gstevent.override:
Remove dead code
* gst/gstelement.override:
Remove dead code and re-enable link with filtering and _send_event()
2005-09-28 15:19:44 +00:00
Thomas Vander Stichele
5768672390 gst/: add/move some code to handle wrapping/refcounting of possible
Original commit message from CVS:
* gst/Makefile.am:
* gst/common.h:
* gst/pygstobject.c: (pygstobject_sink), (pygstobject_new),
(pygst_object_unref):
* gst/pygstobject.h:
* gst/gstmodule.c: (init_gst):
add/move some code to handle wrapping/refcounting of possible
GstObject
* codegen/argtypes.py:
* gst/gstbin.override:
* gst/gstbus.override:
* gst/gstelement.override:
* gst/gstpad.override:
* gst/interfaces.override:
use this reffing code
* gst/gst-types.defs:
* gst/gst.override:
add a __gstrefcount__ field to GstObject types
add tp_traverse, tp_dealloc and tp_clear, so we handle refcounting
properly related to garbage collection
* testsuite/test_element.py:
* testsuite/test_pad.py:
add more tests, add some refcount checks
2005-09-28 12:17:29 +00:00
Thomas Vander Stichele
83f80e9942 wrap gst.Element.get_state, returning a tuple add tests for it
Original commit message from CVS:
wrap gst.Element.get_state, returning a tuple
add tests for it
2005-09-08 15:13:06 +00:00
Andy Wingo
52d5e11fa7 gst/: Update for core changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.override:
* gst/gstmessage.override:
* gst/gst-types.defs (State, StateChangeReturn, StateChange):
* gst/gst.defs (change_state): Update for core changes.
2005-09-02 16:21:45 +00:00
Andy Wingo
e3c70bcaeb /tmp/cvs3vKuoV
Original commit message from CVS:
/tmp/cvs3vKuoV
2005-08-16 16:47:45 +00:00
Edward Hervey
32dbfea730 Remove old documentation system
Original commit message from CVS:
* README-docs:
* configure.ac:
* Makefile.am:
Remove old documentation system
* gst/gst.defs:
* gst/gst-types.defs:
Updating defs files
* gst/gst.override:
Wrapped gst_flow_get_name() for const-gchar *
* gst/gstelement.override:
I really should test everything on 32 AND 64 bits systems...
* gst/gstevent.override:
Updated gst_event_new_seek() wrapper
Added gst_event_get_structure() wrapper
* gst/gstmodule.c:
Changed definition of gst.CLOCK_TIME_NONE to wrap GST_CLOCK_TIME_NONE
* testsuite/testhelpermodule.c:
gst_event_new --> gst_event_new_custom
2005-08-01 09:59:55 +00:00
Edward Hervey
9b74a9033a gst/gst.override: removed deprecated wrappers (gst_event_new_any*)
Original commit message from CVS:
* gst/gst.override:
removed deprecated wrappers (gst_event_new_any*)
* gst/gstbuffer.override:
* gst/gstquery.override:
* gst/gstmessage.override:
* gst/gstevent.override:
* gst/pygstminiobject.c:
* gst/pygstminiobject.h:
Correct wrapping of functions 'creating' mini-objects
* gst/gstelement.override: (_wrap_gst_element_get_state):
More meaningful exception message
* gst/gstpad.override:
wrapped gst_pad_alloc_buffer(), gst_pad_pull_range(),
gst_pad_get_range(), gst_pad_get_internal_links(),
gst_pad_get_internal_links_default(), gst_pad_get_query_types(),
gst_pad_get_query_types_default()
2005-07-12 16:37:31 +00:00
Edward Hervey
ae75cbd54b gst/: Added GError wrapping,
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gst.defs:
Added GError wrapping,
Removed data field from Buffer,
Added virtual methods to object
Updated to latest API
* gst/gst.override:
wrapped gst_plugin_get_feature_list(), gst_uri_handler_get_protocols(),
gst_registry_pool_list()
* gst/gstbuffer.override:
gst.Buffer() works
get/setters fixed
wrapped gst_buffer_stamp()
* gst/gstbus.override:
wrapped gst_bus_set_sync_handler() and gst_bus_add_watch()
* gst/gstelement.override:
wrapped gst_element_send_event(), gst_element_factory_get_pad_templates()
gst_element_query_convert(), gst_element_get_query_types()
* gst/gstevent.override:
wrapped gst_event_discont_get_value()
* gst/gstmessage.override:
wrapped gst_message_parse_state_changed(), gst_message_parse_error(),
gst_message_parse_warning(), gst_message_parse_tag()
* gst/gstmodule.c:
Added registration of new fundamental type with pygtk
* gst/gstpad.override:
wrapped gst_pad_query(), gst_pad_[add|remove]_[data|event|buffer]_probe(),
gst_pad_query_position(), gst_pad_query_convert()
* gst/gstquery.override:
wrapped gst_query_parse_position(), gst_query_parse_convert(),
gst_query_parse_seeking_query(), gst_query_parse_seeking_reponse()
* gst/pygstminiobject.c:
fixes
* gst/Makefile.am:
added gstbus.override, gstmessage.override, gstquery.override
* testsuite/test_buffer.py:
* testsuite/test_element.py:
* testsuite/test_event.py:
* testsuite/test_pipeline.py:
Updating testsuites
2005-07-12 09:45:58 +00:00
Edward Hervey
835f29e2bb codegen/codegen.py: let's not forget to wrap the MiniObject :)
Original commit message from CVS:
* codegen/codegen.py: (GstMiniObjectWrapper.constructor_tmpl):
let's not forget to wrap the MiniObject :)
* gst/gst-types.defs:
* gst/gst.defs:
Always keep up to date with the core
* gst/gstelement.override:
override for gst_element_query_position
* gst/pygstminiobject.c:
* gst/pygstminiobject.h:
* gst/gst.override:
PyGstMiniObject now properly wrap GstMiniObject and are referenced in a
global hash table
2005-06-28 16:13:53 +00:00
Edward Hervey
685c434a03 codegen/: Backport pygtk 2.6.2 codegen
Original commit message from CVS:
* codegen/argtypes.py:
* codegen/codegen.py:
* codegen/definitions.py:
* codegen/defsparser.py:
* codegen/h2def.py:
* codegen/mergedefs.py:
* codegen/reversewrapper.py:
Backport pygtk 2.6.2 codegen
* gst/gst-types.defs:
Added fields for Buffer, Event, Message and Query
Added pre-roll for enum ElementStateReturn
* gst/gst.defs:
Added (define-method for gst_structure_nth_field_name()
* gst/gstelement.override:
Added override for gst_element_get_state
* gst/gstcaps.override:
re-enabled structure functions
2005-06-26 13:59:34 +00:00
Edward Hervey
d33dd2f565 gst/: commented-out deprecated code, compiles at last, and works for pipeline creation and state change
Original commit message from CVS:
* gst/arg-types.py:
* gst/common.h:
* gst/gst-argtypes.c:
* gst/gst-types.defs:
* gst/gst.defs:
* gst/gst.override:
* gst/gstelement.override:
* gst/gstmodule.c:
* gst/gstpad.override:
* gst/gststructure.override:
commented-out deprecated code,
compiles at last, and works for pipeline creation and state change
* configure.ac:
updated requirement of GStream (0.9.0), pygtk (2.6.1)
bumped version number (0.9.0.1)
2005-06-20 21:39:34 +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
6782bfbc7b Split out gst.override to a few more files.
Original commit message from CVS:
Split out gst.override to a few more files.
Rename gstpad-handlers.override to gstpad.override
Include more information for some LinkError exceptions
2005-01-01 15:23:42 +00:00