[maemo-developers] [maemo-developers] problem with gstreamer and dsppcm

From: Zeeshan Ali zeenix at gstreamer.net
Date: Fri Aug 18 11:21:24 EEST 2006
On 8/18/06, Reinhard Enders <Reinhard.Enders at gmx.de> wrote:
> Hi,


> When trying to write a simple wav-recorder (with wavenc plugin simply
> crosscompiled) the following shell script works fine:
>      gst-launch -m -v dsppcmsrc ! \
>      audio/x-raw-int,channels=1,rate=8000 ! \
>      wavenc ! filesink location="$1"
> When I translate that into a C-program, top tells me about an
> unreasonable amount of CPU time used up (40% by the program and
> 40% by Xomap!).

   Only 40% CPU, thats nothing :) Really! the sink you are using here
(filesink) doesn't wait for anything so it will consume the data as
fast as the source the produce it. if you use audiotestsrc instead of
dsppcmsrc here, you might easily get a 100% cpu usage. If you mean to
put an intentional delay in your pipeline, you can use identity
element with the delay prop. set according to your wishes.

> What's even worse, when I pause, stop or even destroy the recording
> pipeline, it still eats up nearly all processing time doing absolutely
> nothing - until the process is killed.

    What do you mean? you get a 100% cpu during the time you tell the
pipeline to destroy and the actual destruction of the pipeline? If so,
you have most probably have found a bug in gstreamer, go file it.

> - The licens of dsppcmsrc/sink is LGPL, can I find the source anywhere
> - instead of raw data, it would be even better to use dspilbc.
>    Is there a way to store the captured data to a file, in a way it can
>    be played back again (some wrapper)?

   Eeh! just looked into the plugin and really does say LGPL. I am
quite sure, this is a mistake on the developer's behalf since the
plugin is definitly not LGPL (atleast yet) or even under any free/open


Zeeshan Ali

More information about the maemo-developers mailing list