audiofx plugins work with gst-launch but not from code

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

audiofx plugins work with gst-launch but not from code

cleojones
Working on my first program using gstreamer, on Maemo (nokia N900), and have the following problem:

I can do this:

gst-launch-0.10 autoaudiosrc ! audioconvert ! audioamplify amplification=2 ! lame quality=9 ! shout2send ip=myip password=mypass mount=/mount port=myport

But I the same pipeline, constructed in C, streams total silence from my program. I've tried created pipeline in C using gst_parse_launch as well as by creating each element manually, with the same problem. If I omit the audioamplify element, works fine (streams microphone input). As soon as I try to add audioamplify, silence (no matter what I set amplification to).  

Eventually I want to run this through the audiocheblimit element as well (which works fine with gst-launch) but it also seems to have a problem when created from my own code.

Any help much appreciated!
Reply | Threaded
Open this post in threaded view
|

Re: audiofx plugins work with gst-launch but not from code

Sean McNamara-4
Hi,

On Tue, Aug 30, 2011 at 7:32 PM, cleojones <[hidden email]> wrote:

> Working on my first program using gstreamer, on Maemo (nokia N900), and have
> the following problem:
>
> I can do this:
>
> gst-launch-0.10 autoaudiosrc ! audioconvert ! audioamplify amplification=2 !
> lame quality=9 ! shout2send ip=myip password=mypass mount=/mount port=myport
>
> But I the same pipeline, constructed in C, streams total silence from my
> program. I've tried created pipeline in C using gst_parse_launch as well as
> by creating each element manually, with the same problem. If I omit the
> audioamplify element, works fine (streams microphone input). As soon as I
> try to add audioamplify, silence (no matter what I set amplification to).

Have you tried getting the property back from the audioamplify element
to make sure that it's set correctly?

I was going to say make sure you link all your elements together, but
since you said you used gst_parse, I don't think that could be an
issue. My guess (without seeing your code) is that the audioamplify
element is getting its amplification property set to 0, which would
probably be equivalent to silencing the stream (though I'm not sure
because I'm not very familiar with that element; I normally use
`volume').

Without having your actual code (or a trivial test program that
exhibits the same behavior), it's impossible to tell what is wrong.


-Sean

>
> Eventually I want to run this through the audiocheblimit element as well
> (which works fine with gst-launch) but it also seems to have a problem when
> created from my own code.
>
> Any help much appreciated!
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/audiofx-plugins-work-with-gst-launch-but-not-from-code-tp3779942p3779942.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiofx plugins work with gst-launch but not from code

Stefan Sauer
In reply to this post by cleojones
On 08/31/11 01:32, cleojones wrote:

> Working on my first program using gstreamer, on Maemo (nokia N900), and have
> the following problem:
>
> I can do this:
>
> gst-launch-0.10 autoaudiosrc ! audioconvert ! audioamplify amplification=2 !
> lame quality=9 ! shout2send ip=myip password=mypass mount=/mount port=myport
>
> But I the same pipeline, constructed in C, streams total silence from my
> program. I've tried created pipeline in C using gst_parse_launch as well as
> by creating each element manually, with the same problem. If I omit the
> audioamplify element, works fine (streams microphone input). As soon as I
> try to add audioamplify, silence (no matter what I set amplification to).  
first for simple gain - use volume element. In your case my guess (you
did not pointed us to the source code) is that you are doing
g_object_set(audioamplify,"amplification",2,NULL); instead of
g_object_set(audioamplify,"amplification",2.0f,NULL);

Stefan

> Eventually I want to run this through the audiocheblimit element as well
> (which works fine with gst-launch) but it also seems to have a problem when
> created from my own code.
>
> Any help much appreciated!
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/audiofx-plugins-work-with-gst-launch-but-not-from-code-tp3779942p3779942.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiofx plugins work with gst-launch but not from code

cleojones
Stefan Kost wrote
first for simple gain - use volume element. In your case my guess (you
did not pointed us to the source code) is that you are doing
g_object_set(audioamplify,"amplification",2,NULL); instead of
g_object_set(audioamplify,"amplification",2.0f,NULL);
You're right - this was exactly the problem, resulting in setting of amplification to 0 as Sean also suggested. Thank you both!

Interestingly, I  happened to see that 'lame' element includes a built-in low-pass filter set via the property "lowpass-freq" so it looks like I don't have to use the audiocheblimit element after all.

Is the main difference between 'audioamplify' and 'volume' the clipping method?

Thanks again!
Reply | Threaded
Open this post in threaded view
|

Re: audiofx plugins work with gst-launch but not from code

Stefan Sauer
On 09/01/11 01:47, cleojones wrote:

> Stefan Kost wrote:
>> first for simple gain - use volume element. In your case my guess (you
>> did not pointed us to the source code) is that you are doing
>> g_object_set(audioamplify,"amplification",2,NULL); instead of
>> g_object_set(audioamplify,"amplification",2.0f,NULL);
>>
> You're right - this was exactly the problem, resulting in setting of
> amplification to 0 as Sean also suggested. Thank you both!
>
> Interestingly, I  happened to see that 'lame' element includes a built-in
> low-pass filter set via the property "lowpass-freq" so it looks like I don't
> have to use the audiocheblimit element after all.
>
> Is the main difference between 'audioamplify' and 'volume' the clipping
> method?
volume is a normal gain element. audioamplify is something that you can
use in a synthesizer to also creat various distortion effects.

Stefan

> Thanks again!
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/audiofx-plugins-work-with-gst-launch-but-not-from-code-tp3779942p3782480.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel