[gst-devel] GStreamer plug-ins for OpenMAX IL, code for review
ensonic
ensonic at hora-obscura.de
Fri Dec 1 14:15:06 CET 2006
Hi,
On 9:38:19 pm 28/11/2006 "Felipe Contreras" <felipe.contreras at gmail.com>
wrote:
> > 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 ...
> >
In gstomxaudioenc.c the mp3encoder is hardcoded to be
.omx_component = "OMX_AmrEncoder",
but from my openmax registry the name appears to be "OMX.st.ffmpeg.mp3dec".
$ cat $HOME/.omxregistry
OMX.st.alsa.alsasink ==> /usr/lib/omxilcomponents//libomxalsa.so
OMX.volume.component ==> /usr/lib/omxilcomponents//libomxvolcontrol.so
OMX.st.ffmpeg.mp3dec ==> /usr/lib/omxilcomponents//libomxffmpeg.so
I have the impression the wrapper contain a hard-coded list of
omx-components they wrap, regardless of wheter those components are
available or not. Wouldn't it be possible to do this dynamically?
> > 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.
Yes I noticed that I don't have those openmax codecs you wrap, so it should
not register any of those elements.
> > 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?
>
I think svn would be possible on freenode.org. The gomx project could also
become a sf.net project.
>
> --
> Felipe Contreras
>
Stefan
More information about the gstreamer-devel
mailing list