<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7650.28">
<TITLE>RE: [gst-devel] GStreamer plug-ins for OpenMAX IL, code for review</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<P><FONT SIZE=2>> Hi,<BR>
><BR>
> On 9:38:19 pm 28/11/2006 "Felipe Contreras" <felipe.contreras@gmail.com><BR>
> wrote:<BR>
><BR>
> > > Next problem is the mp3-decoder does not work. Apart from not<BR>
> > > finding the decoder, the plugin should also error out here (abort<BR>
> > > the processing).<BR>
> > > $ gst-launch filesrc location=song.mp3 ! omxdec_mp3 ! omxsink_alsa<BR>
> > > Setting pipeline to PAUSED ...<BR>
> > > Component OMX_Mp3Decoder not found, sorry...<BR>
> > > Pipeline is PREROLLING ...<BR>
> > ><BR>
> In gstomxaudioenc.c the mp3encoder is hardcoded to be<BR>
> .omx_component = "OMX_AmrEncoder",<BR>
> but from my openmax registry the name appears to be "OMX.st.ffmpeg.mp3dec".<BR>
><BR>
> $ cat $HOME/.omxregistry<BR>
> OMX.st.alsa.alsasink ==> /usr/lib/omxilcomponents//libomxalsa.so<BR>
> OMX.volume.component ==> /usr/lib/omxilcomponents//libomxvolcontrol.so<BR>
> OMX.st.ffmpeg.mp3dec ==> /usr/lib/omxilcomponents//libomxffmpeg.so<BR>
><BR>
> I have the impression the wrapper contain a hard-coded list of<BR>
> omx-components they wrap, regardless of wheter those components are<BR>
> available or not. Wouldn't it be possible to do this dynamically?<BR>
<BR>
Actually the wrapper doesn't know anything about the components; the client, in<BR>
this case the GStreamer plug-in, is the one that has the hard-coded component<BR>
names.<BR>
<BR>
I was thinking on making a property on the GStreamer elements, it's not<BR>
complicated at all.<BR>
<BR>
> > > This even crashes :(<BR>
> > > $ GST_DEBUG="*:2" gst-launch videotestsrc ! omxenc_h263 !<BR>
> > > ffdec_h263 ! xvimagesink<BR>
> > > 0:00:00.222504000 9811 0x8051a18 WARN GST_PLUGIN_LOADING<BR>
> > > gstplugin.c:261:gst_plugin_register_func: plugin<BR>
> > "/home/ensonic/buzztard/lib/gstreamer-0.10/libgstbml.so" failed to<BR>
> > > initialise Setting pipeline to PAUSED ...<BR>
> > > Component OMX_VideoEncoder not found, sorry...<BR>
> > > Pipeline is PREROLLING ...<BR>
> > > 0:00:00.665092000 9810 0x81f2be8 ERROR omx_videoenc<BR>
> > > gstomxvideoenc.c:792:gst_gomx_videoenc_sink_setcaps:<omxench2630><BR>
> > > bad resolution 320x240<BR>
> > > 0:00:00.665316000 9810 0x81f2be8 WARN basesrc<BR>
> > > gstbasesrc.c:1614:gst_base_src_loop:<videotestsrc0> error:<BR>
> > > Internal data flow error.<BR>
> > > 0:00:00.665430000 9810 0x81f2be8 WARN basesrc<BR>
> > > gstbasesrc.c:1614:gst_base_src_loop:<videotestsrc0> error:<BR>
> > > streaming task paused, reason not-negotiated (-4)<BR>
> > > ERROR: from element /pipeline0/videotestsrc0: Internal data flow<BR>
> > > error. Additional debug info:<BR>
> > > gstbasesrc.c(1614): gst_base_src_loop (): /pipeline0/videotestsrc0:<BR>
> > > streaming task paused, reason not-negotiated (-4)<BR>
> > > ERROR: pipeline doesn't want to preroll.<BR>
> > > Setting pipeline to NULL ...<BR>
> > > Segmentation fault<BR>
> ><BR>
> > Thanks for pointing that out. In fact the mp3 decoder is in early<BR>
> > stages of development and is probably the only one that is not<BR>
> > properly working with the TI implementation. So I guess it also<BR>
> > wouldn't work with the omxil one.<BR>
> ><BR>
> > But yes, it should not crash if the component doesn't exist. Our<BR>
> > wrapper still needs error handling, better logging and other important<BR>
> > things.<BR>
><BR>
> Yes I noticed that I don't have those openmax codecs you wrap, so it should<BR>
> not register any of those elements.<BR>
<BR>
It might be possible to do that, but not if we retrieve the name of the OpenMAX<BR>
component from an element's property.<BR>
<BR>
> > > I think its a good start, but needs some work on the robustness.<BR>
> > > Now we need a decission about where development should take place?<BR>
> > > Would a freedesktop.org cvs repository be okay for ti?<BR>
> > > If so shall we import the current sources? Or do you use CVS<BR>
> > > internally and we could use that as a basis?<BR>
> ><BR>
> > I agree.<BR>
> ><BR>
> > We could use any repository and import the current sources. Personally<BR>
> > I would prefer git, or Subversion, but any would do. Do you guys plan<BR>
> > to move from CVS to something different?<BR>
> ><BR>
> I think svn would be possible on freenode.org. The gomx project could also<BR>
> become a sf.net project.<BR>
<BR>
We would prefer an account on the GStreamer repositories, just like gst-ffmpeg,<BR>
but if that's not possible we will setup it in SF.<BR>
<BR>
--<BR>
Felipe Contreras</FONT>
</P>
</BODY>
</HTML>