[Fwd: Re: [Fwd: [Fwd: Re: Stream problem on ICE reINVITE?]]]

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

 



On Tue, Aug 5, 2008 at 5:51 PM, Pedro Gon?alves <pedro.pandre at gmail.com>wrote:

> Hi!
>
> I think you were right about deinitializing the media properly.
> Now, when receiving the subsequent offer, I am making:
>
> if (my_media_conference_slot>0) {
>          pjmedia_conf_disconnect_port(my_conference_bridge,
> my_media_conference_slot, 0);
>          pjmedia_conf_disconnect_port(my_conference_bridge, 0,
> my_media_conference_slot);
>          pjmedia_conf_remove_port(my_conference_bridge,
> my_media_conference_slot);
> }
>

You should not do that when receiving subsequent offer, since the offer may
be rejected. This should be put in on_media_state() instead, where both
offer and answer have been negotiated.

This then begs the question, what are you doing in your on_media_state()?
You're asking why the stream is not destroyed upon subsequent offer/answer.
Well then do you destroy the stream when you've got subsequent offer/answer?
Since you're not using PJSUA-LIB, everything related to media is under your
control.



> pjmedia_snd_port_disconnect(my_snd_port);
> pj_thread_sleep(100);
> pjmedia_snd_port_destroy(my_snd_port);
>
>
What is this for? Surely having sleep() in the callback is not a good idea.


>
> This way I no longer have problems with ICE in reINVITE.
>
>
I think we're just hiding the real problem rather than fixing it.



> However, I do have some other problems, but I think it's better to start a
> different thread.
>
>
Frankly I'm beginning to think that probably there's just too much hacks in
the application, thus it's upsetting the framework.

Cheers
 Benny


> Cheers
> Pedro Gon?alves
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080806/f2f1abd3/attachment.html 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux