gstreamer with go

2,263 views
Skip to first unread message

xavier...@gmail.com

unread,
May 30, 2011, 8:43:38 AM5/30/11
to golang-nuts
does someone know if there is a external package wrapping the
gstreamer library?

regards
Xavier

ziutek

unread,
Jun 1, 2011, 1:35:06 PM6/1/11
to golang-nuts
On 30 Maj, 14:43, "xavier.meh...@gmail.com" <xavier.meh...@gmail.com>
wrote:
> does someone know if there is a external package wrapping thegstreamerlibrary?
>
> regards
> Xavier

I work with gstreamer a lot. Lastly I wrote very complicated gstreamer
based web application (with multiple threads) in python (using pygst)
and it works really bad (there are unexpected crashes and hangs). It
seems that there are some issues between gstreamer (GObject) threads
and python threads. I tried rewrote it in the way eliminating some
threads and simulate them using MainLoop Idles and Timers, but this
didn't help.

Then I decided to rewrite gstreamer parts of my application in C and
compile it as separate process spawned from python code. I've noticed
that pygst reacts in different (strange) way for pipeline (elements)
state changes than pure C implementation.

Writing GObject application in plain C isn't easy work. So I wondered
about write some bindings for Go. But in the meantime I discovered
Vala language. I realized that Vala is probably the best way to write
native GObject application, without any issues from any bindings.
Recently I spend all days writing in Vala and realized that there are
many subtle similarities between Go and Vala. Vala seems to be close
to C than Go (Vala is compiled to C and use GObjcet type system) but
there are many concepts in Vala/GObject that seems to be used in Go
to. It hasn't any real runtime and its GC is only reference counting,
but this simplicity isn't any issue for me now. Vala syntax is C#
based but there is other syntax for valac compiler called Genie (seems
to be Python based). I've wondered about writing parser for Go-like
syntax but I haven't enough free time for such project now.

So I recommend use Vala for write gstreamer applications but if
someone start a project to write GStreamr bindings for Go I will be
happy to join it in my free time.

It seems to be some GObject bingings in go-gtk. So maybe it can be a
good start point for gstreamer bindings.

ziutek

unread,
Jul 25, 2011, 8:58:55 PM7/25/11
to golang-nuts
I've just published very initial version of bindings for GStreamer.
See https://github.com/ziutek/gst

xavier...@gmail.com

unread,
Jul 26, 2011, 3:34:17 AM7/26/11
to golang-nuts
Thanks ziutek
Reply all
Reply to author
Forward
0 new messages