Mauro,

OK for me...

Happy holidays and happy christmass


Thanks
Vadim
Mauro Sérgio Ferreira Brasil wrote:
Hi Vadim,

Sorry by the late answer, but I was extremelly occupied here with other demands.

Regarding this bug fix, considerations follow below:

1) Ok;

2) I would preffer to put "ph_clear_msession_streams_fmtps" method right before the copy block so I could use the same method that makes the final deallocation of "fmtp" fields on "ph_msession_s" clean up. Any problems ?

3) This method already exists and will be used on item 2 as well;

I've made some additional changes on "ph_update_media_payloads_fmtp" and "ph_ilbc_get_frame_size" to make a more accurate payload id validation of "fmtp" field to avoid wrong mode matching.

Regarding the patch to allow the negotiation and use of different packetization on incoming and outgoing channels, I'll take a little longer to post news and finally delivery it, because I'll be on vacation (starting tomorrow.. uhuuuu!!!!), and I'll be back only at day 5 of January.

Thanks and best regards,
Mauro.


Vadim Lebedev escreveu:
Hi Mauro,

You're right this is a bug.

I suggest following approach.
1) Replace the offending assignement by a call  which  copies  all fields in the structure
field by field, execpt the fmtp field.
2) ph_update_media_payloads_fmtp  should free the fmtp fields to which it assigns value
3) upon call termination  the fmtp filels should be freed too

Thanks
Vadim


Mauro Sérgio Ferreira Brasil wrote:
Hello there!

Vadim,

Thanks for the answer on another email.
I'll have a good look on it as soon as I get rid of this problem.

We had some problems here with patch to handle "mode" parameter of "fmtp" attribute for iLBC payloads.
The problem is on lines below from "ph_call_media_start" method:

        msp->opayloads[0].number = ca->audio_payload;
        ph_parse_payload_mime(&msp->opayloads[0], ca->audio_payload_name, 8000, 1);
        msp->ipayloads[0] = msp->opayloads[0];

        ph_update_media_payloads_fmtp(je, msp);


During some additional tests, I've noticed that method "ph_call_media_start" is called more than once per session. For this reason, I've changed method "ph_update_media_payloads_fmtp" to validate the "fmtp" field of "ph_media_payload_s" structure before reassign it.

Unfortunately, I still have a problem with the assignment made on first 3 lines.
It leads to a overriding of "msp->ipayloads[0].fmtp" value, that is a "char *", with "msp->opayloads[0].fmtp".

Is there some possibilities to avoid this situation:

1- Use the same validations present on "ph_msession_audio_stream_start" method that indicates the stream will be reused to avoid the above assignment;
2- Use "ph_clear_msession_streams_fmtps" to clear the values of "fmtp" fields from "ph_media_payloads_s" before the assignment and new update of their values;

What do you think is the better choice ?

Please feel free to send any suggestions.

Thanks and best regards,

--
TQI - Technology and Quality on Information
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


--
TQI - Technology and Quality on Information
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