[pjsip] Audio Pre-Processing

Benny Prijono bennylp at pjsip.org
Tue Feb 19 03:40:20 EST 2008

On 2/18/08, Norman Franke <norman at myasd.com> wrote:
>  I'm using the PJSUA library, and I want to intercept audio from remote
> callers and process it before mixing in the conference bridge. What's the
> best way to do this? I want to add some type of dynamic gain control, since
> we get some very soft callers. I've done something similar for playback of
> files and that works great, so now I want to do so with callers.

Currently there's no way to do that with PJSUA-LIB, as stream will be
added to the conference bridge automatically. But perhaps this would
be simple to support by adding couple of callbacks below in

/** Notify application when media session is created and before
 *  it is registered to the conference bridge. Application may return
 *  different media port if it has added media processing port to
 *  the stream.
 void (*on_stream_created)(pjsua_call_id call_id, pjmedia_session *sess,
                                        unsigned stream_idx,
pjmedia_port **p_port);

/** Notify application when media session is about to be destroyed.
 void (*on_stream_destroyed)(pjsua_call_id call_id,
                                           pjmedia_session *sess,
                                           unsigned stream_idx);

This would also fix the problem discussed in "stream port destroyed
before callback function was called" thread.

Now, care to make patch? ;-)


> Norman Franke
> Answering Service for Directors, Inc.
> www.myasd.com
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

More information about the pjsip mailing list