Title: TQI - Technology and Quality on Information
Hello there!

I was checking method "ph_media_retrieve_decoded_frame" in order to make this final adjustment, and I've got stuck on some considerable blocks of code intended to handle a condition where the size of RTP packet received from the other part is bigger than expected.
This is indicated by variable "needreformat".

Is this intended to handle situations where the other part of conversation don't respect the negotiated packetization ?
For example, we indicated preferable packetization through "ptime:20" attribute, but the other part keeps sending RTP packets with a bigger frame size than expected.

Is for this only reason that these code are used, or am I missing some other situation that will demand such "reformatation" ?

Thanks and best regards,
Mauro.




jerome wagner escreveu:
Mauro,
I would follow Vadim on this one.

There are 2 cases that should be checked :
  - 1/ really be careful about Linux and MacOSX sound drivers. I agree windows drivers always give you the "standard" framesizes you ask but this is not the case for Linux or MacOSX
  - 2/ pay attention to the far-end media mixing during 3-way conference. Payloads may arrive on different end points with different framesizes. mixing must occur at a shared framesize.

The current phapi approach is optimized in many cases I think (less intermediary buffers = less memory usage) and I think that a dynamic graph construction 'a la gstreamer' would be a + : 
 * no buffers when they are not needed (and for embedded targets they are more than often are not needed)
 * buffers for some scenarios

So a step by step approach could be to add an entity with a meta-description of the graph inside phapi to known which graph elements are activated and which are not, with what parameters. I don't know about the mediastreamer (ortp side project) integration that Vadim was talking about recently so I can't really give you more help on this one.

Hope this helps,
Jerome


Jerome



2009/7/28 Vadim Lebedev <[email protected]>
IMO this is the correct way...


Thanks
Vadim
Mauro Sergio Ferreira Brasil wrote:
Hi Jerome!

I've asked information about how common is that condition because I had no problem here initializing the audio devices of the same soundcard with different framesizes.
I've made lots of test calls using my onboard soundcard on Windows with some variety of framesize scenarios, like: 40ms on TX and 20ms on RX; 30ms on both paths (iLBC's "mode" parameter config), etc.

Now, considering that I can't rely on anything, I suppose the best choice is to get back the audio devices initialization blocked (i.e. hardcoded) to work with the framesize resulting of 20ms packetization for both paths.
This will avoid lots of changes and the inevitable demanded tests.

We initialize incoming and outcoming audio paths to work always with framesize of 160 shorts (or 320 if we work at 16 KHz) - that is the way it used to work before the patch I've sent, and create buffer adaption routines to both paths oh "phmedia-audio.c" in order to process the incoming and outgoing data accordingly.

What do you think ?

Thanks and best regards,
Mauro.


--
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [email protected]
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to