linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] Newbie question


From: Kosta Welke
Subject: Re: [Linphone-developers] Newbie question
Date: Tue, 28 Mar 2006 12:48:13 +0200
User-agent: Thunderbird 1.5 (Windows/20051201)

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]