Hello Mauro,

I'd suggest to ph_update_media_uploads will set opayloads because the fmtp we're getting form other side
descibes what we are supposed to send.

The code setting ipayloads[0] and then copying it to opayloads should be modfied to set opayloads and then copying it to ipayoads, it 'll be more logical.
of course fmtp filed should be 'strduped'  so it could be freed later


Thanks
Vadim



Mauro Sérgio Ferreira Brasil wrote:
Hi Vadim!

Please do not consider second question. I'll use "codecpt" parameter.

But I need a confirmation about what you think it would be better for question one.

Thanks,
Mauro.



Mauro Sérgio Ferreira Brasil escreveu:
Hi Vadim!

Considering block code starting on line 2803 from "phapi-old.c", the "opayloads[0]" info will be the same from "ipayloads[0]", so what you sugest is that I execute method "ph_update_media_payloads_fmtp" before the final assignment "msp->opayloads[0] = msp->ipayloads[0];" so both "ipayloads" and "opayloads" have "fmtp" value assigned at the same time, right ? Or you think it would be better to change "ph_update_media_payloads_fmtp" so new strings are allocated for "opayloads" "fmtp" field on the same way it's done to "ipayloads" ?

About your second indication, that I should pass to encoder/decoder initialization methods the correct payload type, can you please tell me how can I select the right one from the array ? I mean, which field or paramater should I use to select the correct payload to be informed on encoder/decoder init methods ? I couldn't find a field or parameter on "ph_msession_audio_stream_hardstart" that could indicate this to me. Maybe we can pass the entire "ph_mstream_params_t" variable and let the codec that "knows" which is its ID to find it out on the payloads array.

Thanks,
Mauro.



Vadim Lebedev escreveu:
Mauro,

I've took more profound look into your patch and found a problem with it
The reason of the problem is (i think) that you misunderstood SDP negotiation algorithm.
It is understandable because the algo is counter-intuitive.

When a SIP endpoint send and SDP (inside an INVITE or ACK or a SIP responce) it describes what it is EXPECTING TO RECEIVE
and NOT  what it is READY TO SEND as in RTSP.

Meaning, that in our case you need to copy the fmtp string in opayloads structure and the pass to the encoder_init the pointer to opayloads structure and do decoder_init the pointer to ipayloads.

Btw to be on the safe side you should be passing to enc/dec_init not the first structure but one
which contains the correct payload type


Thanks
Vadim


_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to