Original commit message from CVS:
2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
* testsuite/test_ghostpad.py:
add handoff to count received buffers
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/gst.defs:
gst.Bin constructor can take no arguments
* testsuite/test_bin.py:
add constructor tests
* testsuite/test_element.py:
add same link test with no pads
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:
* gst/gstbuffer.override:
a buffer is not a boxed
* gst/gstobject.override:
use Py_VISIT for cleaner and more pythonic code
do not visit GstObjects that still have a parent
Original commit message from CVS:
* codegen/argtypes.py:
* codegen/codegen.py:
* codegen/definitions.py:
* gst/arg-types.py:
Added 'keeprefcount' argument for function/method parameters in order to
cope with functions/methods that decrement the refcount of the given
parameter
* gst/gst.defs:
Added 'keeprefcount' for buffer argument of gst_pad_push() wrapper.
Original commit message from CVS:
* gst/__init__.py:
don't import gobject
revert ltihooks change from Johan - if it throws an exception
there is a bug and I want to fix it
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/extend/Makefile.am:
* gst/extend/__init__.py:
* gst/extend/pygobject.py:
* gst/extend/utils.py:
move over some of the extend stuff that I want to use right now
Original commit message from CVS:
* codegen/codegen.py:
Added pyg_[begin|end]_allow_threads before and after call of C methods
in python methods wrappers.
This should get rid of more threading issues...
Should we also do that for function calls ?
Original commit message from CVS:
* gst/gstpad.override:
Removed overriding of gst_caps_get_negotiated_caps, the codegenerator
handles it much better (hint:don't copy)
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:
2005-09-29 Andy Wingo <wingo@pobox.com>
* examples/pipeline-tester (Window.play):
* examples/vumeter.py (Window.run): Updates for bus API.
Original commit message from CVS:
* gst/gst.override:
* gst/gstlibs.override:
Proper wrapping of GstController
* examples/Makefile.am:
* examples/audio-controller.py:
Example to show how to use gst.Controller
Original commit message from CVS:
* gst/gst.defs:
* gst/gstbus.override:
* testsuite/test_bus.py:
* testsuite/test_pipeline.py:
Updated definitions, wrapper and testsuite for changes in GstBus API
Original commit message from CVS:
* gst/gst.defs:
* gst/libs.defs:
Updated definitions
* gst/gst.override:
* gst/gststructure.override:
Added functions not to be used from python, or that have better
existing equivalents, to the ignore list.
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.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()
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:
* 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
Original commit message from CVS:
* gst/__init__.py:
require pygtk 2.0 when importing gst
it only works with 2.0, and it sets up the path correctly
when running against a pygtk compiled into a different prefix
Original commit message from CVS:
2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
* examples/fvumeter.py:
condense code by using table and loop
* examples/vumeter.py:
fix up example for new API for both bus and level element
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:
* gst/gstbuffer.override:
Increment the refcount when fetching GST_BUFFER_CAPS.
Python gurus, please fix if there's a better way this should be done.
Original commit message from CVS:
2005-09-21 Andy Wingo <wingo@pobox.com>
* testsuite/test_pad.py (PadProbeTest.testRemovingProbe): Add
probe removal test. Passes, but some other test sporadically fails
-- will check that later.
Original commit message from CVS:
2005-09-21 Andy Wingo <wingo@pobox.com>
* gst/gst.defs: Update for probe removal api
* gst/gstpad.override (_wrap_gst_pad_remove_data_probe)
(_wrap_gst_pad_remove_event_probe)
(_wrap_gst_pad_remove_buffer_probe): Removed, upstream does the
right thing now.
(_wrap_gst_pad_add_data_probe, _wrap_gst_pad_add_event_probe)
(_wrap_gst_pad_add_buffer_probe): Indent.
Original commit message from CVS:
* gst/gst.defs:
* gst/gststructure.override:
* testsuite/test_struct.py:
add a .keys() method to gst.Structure, plus test
Original commit message from CVS:
2005-09-16 Andy Wingo <wingo@pobox.com>
* gst/gst.defs (registry_get_default): Renamed from
gst_registry_get_default.
Original commit message from CVS:
2005-09-15 Andy Wingo <wingo@pobox.com>
* gst/gst-types.defs:
* gst/gst.defs: Update for registry/plugin/pluginfeature API changes.
Original commit message from CVS:
* examples/vumeter.py:
update for property name change
* gst/gst.override:
* testsuite/test_element.py:
actually log on objects, yay
Original commit message from CVS:
2005-09-12 Andy Wingo <wingo@pobox.com>
* testsuite/test_element.py (ElementName.testElementStateGetName):
s/NONE/VOID/.
Original commit message from CVS:
* gst/gst.defs:
add gst.ghost_pad_new_notarget
* gst/gstpad.override:
change wrap_gst_pad_new a little and add logging
* testsuite/test_pad.py:
add tests for constructors of gst.Pad
Original commit message from CVS:
2005-09-05 Andy Wingo <wingo@pobox.com>
* examples/pipeline-tester: Update pipelines. The fixed-rate v4l
one doesn't work here, but the rest of them do.
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gstbuffer.override:
* gst/pygstminiobject.c: (pygstminiobject_new_noref):
* testsuite/test_buffer.py:
add a .data to buffers; it feels more natural to me than doing
str(buffer) compared to the other properties.
make sub_buffer test for data
Original commit message from CVS:
fix a race condition in test_buffer.py
* gst/gst.override:
* gst/gstmodule.c: (init_gst):
add a pygst debug category for bindings themselves to use
* gst/gstbuffer.override:
add a repr method; add some assertions
* gst/pygstminiobject.c: (pygst_miniobject_init),
(pygstminiobject_register_wrapper), (pygstminiobject_new),
(pygstminiobject_new_noref), (pygstminiobject_dealloc),
(pygstminiobject_clear):
make the miniobjs hash private with an underscore
add debugging for inserting/removal in hash
fix pygstminiobject_clear - it also needs to remove
from the global hash. Fixes a nasty race problem in
test_buffer
* testsuite/test_buffer.py:
expand on the subbuffer test
Original commit message from CVS:
2005-09-01 Andy Wingo <wingo@pobox.com>
* examples/Makefile.am (examples_DATA): Dist fixer.
* examples/debugslider.py: Renamed from debug-slider.py so it can
be imported.
* examples/pipeline-tester: Add a debugslider.
* pygst.py.in (require): If pygst.require() is called multiple
times, don't pollute sys.path with unneeded path entries.
Original commit message from CVS:
* gst/__init__.py:
del ltihooks properly; fixes loading of testhelper in testsuite
* gst/gst.defs:
wrap link_filtered
Original commit message from CVS:
2005-08-19 Andy Wingo <wingo@pobox.com>
* gst/interfaces.defs (MixerTrack): MixerTrack is a GObject. How
did this ever work before?
Original commit message from CVS:
2005-08-19 Andy Wingo <wingo@pobox.com>
* gst/interfaces.override (_wrap_gst_tuner_list_channels)
(_wrap_gst_tuner_list_norms, _wrap_gst_mixer_list_tracks)
(_wrap_gst_color_balance_list_channels): Catch programming errors
without segfaults, as glib would do.
Original commit message from CVS:
2005-08-18 Andy Wingo <wingo@pobox.com>
* examples/debug-slider.py: New file.
* examples/Makefile.am (examples_DATA): Dist it, foolios.
Original commit message from CVS:
* gst/gstmodule.c: (init_gst):
changed debug category name from 'gst-python' to 'python'
* gst/gst.override: (pygst_debug_log):
gchar is way smaller than an int... resulting in negative line numbers
in debug.
Original commit message from CVS:
* gst/gst.override: (pygst_debug_log):
gchar is way smaller than an int... resulting in negative line numbers
in debug.
Original commit message from CVS:
* gst/gst.override: (pygst_debug_log):
printf("urlencoded%20space") != printf("%s", "urlencoded%20space")
Funny how a lot of problems have gone since that's fixed :)
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
* gst/gstmodule.c:
We now have debugging in gst-python ;)
gst.[log|debug|info|warning|error]()
Original commit message from CVS:
2005-08-03 Andy Wingo <wingo@pobox.com>
* gst/gstmessage.override (_wrap_gst_message_parse_error): Always
return a tuple of length 2.
Original commit message from CVS:
2005-08-03 Andy Wingo <wingo@pobox.com>
* examples/pipeline-tester: Commit some updates I had.
* configure.ac (PYGST_CFLAGS): pygst.py generation is handled by
the makefile.
Original commit message from CVS:
* gst/gst-types.defs: (GhostPad):
Added GhostPad type
* gst/interfaces.defs:
Added MixerTrackFlags, TunerChannelFlags and MixerOptions
Want the rest of the poem ? ;)
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/interfaces.defs:
* gst/interfaces.override:
* gst/xoverlay.override:
It seems that, somewhere along the way, I forgot to make sure interfaces
were binded too :)
Original commit message from CVS:
* gst/gstmessage.override:
wrapped gst_message_parse_segment_start() and
gst_message_parse_segment_done()
* gst/gst.defs:
I'm bored with writing "Updating defs file", so I'll just write a poem
by Charles Baudelaire, "L'invitation au voyage" :
Mon enfant, ma soeur,
Songe la douceur
D'aller l-bas vivre ensemble !
Aimer loisir,
Aimer et mourir
Au pays qui te ressemble !
Les soleils mouills
De ces ciels brouills
Pour mon esprit ont les charmes
Si mystrieux
De tes tratres yeux,
Brillant travers leurs larmes.
The rest at the next defs update :)
Original commit message from CVS:
* gst/gst.defs:
I'm bored with writing "Updating defs file", so I'll just write a poem
by Charles Baudelaire, "L'invitation au voyage" :
Mon enfant, ma soeur,
Songe la douceur
D'aller l-bas vivre ensemble !
Aimer loisir,
Aimer et mourir
Au pays qui te ressemble !
Les soleils mouills
De ces ciels brouills
Pour mon esprit ont les charmes
Si mystrieux
De tes tratres yeux,
Brillant travers leurs larmes.
The rest at the next defs update :)
Original commit message from CVS:
* gst/gstpad.override: misc fixes for change in gst_pad_get_parent()
* gst/gst-types.defs:
* gst/gst.defs: Updating defs file even more :)
Original commit message from CVS:
* gst/gst-types.defs: (MessageType):
updating to current core for 2 new GstMessageType's
* gst/gstbus.override: (bus_sync_handler),(bus_handler):
properly unref the message python wrapper...
Original commit message from CVS:
2005-07-13 Andy Wingo <wingo@pobox.com>
* examples/pipeline-tester (Window.on_message): Handle errors.
(Window.play): Drain messages from bus before setting pipe to
NULL.
Original commit message from CVS:
2005-07-13 Andy Wingo <wingo@pobox.com>
* examples/vumeter.py: New file, a VU meter application that reads
from alsasrc.
* examples/fvumeter.py: New file, imported from Flumotion and
relicensed under the LGPL. Implements a simple VU meter widget.
Original commit message from CVS:
* gst/gstbus.override: (bus_handler) (bus_sync_handler):
Raise an exception if the callback doesn't return anything
* gst/pygstminiobject.c:
removed the 'ref' and 'unref' methods
Original commit message from CVS:
2005-07-12 Andy Wingo <wingo@pobox.com>
* examples/pipeline-tester: New file, tests out gstreamer
pipelines. The pipelines are a bit broken right now tho.
Original commit message from CVS:
2005-07-12 Andy Wingo <wingo@pobox.com>
* env: New script, munges PYTHONPATH for uninstalled usage, and
also $PACKAGES which is useful if you add `print-packages` to your
$PS1 and drop http://wingolog.org/pub/print-packages into your
$PATH.
Original commit message from CVS:
2005-07-12 Andy Wingo <wingo@pobox.com>
* configure.ac (AC_CONFIG_FILES): The makefile handles pygst.py
now.
* Makefile.am (install-data-local): Actually install pygst.pth to
the pythondir, not pyexecdir. Also install a properly sedded
pygst.py.
(pygst.py): Sed the builddir into pygst.py, and set not writable
(to avoid any confusion about which file to edit).
* pygst.py.in (_pygst_dir): Set _pygst_dir from one variable,
@PYGSTDIR@, which is manually sedded in from the Makefile, so that
it works both installed and uninstalled.
Original commit message from CVS:
2005-07-12 Andy Wingo <wingo@pobox.com>
* configure.ac (AC_CONFIG_FILES):
* examples/: Moved all examples up from examples/gst/ into
examples/.
Original commit message from CVS:
* gst/gstmodule.c:
* gst/pygstminiobject.c:
Proper registration of PyGstMiniObject classes in order to be able to
create Event, Messages, Buffers from python.
More corrections on miniobject's refcounting
* gst/gstevent.override:
* gst/gstbuffer.override:
Removed overloaded overrides
* gst/gst.defs:
updated
Original commit message from CVS:
* configure.ac:
* Makefile.am:
* gst/Makefile.am:
* examples/Makefile.am:
* testsuite/common.py:
gst.play is gone in 0.9...
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
Probes are gone...
* Makefile.am:
* configure.ac:
* gst/Makefile.am:
* pygst.py.in:
Modifications to have parallel-installable gst-python
Works more or less in the same way as pygtk:
import pygst
pygst.require('0.9')
import gst
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* gst/Makefile.am:
* pygst.py.in:
Modifications to have parallel-installable gst-python
Works more or less in the same way as pygtk:
import pygst
pygst.require('0.9')
import gst
Original commit message from CVS:
* gst/pygstminiobject.c:
thread safe handling of mini-objects
* 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
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
Original commit message from CVS:
* codegen/argtypes.py:
* codegen/codegen.py:
* codegen/definitions.py:
* codegen/defsparser.py:
* codegen/defsconvert.py:
* codegen/docgen.py:
Updated codegen to support miniobject
* gst/Makefile.am:
Use the included (and modified) codegen for code generation.
* gst/pygstminiobject.c:
* gst/pygstminiobject.h:
* gst/pygstminiobject-private.h:
New GstMiniObject inspired from pygobject.[ch] code
* gst/common.h:
* gst/gst-types.defs:
* gst/gst.override:
* gst/gstbuffer.override:
* gst/gstcaps.override:
* gst/gstmodule.c:
* gst/gstpad.override:
Modifications to support MiniObject
* gst/gst.defs:
Allow null second parameter for ElementFactory.create()
and gst.element_factory_make()
Original commit message from CVS:
* codegen/argtypes.py:
* codegen/codegen.py:
* codegen/definitions.py:
* codegen/defsparser.py:
* codegen/docgen.py:
Updated codegen to support miniobject
* gst/Makefile.am:
Use the included (and modified) codegen for code generation.
* gst/pygstminiobject.c:
* gst/pygstminiobject.h:
* gst/pygstminiobject-private.h:
New GstMiniObject inspired from pygobject.[ch] code
* gst/common.h:
* gst/gst-types.defs:
* gst/gst.override:
* gst/gstbuffer.override:
* gst/gstcaps.override:
* gst/gstmodule.c:
* gst/gstpad.override:
Modifications to support MiniObject
* gst/gst.defs:
Allow null second parameter for ElementFactory.create()
and gst.element_factory_make()
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/gstcaps.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)
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)
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
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gstbuffer.override:
* testsuite/test_buffer.py:
Improve support GstBuffer attributes, r/w support for timestamp.
Original commit message from CVS:
* gst/interfaces.defs:
* gst/interfaces.override (_wrap_gst_color_balance_list_channels):
Apply patch from Zaheer Abbas Merali to implement this method. Not
that it's not .list_channels() due to conflict with a method of
the same name in the GstTuner interface
Original commit message from CVS:
2004-11-27 Martin Soto <martinsoto@users.sourceforge.net>
* gst/gst.override (_wrap_gst_event_new_any)
(_wrap_gst_event_new_discontinuous)
(_wrap_gst_event_any_get_structure)
(_wrap_gst_registry_pool_plugin_list):
* gst/gst.defs (get_data, event_new_any, any_get_structure):
Added basic support for "ANY" (navigation) events.
Added basic support for discont events (only one value for now,
we are limited by the GStreamer API).
Now it is possible to access data in a GstBuffer as a string
Added a definition for method get_data of GstBuffer.
* gst/gst.override (_wrap_gst_structure_set_value): Add an
optional parameter to allow selection of the right G_TYPE. If no
type is specified, make an educated guess.
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:
* gst/gstmodule.c (init_gst): Reset LC_NUMERIC, since it might
change in gst_init_check. Fixes 100% CPU usage in flumotion
when using a non C locale.