Weekly report 12 - Porting Jokosher

Hi everyone!

This was last week before starting to deliver final code to
repositories (as firm pens down date - 22th August - approaches). As
for last month I continued my work with Jokosher Gstreamer part. After
getting around element creation bug[1] (and trying to get Gstreamer
and GObject Introspection devs to get some resolution about it while
they are in Berlin), I got into another interesting problem. Python
doesn't have such concept as pointers. But I have one method
(gst_iterator_next to be exact) which was introspected just in that
way - you pass pointer to structure and method stores next iterated
element there. As I found out this is fixed with special annotations
flag, in this case (out caller-allocates). It means that value will be
given out as return value and caller will take care of allocation of
memory for it. But what happens with 'original' return value? Well,
Python is no stranger to some nice and simple data structures and this
case both values will be returned via tuple:
answer, next_element = GstIterator.next()

Patch was provided and pushed to 0.11 branch of Gstreamer[2]. Big
thanks again goes to #introspection guys (tomeu especially) about
explaining how and why to do it.

So what happens next? I'm planning to log on as much Gstreamer bugs as
I can catch within next days, finish my wiki page with detailed info
about porting bugs, going trough again for Gtk+ stuff so nothing is
left behind - and start to write porting guide so anyone could learn
from my experience. I will continue to work on porting Jokosher after
finishing GSoC project (as much as my last year studies will permit).
I love the feeling when bugs get fixed and I want to see Jokosher
running on GNOME 3.2 in autumn.

Peteris Krisjanis.

1. https://bugzilla.gnome.org/show_bug.cgi?id=656205
2. http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?h=0.11&id=59bf122584a6c33db99ba4da1851aab09092d61a

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]