Original commit message from CVS:
* gst/gstpad.override:
Fix memory leak for functions that return a newly created buffer as
a function argument.
Fixes#554545
Original commit message from CVS:
* codegen/argtypes.py:
Add handling of 'keep-refcount' for GBoxed arguments.
* gst/gst.defs:
Mark the appropriate 'gst_message_new_*' arguments when the method
takes the ownership of the passed gst.Structure/gst.TagList
* testsuite/test_message.py:
Test for creating messages that take a gst.Structure/gst.TagList as
argument and make sure they're properly created.
Fixes#556054
Original commit message from CVS:
reviewed by: Edward Hervey <edward.hervey@collabora.co.uk>
* gst/__init__.py:
Fix on systems that don't have dlopen or don't support RTLD_GLOBAL and
RTLD_LAZY.
Original commit message from CVS:
Patch by: Thiemo Seufer <ths at networkno dot de>
* gst/__init__.py:
Use correct values for RTLD_GLOBAL and RTLD_LAZY on Linux/MIPS
as the values are different there from all other Linux platforms.
Fixes bug #553134.
Original commit message from CVS:
Patch by: Alexander Wirt <formorer at debian dot org>
* gst/__init__.py:
Import modules in the correct order, i.e. libxml2 before
GStreamer stuff, to prevent unresolved symbols. Fixes bug #553131.
Original commit message from CVS:
* gst/gstcaps.override:
Override gst_caps_append_structure() and make a copy of the structure
given as argument.
Fixes#549450
Original commit message from CVS:
* gst/gst-0.10.15.ignore:
* gst/gst-types.defs:
* gst/gst.defs:
Add gstdebugutils.[ch] methods that weren't wrapped previously.
We can now dump pipeline graphviz files from python ! :)
Original commit message from CVS:
* gst/gstbuffer.override:
the GstBuffer overrides seem to be confused about whether they're
mini-objects or a GBoxed, and it makes copy_on_write no actually
return a usable gst.Buffer. Fix up places where GstBuffers are
treated as GBoxed to use pygstminiobject functions.
Makes gst.Buffer('blah').copy_on_write() work.
* testsuite/test_buffer.py:
Add test for copy-on-write writability
* examples/buffer-draw.py:
Add an example of drawing on a GStreamer buffer with cairo
* gst/gstpad.override:
Make function static
Original commit message from CVS:
* gst/gstevent.override:
gst_event_new_tag takes ownership of the GstTagList given
as argument, therefore make a copy before calling the
C function.
Fixes#534888
Original commit message from CVS:
Patch by: Jan Schmidt <thaytan at mad dot scientist dot com>
* gst/__init__.py:
Make gst.Fraction simplify like the C counterpart
Fixes#532809
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
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* gst/gstelementfactory.override:
Release GIL in gst_element_factory_overrides.
Fixes#529731
Original commit message from CVS:
* gst/gst.override:
(_wrap_GstURIHandler__proxy_do_get_protocols_full):
Don't crash by unreffing NULL when calling the
do_get_protocols_full method raises an exception.
Original commit message from CVS:
reviewed by: Edward Hervey <edward.hervey@collabora.co.uk>
* gst/gstpad.override:
* testsuite/test_pad.py:
Fix memleak in gst.Pad.set_blocked_async()
Fixes#514717
Original commit message from CVS:
* gst/gstmodule.c: (init_gst):
Remove do_pending_calls timeout which has been handled more gracefully
in pygobject MainLoop for the past 3 years.
Fixes#512916
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/base.defs:
* gst/gst-0.10.15.ignore:
* gst/gst-0.10.16.ignore:
* gst/gst-pb-0.10.15.ignore:
* gst/gst-pb-0.10.16.ignore:
* gst/gst.defs:
* gst/gstversion.override.in:
* gst/pbutils.override:
* testsuite/test_pbutils.py:
Series of update for new API added to 0.10.16.
Remove wrong ignore file for 0.10.15 -base.
Original commit message from CVS:
reviewed by: Edward Hervey <edward.hervey@collabora.co.uk>
* gst/gstpad.override:
* testsuite/test_pad.py:
Re-implement wrapping of gst_pad_add_*probe in order to avoid leaks of
user-data associated with the probes.
Fixes#504786
Original commit message from CVS:
* gst/Makefile.am:
gst.pbutils also needs to handle miniobjects
* gst/pbutils.defs:
Add new InstallPluginsContext boxed definition.
All the *_new() functions should be accessible (and not act as
constructors).
* gst/pbutils.override:
Add override for install_plugins_sync().
* gst/pbutilsmodule.c:
Add pygst_debug debug category in this module too.
* testsuite/test_pbutils.py:
Test existence of new API. Needs more tests.
Original commit message from CVS:
* gst/Makefile.am:
* gst/common.h:
* gst/pbutils.defs:
* gst/pbutils.override:
* gst/pbutilsmodule.c: (initpbutils):
new gst.pbutils module that wraps the gst-plugins-base pbutils
helper library.
* testsuite/Makefile.am:
* testsuite/common.py:
* testsuite/test_pbutils.py:
Test case for gst.pbutils
Fixes#472822
Original commit message from CVS:
2007-11-01 Johan Dahlin <johan@gnome.org>
* gst/gst.override:
* gst/gst-0.10.15.ignore:
Make sure it still builds with GStreamer 0.10.14.
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
Patch from Alessandro Decina adding get_type_full and
get_protocols_full private vfuncs to the URIHandler interface
to allow bindings to support creating URI handlers.
Partially fixes: #339279
Original commit message from CVS:
* gst/gst.defs:
* gst/gst.override:
Thanks to Sebastien Merle for resurrecting a patch I'd forgotten about
that adds a constructor method for gst.GError, so you can create
error gst.Message.
Added a few GIL releases for overrides.
Original commit message from CVS:
* gst/gstobject.override:
Release the GIL when calling gst_object_get_path_string() since it can
cause deadlocks with new pygobject behaviour.
Original commit message from CVS:
* gst/base.defs:
* gst/libs.defs:
* gst/gst.defs:
* gst/gst.override:
Update API definitions for GStreamer core and gst-plugins-base.
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.15.ignore:
* gst/gst-pb-0.10.15.ignore:
* gst/gstversion.override.in:
New .ignore for 0.10.14.* API
Original commit message from CVS:
* gst/pygstminiobject.c: (pygstminiobject_dealloc):
Move up variable declaration to the top of the function.
* win32/vs6/gst_python.dsw:
* win32/vs6/libgstpython.dsp:
* win32/vs6/pygenfiles.dsp:
* win32/MANIFEST
Add new project files to build with VS6.
Original commit message from CVS:
2007-09-11 Andy Wingo <wingo@pobox.com>
* gst/gstmodule.c (DL_EXPORT): Remove the atexit(gst_deinit).
Atexit handlers are run after python has finalized (see Py_Exit in
pythonrun.c), but gst_deinit can potentially call back into python
e.g. for python-defined plugins. Not sure how other people are
avoiding this segfault, but I see it all the time on Gusty x86-64
with Flumotion.
Original commit message from CVS:
* gst/gst-0.10.11.ignore:
GstDataQueue was added in gstreamer-0.10.11
* gst/gst-0.10.14.ignore:
some GstDataQueue methods were added in 0.10.14
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.14.ignore:
* gst/gst-pb-0.10.14.ignore:
* gst/gstversion.override.in:
Adding version overrides for new core/base releases.
Original commit message from CVS:
reviewed by: Edward Hervey <bilboed@bilboed.com>
* gst/gst.defs:
Make .get_uri_type() methods return a GstURIType enum instead of an
integer.
Fixes#436620
Original commit message from CVS:
reviewed by: Edward Hervey <bilboed@bilboed.com>
* gst/extend/discoverer.py:
New parameter to the discoverer to change the default maximum frame
interleave.
Fixes#418222
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
Original commit message from CVS:
Patch by: Zaheer Abbas Merali <zaheermerali@gmail.com>
* gst/gstevent.override:
Copy the GstStructure given as argument to gst_event_new_custom
and gst_event_new_navigation, else it would be freed when the python
object wrapping that structure goes out of scope.
Fixes#450117
Original commit message from CVS:
* gst/extend/jukebox.py:
* gst/extend/sources.py:
Fixes for thread-safety, changes in behaviour with gst.Pad and
cleanup. Still has some issues.
Original commit message from CVS:
Patch by : Michael Smith <msmith@fluendo.com>
* gst/extend/discoverer.py:
Better support for demuxers that don't create all pads at startup.
Fixes#380966
Original commit message from CVS:
* gst/gst-0.10.12.ignore:
Add more API additions that weren't explicit in the release notes.
* gst/gst-0.10.13.ignore:
Personal note : remember to save file before commiting it.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.12.ignore:
* gst/gst-0.10.13.ignore:
* gst/gstversion.override.in:
Updating ignores for API additions
* gst/base.defs:
* gst/gst-types.defs:
* gst/gst.defs:
* gst/interfaces.defs:
* gst/libs.defs:
Massive wrapping of new API additions
* gst/gstbase.override:
* gst/gstevent.override:
* gst/gstmessage.override:
* gst/gstquery.override:
Overrides for methods with return values as arguments.
* gst/xwindowlistener.defs:
What the $#@# is this file still doing here ?? Removing it.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-disable-loadsave.ignore:
* gst/gstversion.override.in:
Example of how to properly ignore methods that aren't available if
some feature is disabled in GStreamer core.
Original commit message from CVS:
* gst/gstelement.override:
Release the python lock when performing GStreamer calls that might
result in callbacks into python.
Original commit message from CVS:
* examples/pyidentity.py:
* gst/common.h:
* gst/gstpad.override:
Implement pad query proxying so that python elements can
answer pad queries. Fixes: #428299
Original commit message from CVS:
* codegen/codegen.py:
Also ignore pointers and boxed if they're in ignore-type.
* gst/gst-0.10.7.ignore:
Add gst_type_find_factory_call_function to functions ignored before
0.10.7 since it requires GstTypeFind arguments.
Original commit message from CVS:
* gst/__init__.py: Implement multiplication, divison and float
coercing for fractions.
* testsuite/test_fraction.py:
Add fraction tests
Original commit message from CVS:
* gst/gsttaglist.override (_wrap_gst_tag_list_contains):
* testsuite/test_taglist.py (TestTagList.testKeys):
Implement sq_contains and add tests for gst.TagList.
Original commit message from CVS:
* gst/__init__.py:
Added __eq__ method to fractions so we can check if two fractions are
equal.
* gst/pygstvalue.c: (my_gcd), (pygst_value_from_pyobject):
Attempt to simplify gst.Fraction before filling in a GValue.
Fixes#381243
* testsuite/test_caps.py:
* testsuite/test_struct.py:
Minor beauty fixes. framerates are fractions, not floats.
Original commit message from CVS:
reviewed by: Edward Hervey <edward@fluendo.com>
* gst/interfacesmodule.c: (initinterfaces):
initialize pygobject in the gst.interfaces modules. The absence of it
causes segfaults on Solaris and MIPS machines.
Fixes#343980
Original commit message from CVS:
* gst/base.defs:
Limitations in the code generator mean that we can't handle PushSrc
in a way which works, so just comment this out until someone wants
to tackle this more completely.
Original commit message from CVS:
* gst/pygstvalue.c: (pygst_value_init_for_pyobject),
(pygst_value_from_pyobject):
Make buffers-in-gvalues more generic: handle all miniobjects
* testsuite/test_caps.py:
Add a bit to one the test for buffers in caps.
Original commit message from CVS:
* gst/pygstvalue.c: (pygst_value_as_pyobject),
(pygst_value_init_for_pyobject), (pygst_value_from_pyobject):
Implement gst.Buffer support in GValues (e.g. for caps containing
buffers)
Original commit message from CVS:
reviewed by: Edward Hervey <edward@fluendo.com>
* gst/gstpad.override:
Allow removing the negotiated pads of a cap by setting them to None.
* testsuite/test_pad.py:
Added un-negotian of pads' caps to test above patch.
Fixes#363795
Original commit message from CVS:
reviewed by: Edward Hervey <edward@fluendo.com>
* gst/interfaces.defs:
* gst/interfaces.override:
* testsuite/test_interface.py:
Fully implement GstPropertyProbe interface, with unit test.
Fixes#376996
Original commit message from CVS:
* codegen/codegen.py:
Don't register interface if it is ignored
* configure.ac:
GST_PB_MINOR_VERSION doesn't appear by magic, you actually have to
parse it from pkg-config !
* gst/gst-pb-0.10.11.ignore:
Ignore GstVideoOrientation type altogether.
* gst/interfaces.override:
Include gstversion.override so that non-existent API is properly ignored.
Should fix#401051 once and for good now.
Original commit message from CVS:
* configure.ac:
Check for availability of video-orientation interface
* gst/gst.override:
don't forget to increment the refcount of Py_None before returning it.
* gst/interfaces.override:
If video-orientation interface isn't available, don't include the
header.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gstversion.override.in:
* gst/gst-0.10.12.ignore:
Add ignore file for 0.10.12 API additions
* gst/gst.defs:
* gst/base.defs:
* gst/gst-types.defs:
Add new API definitions
* gst/gst-0.10.10.ignore:
* gst/gst-0.10.11.ignore:
Fixup ignore files.
* testsuite/test_segment.py:
The update return value is uncertain and will soon be deprecated, don't
check against it anymore.
Original commit message from CVS:
* gst/pygstexception.c: (element_not_found_error_init),
(pygst_exceptions_register_classes):
* gst/pygstexception.h:
gst.element_factory_make should raise ElementNotFoundError.
Subclass it from PluginNotFoundError so we can add it compatibly
and remove the wrong one later.
* gst/gstelementfactory.override:
raise ElementNotFoundError
Original commit message from CVS:
* gst/interfaces.defs:
* gst/interfaces.override:
wrap mixer get_volume
* examples/Makefile.am:
* examples/mixer.py:
add an example using it
Original commit message from CVS:
* configure.ac:
fix use of PKG_CHECK_MODULES
check for a pygobject of at least 2.11 for a value_from_pyobject fix
* gst/gstobject.override:
use it
Original commit message from CVS:
* configure.ac:
check for stuff added in gst-pb 0.10.11
* gst/Makefile.am:
* gst/interfaces.defs:
* gst/interfaces.override:
add video orientation interface
Original commit message from CVS:
* gst/gst.defs:
Add declaration of gst_object_set_property so we can use our MT-safe
version of set_property().
* gst/gstobject.override:
Implement a MT-safe version of g_object_set_property for GstObject.
The problem is that currently g_object_set_property is called in
pygobject with the GIL lock taken. This can cause deadlocks.
Remove this hack once bug #395048 is fixed in pygobject and we depend on
the fixed version.
Thanks to Lord Wingo of the "realm.py haters club" for proposing the
idea.
Original commit message from CVS:
* codegen/codegen.py:
When chaining up to the parent class methods from python to C, we need
to allow threads (i.e. release the GIL).
* gst/gstbase.override:
* gst/gstbin.override:
Modify __do_*() overrides in the same way as above.
Original commit message from CVS:
* gst/gst.defs:
Update API definitions.
* gst/common.h:
* gst/gstpad.override:
Add wrapper functions for settings activate, activatepull and
activatepush functions on pads.
* gst/gst.override:
Wrapper for gst_segment_set_seek() and gst_segment_clip()
Remove global ignore for *_init(), allows gst_segment_init() to be
properly code-generated.
* testsuite/Makefile.am:
* testsuite/test_segment.py:
Add unit test for gst.Segment object.
Original commit message from CVS:
* codegen/argtypes.py:
* gst/arg-types.py:
Move GstIterator ArgType definition and usage for the codegenerator
to gst/arg-types.py. It has nothing to do in the codegenerator code.
Original commit message from CVS:
* codegen/override.py:
Fix the lookup of override files in the specified search directories.
* gst/Makefile.am:
Don't distribute gstversion.override
Fixup .defs => .c make instructions
All the above fixes the cases where you're building in a directory
different from the source directory.
Original commit message from CVS:
* gst/extend/discoverer.py:
Avoid buffering infinite amounts of decoded data if a decoder is
feeding us data without a duration (or with bad duration values).
Original commit message from CVS:
* gst/extend/discoverer.py: Make the queue buffer up 1s of data before
outputting to the sinks. This should give time for some demuxers like
mpegdemux or fluasfdemux to discover a bit more about the muxed
stream and add the correct pads.
Fixes#371969
Original commit message from CVS:
* gst/gst-0.10.10.ignore:
Added symbols added in 0.10.10
* gst/gst-0.10.6.ignore:
gst_dp_packetizer_new() addition
* gst/gst.defs:
Updated API for 0.10.10 symbols
* gst/gstmodule.c: (init_gst):
Added GST_TAG_EXTENDED_COMMENT which appeared in 0.10.10
* gst/libs.defs:
Added gst_dp_packetizer_new() which was added in 0.10.6. It still won't
work because GstDPPacketizer is a pointer. It needs to have a GBoxed
definition in order to be used properly within gst-python.
Also added controller-related additions
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.11.ignore:
* gst/gstversion.override.in:
Added ignore files for 0.10.11 gstreamer core
* gst/base.defs:
Updated API for base libs
* gst/gst.defs:
Updated API for core
* gst/gst.override:
remove #ifdef for methods which weren't available in versions of pygtk
we don't support anymore.
* gst/gstbase.override:
Added overrides for GstBaseSink::get_times() virtual method
* gst/gstbin.override:
Added override for GstBin::handle_message() virtual method
Original commit message from CVS:
* gst/Makefile.am:
Explicitly export _PyGObject_API from our modules, as it's apparently
needed for import. Previously we implicitly relied on a bug in the
core providing --export-dynamic as a link flag.
Original commit message from CVS:
* gst/extend/jukebox.py:
* gst/extend/leveller.py:
* gst/extend/sources.py:
Revival of the jukebox (and leveller) using 0.10 and gnonlin.
Still needs a bit of love, but functionnal enough.
Original commit message from CVS:
* gst/libs.defs:
Add definition for GstParamFlags, extension of the GParamFlags.
Only contains one flag, gst.PARAM_CONTROLLABLE.
Closes#355150
Original commit message from CVS:
* gst/gst.override:
We don't own a reference on the elements contained in the list
returned by gst_xml_get_topelements().
Original commit message from CVS:
* configure.ac:
If pygobject is available, only build with it, else try to find pygtk
to stay compatible with older version.
* gst/Makefile.am:
Switch to pygobject CFLAGS.
* testsuite/Makefile.am:
Switch to pygobject CFLAGS.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.10.ignore:
* gst/gstversion.override.in:
Add new ignore for 0.10.10 API additions
* gst/gst.defs:
Added definitions for new segtrap functions
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.
Original commit message from CVS:
* gst/gstmessage.override:
State change is a list and not a tuple
* gst/gstpad.override:
query_position() got busted in previous commit.
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
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.
Original commit message from CVS:
* gst/base.defs:
* gst/gst-0.10.7.ignore:
* gst/gst-types.defs:
* gst/gst.defs:
* gst/gstbase.override:
* gst/libs.defs:
Update for API additions.
* gst/gstmodule.c: (init_gst):
Added new GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE
Original commit message from CVS:
reviewed by: Edward Hervey <edward@fluendo.com>
* gst/__init__.py:
Make gst-python work on OS without dl.so
Fixes#341799
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.7.ignore:
* gst/gstversion.override.in:
Added ignore file for core 0.10.7
* gst/base.defs:
Added gst_adapter_take_buffer
* gst/gst-0.10.6.ignore:
Filed API addition for 0.10.6
* gst/gst-types.defs:
Added GstTypeFind pointer definition
* gst/gst.defs:
* gst/gst.override:
Added fake function gst_type_find_new() to create a GstTypeFind that can
be used in all typefinding function.
GstTypeFind *
gst_type_find_new(data, peekfunction, suggestfunction [, getlenghtfunction])
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst-0.10.6.ignore:
* gst/gst.defs:
* gst/gstversion.override.in:
Update for API changes.
Added ignore files for core 0.10.6 API additions.
Original commit message from CVS:
* gst/gst.override:
Reverting previous patches for conditional ignore.
It can't be done from within override files.
The only one left is the python gst_debug_log function
which will do nothing #ifdef GST_DISABLE_GST_DEBUG.
Also removed the conditional ignore for API changes since it didn't
have any effect either.
Original commit message from CVS:
* codegen/codegen.py:
* codegen/override.py:
Added code to ignore type and the function/methods/classes that use
them.
* gst/gst.override:
ignore methods/classes/types depending on how GStreamer core was built:
_ GST_DISABLE_GST_DEBUG
_ GST_DISABLE_LOADSAVE
_ GST_DISABLE_PARSE
Original commit message from CVS:
* examples/gstfile.py:
Threaded application, we NEED gobject.threads_init().
This should finally gets rid of the crashes when used on single files.
* gst/extend/discoverer.py:
Re-order the imports.
Original commit message from CVS:
* gst/arg-types.py:
Caps used as arguments of virtual methods should keep their initial
refcount when calling the python methods.
This is similar to the patch done for GstMiniObjects.
* gst/gstbase.override:
Adjust the gst.BaseTransform.get_unit_size() virtual method for above
fix.
Original commit message from CVS:
* gst/arg-types.py:
GstMiniObject used as virtual methods parameters should be unreffed
before calling the method and the ref-ed.
Added Params and Returns for const-gchar*, GType and gulong so the
code generator can generate more virtual methods handlers/proxys.
* gst/gst-types.defs:
* gst/gst.defs:
* gst/interfaces.defs:
Added vtable and virtual method definition for interfaces so we can properly use virtual
methods from those interfaces in python.
Original commit message from CVS:
2006-04-19 Andy Wingo <wingo@pobox.com>
* gst/gstpad.override: (pad_block_callback_marshal)
(_wrap_gst_pad_set_blocked_async): Fix refcounting problems and
indent.
Fixes#338982