Gstreamer with DSP

Hi,

This has been posted a lot - I can't seem to find an answer - so I
hope it is not a repost.

Trying to play an avi with gstreamer using the DSP.

Running this command:
gst-launch-0.10 -v filesrc location="foobar.avi" ! avidemux !
omx_mpeg4dec ! omapfbsink

Returns:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
WARNING: from element /GstPipeline:pipeline0/
GstOmapFbSink:omapfbsink0: Could not initialise X output
Additional debug info:
omapfb.c(272): gst_omapfbsink_xcontext_get (): /GstPipeline:pipeline0/
GstOmapFbSink:omapfbsink0:
Could not open display
Setting pipeline to NULL ...
Freeing pipeline ...

So I run:
export DISPLAY=:0

Then gstreamer returns:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
Freeing pipeline ...

How do I debug what is going on?
How do I know that DISPLAY=0? I got that command from this forum - and
I'm not sure what it does.

Thanks,
CJ

Try

export GST_DEBUG=3

You seem to be using the dspbridge variant, which isn't really popular in beagle land. If you use angstrom just do:

opkg update && opkg install gstreamer-ti
gst-launch filersrc location=foobar.avi ! avidemux ! TIViddec2 ! omapdmaifbink

regards,

Koen

There are several issues here:

a) gst-omapfb (omapfbsink) in OE is patched to use X if it's enabled.
But you have exported the X through the net, and -obviously- the
framebuffer won't work over the network. That's why you ought unset
the X display. omapfbsink only renders to a connected device (DVI
normally).

b) The next problem is not clear to me, but something goes wrong at
the prerolling stage. Maybe you don't have an display plugged, or the
decoder fails.

Read the gstreamer manual to know how to obtain debugging traces:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-checklist-debug.html

c) The openmax plugins don't assure you an accelerated decoding.
OpenMax is just an interface for multimedia codecs, and you may have
installed an ARM decoding library such as bellagio. So no DSP would be
involved there at the end.

d) Although dspbridge is not popular among the openembedded developer
but you can follow this howto in order to have a dspbridge kernel:

http://elinux.org/BeagleBoard/DSP_Howto

e) TI's OpenMAX is just a bunch of layers for accessing the DSP, I'd
recommend you use gst-dsp which is a set of gstreamer elements which
talks directly with the socket nodes running in the dsp, son no extra
dependencies are needed.

http://elinux.org/BeagleBoard/gst-dsp

f) a minimalistic angstrom based image for testing the dsp accelerated
multimedia through dspbridge in a beagle board is here:

http://people.igalia.com/vjaquez/beagle/

vmjl