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

Felipe Contreras felipe.contreras at gmail.com
Tue Nov 28 21:38:19 CET 2006


On 11/27/06, ensonic <ensonic at hora-obscura.de> wrote:
> 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

I see. This component was developed specifically for the omxil
implementation and since our focus is on the TI implementation it
hasn't been tested very throughly. I will take a look at this issue.

> 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

Thanks for pointing that out. In fact the mp3 decoder is in early
stages of development and is probably the only one that is not
properly working with the TI implementation. So I guess it also
wouldn't work with the omxil one.

But yes, it should not crash if the component doesn't exist. Our
wrapper still needs error handling, better logging and other important
things.

> 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?

I agree.

We could use any repository and import the current sources. Personally
I would prefer git, or Subversion, but any would do. Do you guys plan
to move from CVS to something different?

-- 
Felipe Contreras




More information about the gstreamer-devel mailing list