2004-07-16 Johan Dahlin * pkgconfig/gst-python.pc.in (pyexecdir): Add and remove comments for all other variables. 2004-07-15 Johan Dahlin * 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 * gst/__init__.py: Use DLFCN instead of dl to help python installations without the dl module (gentoo for instance) 2004-07-13 Johan Dahlin * 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) * testsuite/element.py (QueryTest.testQuery): Another small test * gst/gst.override (_wrap_gst_element_query): Ditto (_wrap_gst_pad_convert): Ditto * 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. 2004-07-02 David Schleef * configure.ac: Correctly check for XML tools. Correctly set BUILD_DOCS variable depending on tools. * docs/Makefile.am: Use XML variables. 2004-06-21 Thomas Vander Stichele * configure.ac: back to cvs === release 0.7.92 === 2004-06-21 Thomas Vander Stichele * testsuite/Makefile.am: * testsuite/common.py: passed make distcheck, ready to go 2004-06-21 Johan Dahlin * gst/Makefile.am (EXTRA_DIST): Add ltihooks.py 2004-06-18 Johan Dahlin * testsuite/runtests.py (dir): Change to srcdir before running the test, should make it pass distcheck 2004-06-10 Thomas Vander Stichele * gst/__init__.py: * testsuite/Makefile.am: * testsuite/caps.py: adding a caps test 2004-06-09 Johan Dahlin * 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 2004-05-24 Johan Dahlin * testsuite/interface.py (Availability.testXOverlay): Extend to test method calling on interfaces * testsuite/common.py: call pygtk.require first * gst/gstbin.override (_wrap_gst_bin_get_by_name): Add a keyword argument recurse and remove _wrap_gst_bin_get_by_name_recurse_up. * gst/gst.override (_wrap_gst_element_get_pad_list): Split out bin functions to ... * gst/gstbin.override: .. this file * gst/gst.defs (bin_new): allow NULL for first argument. (child_state_change): Remove, it's private. 2004-05-04 Johan Dahlin * 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 2004-05-03 Johan Dahlin * gst/__init__.py: Remove pygtk import and import gobject directly. It's up the app to call pygtk.require and no the library. * 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. * gst/common.h: Add some parenthesises * gst/play.override: Include common.h * configure.ac: Use different prefix for the new check of PyGtk so we're not overwriting the good PYGTK_CFLAGS * 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 * 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 2004-05-01 Johan Dahlin * testsuite/runtests.py (gettestnames): Cleanup * testsuite/element.py (FakeSinkTest): Enable again and disable stderr while changing state to ready (ElementName.testElementStateGetName): New function to test gst.element_state_get_name. * testsuite/common.py (path): Don't import ltihooks and proper check for gst module. Add --gst-debug-no-color as a global option (disable_stderr, enable_stderr): New functions to disable stdout called from non python 2004-04-30 Johan Dahlin * gst/gst.defs (element_state_get_name): Add. 2004-04-21 Johan Dahlin * 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. 2004-04-16 Johan Dahlin * 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 :/ * 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 * 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. (init) Assign tp_new for pipeline and thread to PyType_GenericNew for now. * 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 2004-04-06 Johan Dahlin * examples/gstplay/videoplayer.py: New example, simple video player embedded in a gtk+ widget. === release 0.7.91 === 2004-03-31 Johan Dahlin * configure.ac (ACLOCAL): Bump version * gst/Makefile.am (EXTRA_DIST): And make sure we have all defs here. * gst/ltihooks.py: New file * gst/__init__.py: try to import ltihooks.py * gst/Makefile.am: Only install gst-types.defs * Makefile.am (EXTRA_DIST): Add codegen/* Can't believe distcheck passed === release 0.7.90 === 2004-03-30 Johan Dahlin * docs/NEWS.xml: Update 2004-03-29 Johan Dahlin * examples/gst/wavenc.py: New example * Makefile.am (EXTRA_DIST): Add wavenc.py 2004-03-24 Johan Dahlin * 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. 2004-03-18 Johan Dahlin * configure.ac: s/GST_*_INCLUDES/GST_*_LIBS/ 2004-03-18 Thomas Vander Stichele * gst/Makefile.am: fix automake don'ts 2004-03-18 Thomas Vander Stichele * examples/gst/player.py: update for new API. Use Enter to pause pipeline. * examples/gst/vorbisplay.py: update for new API 2004-03-18 Thomas Vander Stichele * configure.ac: subst GST_MAJORMINOR * docs/Makefile.am: disable docs checks until they satisfy make distcheck 2004-03-17 Johan Dahlin * 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 * gst/gst.defs: Remove unused functions. * gst/gst.override: Ditto * gst/__init__.py (devloc): delete dl * Makefile.am (DIST_SUBDIRS): Remove PLAYDIR 2004-03-16 Johan Dahlin * configure.ac: Support build without gstplay and gstinterfaces * gst/Makefile.am: Move the gstplay bindings over here * Makefile.am, configure.ac: Remove examples/ and put them in EXTRA_DIST here * 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 2004-03-15 Johan Dahlin * gst/*: Move interfaces over here, make it build, remove gstreamer.py 2004-03-12 Johan Dahlin * configure.ac: PyGtk 1.99.14 should be okay (Shipped with RH9), AC_SUBST GStreamer and PyGTK flags * Makefile.am (PLAYDIR): Disable for now * configure.ac: Build against 0.8 * gstinterfaces/Makefile.am: clean up a little bit * gstinterfaces/__init__.py (devloc): s/gstreamer/gst/ * codegen: Resync and appy my interface constructor patch 2004-03-09 Johan Dahlin * gst/gst.override (_wrap_gst_g_error_tp_str) (_wrap_gst_g_error_tp_str): Impl. * gst/gst-types.defs (GError): Add * gst/Makefile.am (defs_DATA): Install defs * codegen/*: Resync 2004-03-05 Johan Dahlin * testsuite/element.py: Update to new api * codegen/*: Copy PyGTK code generator here, to avoid depending on latest version. * configure.ac: Add versioning, ala pygtk, and use the internal code generator instead of the installed one 2004-03-04 Thomas Vander Stichele * configure.ac: * examples/Makefile.am: * gst/Makefile.am: * gstinterfaces/Makefile.am: * gstplay/Makefile.am: * testsuite/Makefile.am: fix make distcheck move examples/gstreamer to examples/gst 2004-03-04 Thomas Vander Stichele * Makefile.am: * autogen.sh: * configure.ac: * gst/__init__.py: * gst/gstmodule.c: (init_gst): move gstreamer/ to gst/ by cvs surgery so we can work uninstalled more changes to be able to run uninstalled 2004-02-27 Johan Dahlin * gstreamer/: All over the place, more rename work (gstreamer -> gst) * examples/gstreamer/filesrc.py,player.py: New examples * gstreamer/gstreamer.override: Add a dict like interface to GstTagList * gstreamer/gstpad-handlers.override: New file, split out from gstreamer.override * gstreamer/gst-types.defs: Don't use gst_buffer_free/gst_data_free, use gst_data_unref instead. * gstreamer/gst-types.c (PyGstData_to_value): Don't send address here. * gstreamer/arg-types.py (GstDataPtrArg.write_param): Send the address to stuff, since we really want to avoid segfaults :) * gstreamer/0.6.[c,defs,h,override]: Remove, we're focusing on 0.7 * gstreamer/0.7.[c,defs,h,override]: Remove, merge with gstreamer.* * gstreamer/Makefile.am: Clean up, remove versioning support. 2004-02-25 Johan Dahlin * gstreamer/gstreamer.override: * gstreamer/gstreamermodule.c: Rename some more things to gst * gstreamer/arg-types.py: Clean up and add GstData handling * gstreamer/gstreamer.defs: * gstreamer/gst-types.defs: Split out types to a separate defs * gstreamer/gst-types.c: New file to handle custom GstData conversions. 2004-02-24 David I. Lehn * gstreamer/0.7.override: * gstreamer/common.h: GstStructure and GstTagList foreach() support. * examples/gstplay/player.py: Use TagList.foreach() to print tags. 2004-02-24 David I. Lehn * gstreamer/common.override: Attempt to handle GstBuffer vs GstData better. 2004-02-24 Johan Dahlin * gstreamer/gstreamer.defs: rename all functions, remove gst_ suffix. * gstreamer/examples/gstreamer/*.py: Update to new API. 2004-02-23 Johan Dahlin * gstreamer/gstreamer.defs (element_link_many): This is function and not a method, despite popular belief (gst_element_factory_make): Make it the constructor of GstElement, so we can avoid dirty hacks. * gstreamer/gstreamer.override (_wrap_gst_element_link_many): Wrap (_wrap_gst_element_link_many): Wrap * gstreamer/common.defs: * gstreamer/common.override: * gstreamer/Makefile.am: Beginning of reorganization, to include gstreamer.defs and override (eg, not auto generate them) * examples/gstreamer/cp.py: Prettify and pythonify. Will do the other examples later * gstreamer/gstreamer.py: Backwards compatibility module * gstreamer/gstreamermodule.c: * gstreamer/Makefile.am: Rename the module to gst 2004-02-18 David I. Lehn * gstreamer/0.7.defs: Wrap GstTagList. 2004-02-18 David I. Lehn * gstinterfaces/0.7.c: * gstinterfaces/0.7.h: * gstinterfaces/0.7.override: * gstinterfaces/__init__.py: * gstinterfaces/arg-types.py: * gstinterfaces/common.c: * gstinterfaces/common.h: * gstinterfaces/common.override: * gstinterfaces/gstinterfacesmodule.c: * gstplay/0.7.c: * gstplay/0.7.h: * gstplay/0.7.override: * gstplay/__init__.py: * gstplay/arg-types.py: * gstplay/common.c: * gstplay/common.h: * gstplay/common.override: Adjust date to 2004. 2004-02-11 Thomas Vander Stichele * acinclude.m4: fix underquotedness 2004-02-03 David I. Lehn * gstinterfaces/.cvsignore: * gstinterfaces/0.7.defs: * gstinterfaces/Makefile.am: * gstinterfaces/common.defs: * gstinterfaces/common.override: * gstinterfaces/gstinterfacesmodule.c: (init_gstinterfaces): * gstplay/.cvsignore: * gstplay/0.7.c: * gstplay/0.7.defs: * gstplay/0.7.h: * gstplay/0.7.override: * gstplay/Makefile.am: * gstplay/__init__.py: * gstplay/arg-types.py: * gstplay/common.c: * gstplay/common.h: * gstplay/common.override: * gstplay/gstplaymodule.c: (init_gstplay): * gstreamer/Makefile.am: * gstreamer/__init__.py: * gstreamer/common.override: Support GstPlay, bug fixes, updates. * examples/gstplay/player.py: GstPlay example. * Makefile.am: Support GstPlay build. * configure.ac: Support GstPlay build, remove AC_SUBST() calls that PKG_CHECK_MODULES does automagically. 2004-01-27 David I. Lehn * Makefile.am: add gstinterfaces dir * configure.ac: get interfaces include dirs * gstreamer/.cvsignore: add .py[co] * gstreamer/0.6.defs: * gstreamer/0.6.override: * gstreamer/0.7.defs: * gstreamer/0.7.override: * gstreamer/common.defs: * gstreamer/common.override: rearrange code for both 0.6 and 0.7 support * gstreamer/Makefile.am: add -fno-strict-aliasing due to python issues * gstinterfaces/.cvsignore: * gstinterfaces/0.7.c: * gstinterfaces/0.7.defs: * gstinterfaces/0.7.h: * gstinterfaces/0.7.override: * gstinterfaces/Makefile.am: * gstinterfaces/__init__.py: * gstinterfaces/arg-types.py: * gstinterfaces/common.c: * gstinterfaces/common.defs: * gstinterfaces/common.h: * gstinterfaces/common.override: * gstinterfaces/gstinterfacesmodule.c: messy start of interfaces handling 2003-12-07 Gustavo J. A. M. Carneiro * gstreamer/common.override (_wrap_gst_element_factory_make_element): Make name argument optional. 2003-10-10 David I. Lehn * configure.ac, gstreamer/Makefile.am, gstreamer/*: Mass change to support compiling for both 0.6 and 0.7. Common support is now in common.{defs,override,c,h}. Specific version support is in {0.6,0.7}.{defs,override,c,h}. The common and version specific files are merged and/or used as needed. * gstreamer/common.override: add gst_version * examples/gstreamer/ilat.py: add annoying version check for 0.6 API 2003-10-09 David I. Lehn * configure.ac: require autoconf 2.57 and pygtk 2.0.0. * gstreamer/Makefile.am: fix libtool 1.5 build by fixing export symbol typo s/initgstreamer/init_gstreamer/ * gstreamer/examples/ilat.py: 4 space indents 2003-10-05 Thomas Vander Stichele * examples/gstreamer/*.py: use Element over gst_element_factory_make 2003-10-05 Thomas Vander Stichele * gstreamer/gstreamermodule.c: (init_gstreamer): use gst_init_check () with argc and argv (see pygtk) 2003-10-04 Thomas Vander Stichele * Makefile.am: add testsuite dir * configure.ac: bump to cvs version nano, add testsuite Makefile * testsuite/Makefile.am: testsuite * testsuite/element.py: test for Element class * gstreamer/gstreamer.overrides: add a wrapper for Element () * gstreamer/gstreamer-extra.defs: add a constructor for Element 2003-09-27 Thomas Vander Stichele * gstreamer/gstrearem.override: fix Py_BuildValue for 64 bit ints 2003-07-10 David I. Lehn * AUTHORS, NEWS, README, TODO, README-docs, Makefile.am, configure.ac, docs/Makefile.am, docs/NEWS.xml, docs/README.xml, docs/RELNOTES.xml, docs/gst-python.ent.in, docs/notes/release: distcheck and final release prep fixes 2003-07-09 David I. Lehn * configure.ac: check for xmlcatalog for docs build (probably not strictly needed for general use but fixes non-srcdir builds) * Makefile.am: conditionally build docs * README.docs, Makefile.am: info on where doc sources are located * docs/gst-python.xml: removed (split into partial files) * README, AUTHORS, NEWS, TODO: removed (generated from docs/*) * .cvsignore, docs/.cvsignore: add generated files * docs/{AUTHORS.xml, NEWS.xml, README.xml, RELNOTES.xml, TODO.xml, gst-python.ent.in, common.xsl, full.xsl, part.xsl, Makefile.am}: redo autobuilt docs system with fancy XInclude features * README.docs, README-docs: rename * docs/notes/release: add release checklist * docs/gst-python.ent.in: update pubdate 2003-06-26 David I. Lehn * configure.ac, AUTHORS, NEWS, README, TODO, docs/Makefile.am, docs/HEAD.in docs/docutils.conf, docs/gst-python.css: kill docutils based docs (easy come, easy go) * AUTHORS, NEWS, README, TODO, docs/Makefile.am, docs/gst-python.xml, docs/common.xsl, docs/html.xsl, docs/pdf.xsl, docs/gst-python.css: docbook based docs 2003-06-25 David I. Lehn * gstreamer/Makefile.am: fix up line continuations * configure.ac, Makefile.am, pkgconfig/*: add pkgconfig support * configure.ac, Makefile.am, AUTHORS, NEWS, README, TODO, docs/HEAD.in, docs/Makefile.am, docs/docutils.conf, docs/gst-python.css: docutils based docs 2003-06-11 Thomas Vander Stichele * gst-python.spec.in: fix * Makefile.am, autogen.sh, configure.ac: convert to same style as other GStreamer modules 2003-02-10 David I. Lehn * TODO: add TODO list 2003-02-08 David I. Lehn * gstreamer/Makefile.am: make distcheck fixification 2003-02-06 David I. Lehn * gstreamer/gstreamer-extra.defs, gstreamer/gstreamer.override: add wrapper for gst_props_entry_gst_list() and method gst_list() to GstProps to access properties list * gstreamer/gstreamer-extra.defs, gstreamer/gstreamer-fixes.[ch]: add alias for gst_props_entry_get_type as _get_props_type() since _get_type() is recognized as a GObject type function * examples/gstreamer/oggplay.py: rename to vorbisplay.py * examples/gstreamer/vorbisplay.py: print out meta/stream info * gstreamer/Makefile.am: add gstreamer.defs to CLEANFILES 2003-02-05 David I. Lehn * configure.ac: require GStreamer core 0.6.0 * examples/gstreamer/bps.py: added buffers-per-second test * gstreamer/gstreamer-fixes.[ch]: add functions for optimized bin iteration (may move or rename): - id add_iterate_bin(bin) - remove_iterate_bin(id) - iterate_bin_all(bin) 2003-01-22 David I. Lehn * configure.ac: require GStreamer core 0.5.2 2003-01-09 David I. Lehn * examples/gstreamer/*, gstreamer/gstreamer.override: update to new GstPad/GstElement link API and remove old hacks to call GObject connect method * gstreamer/Makefile.am: ignore gstcompat.h * configure.ac: require GStreamer core 0.5.1.1 2003-01-04 David I. Lehn * gstreamer/gstreamer.override, gstreamer/gstreamer-extra.defs: add GstPropsEntry and wrappers for most of get_* methods * gstreamer/gstreamer-arg-types.py: add GstClockID as a pointer arg type (not too useful, really need to make it a boxed type) 2003-01-02 David I. Lehn * gstreamer/__init__.py: add threads_init() function * gstreamer/gstreamer.override: add pad and element query and convert methods 2002-12-31 David I. Lehn * configure.ac: require PyGTK 1.99.14 * pygtk.diff: integrated upstream, remove patch * gstreamer/Makefile.am: filter out gstatomic_impl.h from includes used to create defs * examples/gstreamer/oggplay.py: s/vorbisdec/vorbisfile/ (Thanks to Kenichi Sato ) 2002-12-22 David I. Lehn * configure.ac: fix include dir check and fail if not found 2002-12-21 David I. Lehn * gstreamer/gstreamer.override (call_connect_function, call_chain_function): block/unblock threads before entering Python interpreter * gstreamer/gstreamer.override: indent 2002-12-17 David I. Lehn * gstreamer/gstreamer.override: add wrapper for gst_element_set_state to release GIT lock 2002-12-14 David I. Lehn * configure.ac: bump gstreamer version to 0.5.0 * *: update to use sourceforge email address 2002-11-07 David I. Lehn * configure.ac: bump gstreamer version to 0.4.2, bump pygtk version to 1.99.13 * gstreamer/__init__.py: add "import pygtk; pygtk.require('2.0')" * examples/gstreamer/dvdplay.py: updated to maybe work with threads * pygtk.diff: add work-in-progress PyGTK threading improvements diff 2002-10-23 David I. Lehn * gstreamer/gstreamer.override: override gst_bin_iterate() to unblock threads since this call can cause exacution to re-enter the interpreter. 2002-10-04 David I. Lehn * gstreamer/gstreamer.override, gstreamer/gstreamer-fixes.h: add temporary hack to fix 0.4.1 s/gst/get/ typo in GST_TYPE_CAPS/PROPS() 2002-10-04 David I. Lehn * README: basic info. * COPYING: remove the literal "^L" strings. * configure.ac: require GStreamer core 0.4.1. * gstreamer/gstreamer-extra.defs: add boxed type defs, convert buffer get/set_data to methods vs functions. * gstreamer/gstreamer.overrides: remove boxed type generated code, adapt rest to boxed types. * examples/gstreamer/*: set interpreter to "python" vs "python2.2", adapt to newer generated code (Pipeline vs gst_pipeline_new()), adapt to newer api. 2002-05-09 David I. Lehn * examples/gstreamer/dvdplay.py: adjust state changes, use sdlvideosink (videosink segfaulting for me right now) * gstreamer/gstreamer.defs: remove * gstreamer/gstreamer-base.defs, gstreamer/gstreamer-xtra.defs, Makefile.am: create gstreamer.defs from h2defs.py output and local hacks 2002-04-15 David I. Lehn * examples/gstreamer/*.py: use new element connect api * gstreamer/__init__.py: use dl module flags in particular, RTLD_GLOBAL flags is required 2002-04-14 David I. Lehn * configure.ac: depend on gstreamer 0.3.4 * examples/gstreamer/*.py: s/elementfactory/element_factory/ * gstreamer/gstreamer-fixes.h, gstreamer/gstreamer-fixes.c: remove defs no longer needed due to upstream changes * gstreamer/gstreamer.defs: regen for 0.3.4 2002-03-24 David I. Lehn * examples/gstreamer/: add cp.py oggplay.py f2f.py dvdplay.py * gstreamer/gstreamermodule.c: strip GST_ prefix * gstreamer/__init__.py: find libtool lib hack 2002-03-23 David I. Lehn * stole binding framework from gnome-python && gconf * adapted to gstreamer