[gst-devel] Can't make gstreamer work

David Given dg at tao-group.com
Mon Sep 10 04:34:04 CEST 2001


I want to write an application for my shiny new Linux box; a PVR, to be exact.
I have a bttv based capture card, a GeForce2 with video out capabilities, and I
can use command line tools to capture and playback with no problems. And, I must
say, 2300kbit MPEG1 video knocks VHS into a cocked hat.

For the final application I would really like a nice, integrated, video
streaming library. (I don't want to have to fiddle around with calling command
line tools.) So you can imagine that I was rather happy to discover gstreamer.

Unfortunately, I can't get it to work.

Firstly, I had a lot of problems getting it to compile. (This is gstreamer
0.2.1, although I've tried other versions.) autogen.sh falls over with obscure
errors about missing AC_ or AM_ defines, which I then can't find in the
referenced files. Oddly, "debian/rules binary" works much better.

Once compiled, gstmediaplay only works sometimes. Occasionally it works, mostly
it doesn't. Here's some sample output from playing an MP3 (blank lines omitted for brevity):

INFO (27810:-1) Initializing GStream
er Core Library
INFO (27810:-1) CPU features: (0c040
882) MMX SSE 
** CRITICAL **: file gstelement.c: line 469 (gst_element_get_pad_list): assertion `element != NULL' failed.
Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkObject'
Gtk-CRITICAL **: file gtksignal.c: line 724 (gtk_signal_connect): assertion `object != NULL' failed.
Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkObject'
Gtk-CRITICAL **: file gtksignal.c: line 724 (gtk_signal_connect): assertion `object != NULL' failed.
** CRITICAL **: file gstelement.c: line 469 (gst_element_get_pad_list): assertion `element != NULL' failed.
Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkObject'
Gtk-CRITICAL **: file gtksignal.c: line 724 (gtk_signal_connect): assertion `object != NULL' failed.
Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkObject'
Gtk-CRITICAL **: file gtksignal.c: line 724 (gtk_signal_connect): assertion `object != NULL' failed.
** CRITICAL **: file gstpad.c: line 625 (gst_pad_connect): assertion `sinkpad != NULL' failed.
** CRITICAL **: file gstpad.c: line 1506 (gst_pad_pull): assertion `peer != NULL' failed.
[line repeated indefinately]

Doesn't look good to me.

It worked for an MPEG movie --- sort of. Enclosed is an ultra-low-quality
snapshot. Do you see the colour banding? That's not there in the original.

I tried the sample programs in the documentation. The basic MP3 player worked;
but it used about twice the CPU time that mpg123 did. Most of the threaded
versions wouldn't compile, but when I finally got one to compile it produced
much the same output as gstmediaplayer above.

I've tried this on two machines, both Debian woody, with the same results. Is
gstreamer in an officially useful state yet, or is it just that my machies are
broken in the same way? I'd really like to use gstreamer for this --- it seems
to be designed for the exact thing I want to do with it. Any advice?

(BTW, the prebuild Debian gstreamer packages are built against X 4.1. As 4.1
is still in unstable, they're not a lot of use to people.)

(Also BTW, is anyone working on Python bindings?)

-- 
+- David Given --------McQ-+ "[SF is not about predicting the future.] We are
|  Work: dg at tao-group.com  | not prophets; in fact, if we were much worse at it,
|  Play: dg at cowlark.com    | we'd be economists." --- Stephen Dedman            
+- http://www.cowlark.com -+ 





More information about the gstreamer-devel mailing list