Original commit message from CVS:
2006-02-10 Andy Wingo <wingo@pobox.com>
* gst/gst.defs (disable_sync_message_emission)
(enable_sync_message_emission): Wrap new functions from GStreamer
CVS.
* configure.ac (GST_REQ): Require GStreamer 0.10.3.1.
* examples/play.py: A bit of refactoring. Make use of the
sync-message signals. Reacts to events on the bus. Keeps aspect
ratio. Better scrubbing, play/pause button instead of
play+pause+stop. Not a bad player now, although the code still
lacks cleanliness.
Original commit message from CVS:
2006-02-10 Andy Wingo <wingo@pobox.com>
* examples/play.py (GstPlayer.query_position)
(PlayerWindow.update_scale_cb): Only return position, duration
from query_position -- fixes a bugaboo.
(main): Add some input validation.
* examples/pipeline-tester (data): Add a pipeline to test software
scaling.
Original commit message from CVS:
2006-02-06 Andy Wingo <wingo@pobox.com>
* codegen/argtypes.py (UInt64Arg.write_param): Parse long
arguments using ParseTuple and friends; allows ints to passed for
longs as a side benefit.
Original commit message from CVS:
* gst/gst.defs:
When using gst.Element.send_event() and gst.Pad.send_event() we keep
a refcount on the sent event.
* testsuite/test_event.py:
Uncomment test to prove above fix
Original commit message from CVS:
* testsuite/test_event.py:
add a test case for autoplugging behaviour:
create a source, connect probes, store new-segment event,
add element in buffer probe callback, and forward event
Currently fails due to refcounting on the stored new-segment
event
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
Link against Gst Data protocol libraries.
* gst/__init__.py:
Restore dlopenflags after importing gst.
Closes#329110
Original commit message from CVS:
* gst/gststructure.override: (_wrap_gst_structure_set_value):
Properly check for gstvalue data types. This makes it possible to
set fields with fractions.
* testsuite/test_caps.py:
* testsuite/test_struct.py:
Test for above modifications
Original commit message from CVS:
* gst/base.defs:
Use gchar* instead of guint8* for GstAdapter
Added virtual methods definitions for base classes.
Still have to override some functions, and figure
out how to properly add reverse wrappers to the codegenerator.
Original commit message from CVS:
First step at wrapping base elements in gst-python
* configure.ac:
Commenting out weird debugging statement dating from gst-python's
and which causes problems with gstbasesrc.h anonymous union.
* gst/Makefile.am:
Added base.defs
* gst/base.defs:
New base elements definition files
* gst/gst.defs:
* gst/gst.override:
Add base elements
Original commit message from CVS:
* gst/gst-types.defs:
Added GstStaticCaps and GstStaticPadTemplate, using the new GType.
* gst/gst.defs:
Doesn't return a const anymore.
* gst/gstelementfactory.override:
Wrapped gst_element_factory_get_static_pad_templates()
Original commit message from CVS:
2005-12-19 Martin Soto <martinsoto@users.sourceforge.net>
* gst/gstbus.override (_wrap_gst_bus_add_watch): This function
incorrectly returned self, which was causing the message bus to
get prematurely destroyed by the Python interpreter. Now returns
Py_None.
Original commit message from CVS:
* gst/gst.override:
ignore gst_plugin_get_module, GModule aren't wrapped in
pygtk anyway.
wrap gst_clock_get_calibration
* gst/gstbus.override:
Ignore the following:
gst_bus_create_watch, since GSource aren't wrapped in pygtk
gst_bus_sync_signal_handler and gst_bus_async_signal_func since
these functions are used by the default bus handler anyway.
* gst/gstevent.override:
wrapped gst_event_parse_buffer_size
* gst/libs.defs:
Replace all guint8* for gst_dp_ functions by gchar * since they
are the same, but at least get generated properly by the code
generator.
Original commit message from CVS:
* gst/gst.defs:
gst_object_sink is a method of GstObject
const of enums is a stupidity (_element_make_from_uri)
* gst/gst.override:
Ignore more functions that have no place in bindings or have better
python equivalents (list filtering for example)
Wrapped gst_version() and gst_type_find_factory_get_list()
* gst/gststructure.override:
More ignores
* gst/gsttaglist.override:
ignore gst_is_tag_list.
* gst/interfaces.override:
wrap gst_mixer_options_get_values()
Original commit message from CVS:
2005-12-16 Andy Wingo <wingo@pobox.com>
* gst/gstpad.override (handle_event_function_exception)
(handle_chain_function_exception): GCC told me I needed braces
here.
Original commit message from CVS:
* Makefile.am:
* configure.ac:
Follow pygtk's lead in installing pygst.py and .pth in pyexecdir -
this will do the right thing on multilib 64 bit
Original commit message from CVS:
* examples/gstfile.py:
Moved the Discoverer class to gst.extend
Now works asynchronous... bl**dy fast :)
* gst/extend/Makefile.am:
* gst/extend/discoverer.py:
Discoverer has landed in extend and is now asynchronous.
It emits a 'discovered' signal when it has finished.
Original commit message from CVS:
* gst/arg-types.py:
This covers for the codegenerator not being able to handle
(unsigned) int64 as parameters and return values.
Original commit message from CVS:
* gst/arg-types.py:
Added (reverse_)wrapper for GBoxed and GstMiniObject
* gst/gst.defs:
push_event() and chain() takes the reference on the
MiniObject.
Original commit message from CVS:
* gst/gst.defs: (alloc_buffer_and_set_caps):
Wrapped last pre-0.10 API update (I hope...)
* examples/gstfile.py: (Discoverer._new_decoded_pad_cb):
Fix for fractional framerates.
Original commit message from CVS:
2005-12-05 Andy Wingo <wingo@pobox.com>
* testsuite/test_registry.py (RegistryTest.testPluginList): Look
for staticelements, not gstcoreelements.
Original commit message from CVS:
2005-12-01 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_PLUGINS_BASE_LIBS): Check for
gstreamer-plugins-base.pc, the one that has the interfaces etc.
* gst/Makefile.am (interfaces_la_CFLAGS, interfaces_la_LDFLAGS):
PLUGINS_BASE, not BASE.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
gst-interfaces-0.9.pc is no more, update to new use
* testsuite/test_element.py:
Fix for queue modification
Original commit message from CVS:
* gst/gst.override:
Ignore all *_full functions/methods
* gst/gstbus.override:
Wrapper for gst_bus_add_signal_watch that now takes an optional
priority argument
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gst.defs:
API updates
* gst/pygstvalue.c: (pygst_value_as_pyobject),
(pygst_value_from_pyobject):
Fixes for gst_value_array and GST_FOURCC_FORMAT
Original commit message from CVS:
* gst/gst-types.defs:
* gst/gst.defs:
Update for latest API changes
Still have to make GstSegment properly wrappable (GBoxed?)
Original commit message from CVS:
* gst/gst.defs:
Keep refcount for the message of gst_bus_post()
* gst/gststructure.override:
Don't free a structure on dealloc (the parent does that)
* testsuite/test_message.py:
Proper testing of bus functionnality with a mainloop
Original commit message from CVS:
* gst/gstmodule.c: (init_gst):
Added GST_TAG_* string constants
* gst/gstpad.override:
Make probe handler return TRUE if the Python callback doesn't return
anything.
* gst/gsttaglist.override:
Cleaned up gst.TagList, works as a dictionnary.
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
Added new function gst.TIME_ARGS which returns the string
representation of a GstClockTime
Original commit message from CVS:
* gst/gstpad.override:
Use proper GValue <-> MiniObject conversion function
* examples/Makefile.am:
* examples/sinkelement.py:
New example showing how to create a sink element in python.
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
Original commit message from CVS:
* gst/gst-types.defs:
Updated modification from API
* gst/gstquery.override:
Added gst_query_parse_duration override
* examples/gstfile.py:
Now use duration query
Cleanups
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
Original commit message from CVS:
* gst/gst.override:
* gst/pygstminiobject.c:
remove the hash table for miniobjects - since we can't get notified
when they get destroyed, we shouldn't be caching pointer mappings
* testsuite/test_pad.py:
update refcount tests because mini objects now have a ref for
each time an object is made for it
Original commit message from CVS:
* gst/gst.defs:
Cleaned-up symbols which still had the gst_ prefix
* gst/gst.override:
add gst_deinit to the ignore list
Original commit message from CVS:
2005-10-20 Andy Wingo <wingo@pobox.com>
* gst/gstbin.override (_wrap_gst_bin_get_by_name): Dude, like
totally don't unref NULL objects.
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
Original commit message from CVS:
* gst/gstmessage.override:
Added wrappers for parsing CLOCK_PROVIDE, CLOCK_LOST, NEW_CLOCK and
DURATION messages
Fixed a few Tuple constructors
Last commit from me unless huge breakage, got better things to do now
(and it doesn't involve 'my little pony' comics) !
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
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
Original commit message from CVS:
2005-10-18 Andy Wingo <wingo@pobox.com>
* gst/gstmessage.override (_wrap_gst_message_tp_repr): Add a repr
for messages.
Original commit message from CVS:
* gst/gst-types.defs:
Added GstDate boxed type
* gst/gst.override:
Added setters and getters for GstDate's day/month/year
Added tp_repr for GstDate
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:
Reviewed by Edward Hervey <edward@fluendo.com>
* gst/gst.override:
* gst/gstevent.override:
* gst/gstpad.override:
* gst/gstquery.override:
Use PyList_SetItem() instead of PyList_Append() for faster list creation
and proper python refcounting.
Closes bug #318684
Original commit message from CVS:
Reviewed by Edward Hervey <edward@fluendo.com>
* gst/gstobject.override: (_wrap_gst_object_tp_traverse):
Py_VISIT() might make code cleaner... but it doesn't work with
python < 2.4
Closes bug #318692
Original commit message from CVS:
2005-10-12 Andy Wingo <wingo@pobox.com>
* autogen.sh (CONFIGURE_DEF_OPT): Check for automake 1.9 and 1.8,
but not for 1.5.
Original commit message from CVS:
2005-10-12 Andy Wingo <wingo@pobox.com>
* gst/gst-extrafuncs.defs (flags, set_flag, unset_flag): Fix for
core updates.
* gst/gstmodule.c (init_gst): Give a better error message.
(also fix the changelog)
Original commit message from CVS:
2005-10-12 Julien MOUTTE <julien@moutte.net>
* gst/gst-argtypes.c:
* gst/pygstminiobject.c:
* testsuite/testhelpermodule.c: Reordering header inclusion
order to
fix build on my machine.
Original commit message from CVS:
* gst/gst.defs:
* gst/gstmessage.override:
fix for pending state being added to state message
* testsuite/test_buffer.py:
* testsuite/test_pipeline.py:
update
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).
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/common.h:
* gst/gstmodule.c: (init_gst):
* gst/pygstiterator.c: (pygst_iterator_iter_next),
(pygst_iterator_next), (pygst_iterator_push),
(pygst_iterator_resync):
Even more bored tonight: Implement next/resync/push.
Register type so we can call methods and so.
Original commit message from CVS:
* gst-python.spec.in:
Wow, that file hasn't been updated in a long long time.
* gst/gstcaps.override: (_wrap_gst_caps_new_empty):
new caps should be freed on dealloc...
Original commit message from CVS:
* gst-python.spec.in: (BuildRequires), (Requires):
Update dependency for pygtk>= 2.6.3 here too
* gst/gstcaps.override: (_wrap_gst_caps_new_empty):
new caps should be freed on dealloc...
Original commit message from CVS:
* gst/gstbuffer.override: (_wrap_gst_buffer__get_caps):
Proper wrapping of the GstBuffer.caps attribute
* gst/gstmodule.c: (init_gst):
* gst/pygstminiobject.c: (pygstminiobject_register_class):
gst-debug initialisation should happen before anything else if we
want the debugging functions to work.
Original commit message from CVS:
* configure.ac:
need at least 2.6.3, because that contains the code that
converts signal closure arguments to the correct Gst
types
* gst/gstpad.override:
log name of probe handlers we call
* testsuite/test_pad.py:
fix up tests; use TestCase base class methods
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.
Original commit message from CVS:
* gst/gst.override (tag_foreach_func_list): Disable lists instead
of raising an exception.
* gst/gst-types.defs (ImplementsInterface, TagSetter): Define
these here.
Original commit message from CVS:
2004-10-11 set REAL_NAME environment variable <set EMAIL_ADDRESS environment variable>
* gst/gst.defs:
* gst/gst.override:
Fixes element_unlink_many and adds a set_buffer_data method to GstBuffer
Fixes bug #154451 and #154692
Original commit message from CVS:
2004-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/gstmodule.c: (init_gst):
Make gst-python not hang on import when embedded.
Fixes bug #155041
Original commit message from CVS:
* gst/gstmodule.c (python_do_pending_calls): Use
PyOS_InterruptOccurred and only hold the GIL during
PyErr_SetNone. Use _pygst_main_quit to avoid errors/aborts. Also
use the pygtk provided gil macros instead of the python ones.
Original commit message from CVS:
2004-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/__init__.py:
* gst/gstreamer.py:
* gst/arg-types.py:
fix headers
* gst/gst.override:
change GstPad repr
* gst/ltihooks.py:
fix distcheck for uninstalled by only adding .libs when needed
Original commit message from CVS:
* gst/gst.override (_wrap_gst_structure_ass_subscript): Some more
fixes, doesn't quite work as it should yet though.x
(_wrap_gst_caps_tp_str): Plug leak
* gst/interfaces.defs (Mixer, MixerTrack): Add mixer fields here.
* testsuite/element.py (QueueTest.testConstruct): Some basic test,
one disabled for the moment
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:
* configure.ac: Require python 2.3
* gst/gstmodule.c (python_do_pending_calls): Use PyGILState and
friends here.
* gst/gst.override (_pygst_main_quit, _pygst_main): Use these two
instead of gst_main/gst_main_quit so we can check if we're in a
mainloop or not.
Original commit message from CVS:
* testsuite/registry.py: Add some basic tests
* gst/gst.override: Don't ignore all gst_registry_* symbols
(_wrap_gst_registry_pool_plugin_list): Impl.
(_wrap_gst_registry_pool_feature_list): Impl.
* gst/gst-types.defs (Plugin): Add as a boxed
Original commit message from CVS:
* gst/gst.override (_wrap_gst_pad_query, _wrap_gst_element_query)
(_wrap_gst_pad_convert): Remove exceptions, return Long values
(and convert from LongLongs) and clean up a little)
Original commit message from CVS:
* testsuite/element.py (QueryTest.testQuery): Another small test
* gst/gst.override (_wrap_gst_element_query): Ditto
(_wrap_gst_pad_convert): Ditto
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:
* configure.ac: Correctly check for XML tools. Correctly set
BUILD_DOCS variable depending on tools.
* docs/Makefile.am: Use XML variables.
Original commit message from CVS:
* gst/gstbuffer.override (_wrap_gst_buffer_flag_is_set)
(_wrap_gst_buffer_flag_set, _wrap_gst_buffer_flag_unset): Impl.
* testsuite/buffer.py (BufferTest.testBufferFlagIsSet): New test
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:
* gst/gst-types.defs (Buffer): Add some fields
* gst/gstbuffer.override: Move out from gst.override, add
tp_as_sequence support and reorganize the code
* testsuite/buffer.py (BufferTest): Add new tests
Original commit message from CVS:
* gst/__init__.py: Remove pygtk import and import gobject
directly. It's up the app to call pygtk.require and no the
library.
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:
* gst/Makefile.am (INCLUDES): Move PYGTK_CFLAGS to common_cflags
instead of INCLUDES
* configure.ac: define HAVE_OLD_PYGTK if we're on pygtk 2.3.91 or
earlier and disable editor checks
* gst/common.h: Add backwards compatible typedef for python < 2.3
and pygtk < 2.3.92
Original commit message from CVS:
* configure.ac: define HAVE_OLD_PYGTK if we're on pygtk 2.3.91 or earlier.
* gst/common.h: Add backwards compatible typedef for python < 2.3
and pygtk < 2.3.92
Original commit message from CVS:
* codegen/codegen.py: Resync (add support for tp_as_buffer)
* gst/gst.override: Support buffer interface for GstBuffer. Move
stuff into common.h, fix wrapping for
gst_pad_template_get_caps_by_name
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/runtests.py (tests): Run all tests in one TestSuite
instead of several.
* testsuite/element.py (FakeSinkTest.setUp): Disable StateError
tests until there is a way to disable element error output.
Original commit message from CVS:
* configure.ac (PYGTK_CODEGEN): Use built in code generator again
and don't require 2.3.91, 2.0.0 should do fine (FC1 ok, RH9 isn't)
* TODO: Update
* gst/interfaces.override, gst/play.override: Add typedef for
python < 2.3
* codegen/codegen.py: Readd :/
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:
* gst/gst.override (_wrap_gst_element_tp_new): New, just pointing
to _wrap_gst_element_factory_make
(_wrap_gst_element_tp_new): Stub, return 1 so tp_new can be used.
* gst/gst.defs (element_factory_make): Remove is-constructor-of
GstElement.
* codegen/: Remove and use the codegen from pygtk instead
* configure.ac (ACLOCAL): Require 2.3.91 of PyGTK
Original commit message from CVS:
* gst/gstmodule.c (init_gst): Add constants for GST_*SECOND.
(python_do_pending_calls): New idler handler, similar to pygtk, so
python events (eg KeyboardInterrupt) can be raised during mainloop
* gst/gst.override (_wrap_gst_bin_get_list):
(_wrap_gst_pad_tp_repr, caps_length, caps_item)
(structure_length, structure_subscript)
(_wrap_gst_structure_tp_repr): Impl.
(_wrap_gst_main): Override with threading blocking.
* gst/gst-types.defs (Object): add flags field.
(Structure): Add copy/release funcs
* gst/__init__.py (devloc): Don't initialize threads
* gst/Makefile.am: clean up
* examples/gst/player.py: Prettify and simplify. Uses GstThread now.
* examples/gstplay/player.py: Update to new api and make it work.
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
Original commit message from CVS:
* gst/Makefile.am: Move the gstplay bindings over here
* Makefile.am, configure.ac: Remove examples/ and put them in
EXTRA_DIST here
Original commit message from CVS:
* gst/gst.defs (element_make_from_uri): Remove const from enum
here, should be fixed upstream too.
* gst/gst.override (_wrap_gst_bin_remove_many)
(_wrap_gst_element_unlink_many): Impl.
(_wrap_gst_element_get_pad_list): Impl.
: Add a number of new ignores for functions/methods we won't wrap anyway
Original commit message from CVS:
* gstinterfaces/Makefile.am: clean up a little bit
* gstinterfaces/__init__.py (devloc): s/gstreamer/gst/
* codegen: Resync and appy my interface constructor patch