GSoC Project


Project goal: Enhance GstEditor.

My purpose is to rewrite GstEditor using Python, PyGooCanvas and Gstreamer bindigns for python in order to deliver an rich eye candy GstEditor; Preserving all the previous good ideas such as the ability to load/save pipelines in gst-xml format.

Brendan Howell GstEditor Python port is based on PyGooCanvas version 0.40  and there’s a significantly API changes for latest stable API version, the first task will be to fix the user interface.

The benefits for the Gstreamer community:

  • Provide a flexible tool for learning purposes on how the Gstreamer framework works
  • Use the exported pipeline in gst-xml format  in new applications can help new developers to integrate Gstreamer.

I like to take part of the GstEditor team in order to gain experience on Gstreamer framework that in a near feature will let me participate in a complex tasks enhancing the Gstreamer framework.

This project will be part of my semester project for “Object Oriented Programing” course that I’m currently taking.

Work plan:

  1. User interface, create the user interface with Glade.
  2. Connect the appropriate signals for functions callbacks.
  3. Integrate PyGoocanvas for GstElements figure drawing.
  4. Reuse/enhance the Gstreamer playback engine.

About me:

I’m a student in computer engineering, my study fields covers embedded systems and software engineering, my everyday duties are around programming desktop application in C, Python or programming in hardware description languages such us verilog.

I feel comfortable in both fields software/hardware and actually I have some work experience as a software engineer, a year ago I was working with TI OMAP processor dealing with audio/speech codecs, basically I used to work on an API that communicates the DSP side with the GPP side, in top of this Gstreamer is used for QA,  this is where I had my first exposure dealing with pipelines!

I’m a contributor to the Fedora project, from time to time I give tech talks promoting the use of open source technologies, one way to reduce the technological dependency of my country is to generate open alternatives that can benefit every one.

My home country is Mexico, and my school blocks all the useful ports for software developing svn, git, irc, all blocked, since this can be an issue I will use my home computer as a http_proxy.

Some of the projects that I work on last semester are:


Is an small application that takes pictures from a webcam, is written in C and uses Gstreamer to render the frame video captured from the webcam, the final picture is encoded using pixbuf utilities. The application turn out to be a great example on how not to use Goobject since I never implement an interface for get/set properties that can be used for changing the video frame size, final picture size, and as you ca see the picture orientation.



Is a simple PyGtk application for digital filter design, the application can load an wav audio file, choose a segment and apply a FIR or IIR filter. I wrote this app to demonstrate that Python, Matplotlib, Scipy and Numpy can be used as a replacement for Matlab, although there’s a minor bug on the installation script that I haven’t fix.
Both projects can be downloaded from github


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s