My Novacut porting branch is here:<br><br><a href="https://code.launchpad.net/~jderose/novacut/gst0.11">https://code.launchpad.net/~jderose/novacut/gst0.11</a><br><br>I tried to make it clear in the commit messages whenever a commit was about a specific API change or PyGI issue.  I&#39;m also going to summarize my porting notes later today and will post them here and on my blog.<br>
<br>It&#39;s getting closer to being usable, though.  Peter was a machine fixing all the (transfer floating) issues, which seemed to make up the majority of the trouble using gst 0.11 from PyGI.<br><br><div class="gmail_quote">
On Sun, Jan 29, 2012 at 8:38 AM, Thomas Vander Stichele <span dir="ltr">&lt;<a href="mailto:thomas@apestaart.org">thomas@apestaart.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi everyone,<br>
<br>
after last week&#39;s hackfest, where I almost completed a refactoring of<br>
multisocketsink and multifdsink, I wanted to test my changes from Python<br>
to make sure things work.<br>
<br>
However, I run into a few small issues that seem so simple to hit I&#39;d be<br>
surprised if no one else has hit them.  I&#39;m not sure if anyone else<br>
seriously used 0.11 with python?<br>
<br>
I checked out transmageddon&#39;s gtk3 branch, but it doesn&#39;t use some of<br>
the things that I use and see problems with (parse_launch,<br>
GST_CLOCK_TIME_NONE, ...)<br>
<br>
I can&#39;t find a pitivi branch anywhere using 0.11 - it&#39;d be nice if<br>
people shared what work they did during the hackfest and where it can be<br>
found for inspiration.<br>
<br>
A list of issues I ran into:<br>
<br>
1) parse_launch<br>
<br>
e = Gst.parse_launch(&quot;fakesrc&quot;); print e<br>
<br>
just segfaults.  Looking inside gdb, the object python is trying to<br>
print doesn&#39;t contain a valid GObject.  Does this work for anyone else ?<br>
<br>
If I change transfer-ownership from full to none, things work, so there<br>
must be a leak somewhere.<br>
<br>
2) get_state<br>
<br>
get_state now always requires the timeout parameter.<br>
Gst.CLOCK_TIME_NONE ought to mean &#39;infinite&#39;; instead I get:<br>
<br>
  File &quot;/home/thomas/Downloads/multi.py&quot;, line 32, in &lt;module&gt;<br>
    print pipeline_src.get_state(timeout=Gst.CLOCK_TIME_NONE)<br>
  File<br>
&quot;/home/thomas/gst/0.11/prefix/lib64/python2.7/site-packages/gi/types.py&quot;, line 43, in function<br>
    return info.invoke(*args, **kwargs)<br>
ValueError: -1 not in range 0 to 18446744073709551615<br>
<br>
(this is similar to some of the _NONE mess in gst-python 0.10 IIRC)<br>
<br>
If I change the .gir file manually to specify that the type of that<br>
constant is guint64 instead of gint, my code works.  However, I can&#39;t<br>
figure out how to annotate that in gstclock.h  Value: (whatever) works<br>
to change the value, but I doubt Type: guint64 is parsed correctly<br>
there.  Is it possible to do this at all ? Is anyone else able to call<br>
get_state with infinite timeout ?<br>
<br>
3) For some reason, changing the state from python claims success, but<br>
the C-level code doesn&#39;t actually go through the state change function<br>
of the subclass.  I am adding prints right now to figure out where it<br>
might be going wrong.<br>
<br>
These problems are so basic, triggered by four line files, that I&#39;m not<br>
sure if it yet makes sure to file bug reports.  I want to check first if<br>
anyone else is getting anything useful done with python and 0.11 at the<br>
moment, or if I will have to dive in and learn about gir, pygobject, and<br>
annotations....<br>
<br>
Thomas<br>
<br>
<br>
<br>
<br>
--<br>
<br>
too tired to eat<br>
too hungry to sleep<br>
<br>
savon - Saving your work to svn<br>
<a href="https://apestaart.org/thomas/trac/" target="_blank">https://apestaart.org/thomas/trac/</a><br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br>