I recently ranted about my frustration with GStreamer in a SoundCloud
command-line client written in Ruby.
Well, it turns out that there was quite a bit confusion going on.
I still haven't figured out why my initial tries resulted
in an error regarding $DISPLAY not being set.
But now that I have played a bit with gst-launch-1.0, I can positively
confirm that this was very likely not the fault of GStreamer.
THe actual issue is, that ruby-gstreamer is assuming gstreamer-1.0,
while soundCLI was still written against the gstreamer-0.10 API.
Since the ruby gst module doesn't have the Gstreamer API version
in its name, and since Ruby is a dynamic language that
only detects most errors at runtime, this led to all sorts of cascaded errors.
It turns out I only had to correct the use of query_position, query_duration,
and get_state, as well as switching from playbin2 to playbin.
soundCLI is now running in the background and playing my SoundCloud stream.
A pull request against soundCLI has also been opened.
On a somewhat related note, I found a GCC bug (ICE SIGSEGV) this weekend.
My first one.
It is related to C++11 bracketed initializers.
Given that I have heard GCC 5.0 aims to remove the experimental
nature of C++11 (and maybe also C++14), this seems like a good
time to hit this one. I guess that means I should finally
isolate the C++ regex (runtime) segfault I recently stumbled across.