linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Newbie question


From: Asim Jamshed
Subject: Re: [Linphone-developers] Newbie question
Date: Tue, 28 Mar 2006 16:17:13 +0500

Thanx... I found almost all of my answers to the questions asked.
As a first step, I am trying to trace the flow of execution when i
answer the phone call.
As of now, I have got the following trace:

1) lpc_cmd_answer

2) linphone_core_accept_call (some really weird functions calls over
here.. no idea what they do :))

3) linphone_core_start_media_streams


For a start ill try to save the file as well as echoing it on the
speaker i.e. ill just add the code for file creation and writing in
the MSFilter of my corrosponding sound driver. The problem is that i
still cant find the function where the data is arriving from the rtp
layer.


On 3/28/06, Kosta Welke <address@hidden> wrote:
> Asim Jamshed wrote:
> > I wish to modify the linphone source code slightly... Instead of
> > receiving calls, I wish to morph it into an answering machine... so
> > that whenever someone calls my linphone, its audio clip is saved in a
> > file.
>
> Maybe you also want to play a message before recording? :)
>
> > Since I am entirely new to the OSS architecture,
>
> linphone is sound-architecture-independent :)
>
>  > I need guidance
> > to understand the entire architecture of linphone. Thanx,
>
> You have to decide if you want to save the call as wave file, in the
> codec format used by RTP (GSM, ulaw, speex, ...) or in a different
> format (ogg, mp3).
>
> Basically, instead of writing to the sound card, you need to write to a
> file. linphone has a struct called MSFilter. Multiple filters are used
> to build a filter chain. Each filter does one step of the en/de-coding
> process, like read from a soundcard, write to a soundcard, encode to
> codec, decode to codec, etc. To see an example, use the console client
> linphonec, it displays the filter chains it builts.
>
> MSFilter are a bit hard to understand in the beginnning. If you are
> familiar with C++, think of pure virtual member functions. Only, as it
> is C, not C++, its done using function pointers in the init function
> (which basically takes the role of the constructor)
> The process functions do the actual work.
>
> What you would need to do is write a new MSFilter that saves to/reads
> from a file instead of the soundcard.
>
> HTH,
> Kosta
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]