[gst-devel] GStreamer plug-ins for OpenMAX IL, code for review

ensonic ensonic at hora-obscura.de
Mon Nov 27 10:03:36 CET 2006


Hi Felipe,

I've tried the plugins and have some notes for you:

the alsasink announces that it can handle depth=32, but it can't:

$ gst-launch filesrc location=song.mp3 ! mad ! omxsink_alsa
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

** (gst-launch-0.10:9581): CRITICAL **: gst_gomx_sink_render: assertion
`gomx->ports[0]->buffer_size >= GST_BUFFER_SIZE (buf)' failed
ERROR: from element /pipeline0/filesrc0: Internal data flow error.

while this workaround gets t playing (converting down to pcm16)
gst-launch filesrc location=song.mp3 ! mad ! audioconvert !
audio/x-raw-int,width=16,depth=16 ! omxsink_alsa

Next problem is the mp3-decoder does not work. Apart from not finding the
decoder, the plugin should also error out here (abort the processing).

$ gst-launch filesrc location=song.mp3 ! omxdec_mp3 ! omxsink_alsa
Setting pipeline to PAUSED ...
Component OMX_Mp3Decoder not found, sorry...
Pipeline is PREROLLING ...

This even crashes :(
$ GST_DEBUG="*:2" gst-launch videotestsrc ! omxenc_h263 ! ffdec_h263 !
xvimagesink
0:00:00.222504000  9811 0x8051a18 WARN    GST_PLUGIN_LOADING
gstplugin.c:261:gst_plugin_register_func: plugin "/home/ensonic/buzztard/lib/gstreamer-0.10/libgstbml.so" failed to initialise
Setting pipeline to PAUSED ...
Component OMX_VideoEncoder not found, sorry...
Pipeline is PREROLLING ...
0:00:00.665092000  9810 0x81f2be8 ERROR         omx_videoenc
gstomxvideoenc.c:792:gst_gomx_videoenc_sink_setcaps:<omxench2630> bad
resolution 320x240
0:00:00.665316000  9810 0x81f2be8 WARN               basesrc
gstbasesrc.c:1614:gst_base_src_loop:<videotestsrc0> error: Internal data
flow error.
0:00:00.665430000  9810 0x81f2be8 WARN               basesrc
gstbasesrc.c:1614:gst_base_src_loop:<videotestsrc0> error: streaming task
paused, reason not-negotiated (-4)
ERROR: from element /pipeline0/videotestsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(1614): gst_base_src_loop (): /pipeline0/videotestsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Segmentation fault

I think its a good start, but needs some work on the robustness. Now we
need a decission about where development should take place? Would a
freedesktop.org cvs repository be okay for ti?
If so shall we import the current sources? Or do you use CVS internally and
we could use that as a basis?

Stefan





More information about the gstreamer-devel mailing list