QT && Pjsip

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

 



Problem is like passing from disconnected state to
PJSIP_TSX_STATE_TERMINATED..


On Fri, Feb 19, 2010 at 3:44 PM, P.Muge Ersoy <muge.ersoy at gmail.com> wrote:

> Hi;
> I create QThread from main thread of QT like below... I know the problems
> from previous pjsip entries.. But still have a crash after i close the
> call..
>
>  void PjsipPollThread::run()
>     {
>     pj_thread_desc initdec;
>     pj_thread_t* thread = 0;
>
>     if (!pj_thread_is_registered() &&
> pj_thread_register("PjsipPollThread_run", initdec, &thread )!=PJ_SUCCESS)
>         return;
>
>       while(isStackInit()) {
>         pjsua_handle_events(10);
>
>     }
>     }
>
>
> On Fri, Feb 19, 2010 at 3:15 PM, Peter Lukac <p.lukac at emtest.sk> wrote:
>
>> Hi
>> If i understand you want change ui from other thread ?
>> You can't do this  Only  from main Qt thread you can do it.
>> If you want change widgets from other threads you have to create own Event
>> like MyEvent and post it with method QApplication::postEvent from you
>> thread
>> and then handle this event in main Qt thread with method
>> bool eventFilter ( QObject * watched, QEvent * event ) and do what you
>> want.
>>
>> look at Qt documentation for more info...
>>
>>
>> On Friday 19 February 2010 01:26:58 pm P.Muge Ersoy wrote:
>> > Hi Benny;
>> >
>> > I am trying to integrate Qt and pjsip .. I created QT thread to poll the
>> > pjsua handle events... When i catch the call back on_call_state
>> > PJSIP_INV_STATE_DISCONNECTED, i am changing the Qt gui .. But
>> unfortunately
>> > after a while like 2 or 3 seconds.. pjsip gives error
>> > (*inv_state_handler[inv->state])(inv, e); Below is the call stack
>> >
>> >      2d646f6d()
>> >
>> > >    Qtpjsip.exe!mod_inv_on_tsx_state(pjsip_transaction *
>> tsx=0x02b055d4,
>> >
>> > pjsip_event * e=0x0342fd54)  Line 562 + 0x17 bytes    C
>> >      Qtpjsip.exe!pjsip_dlg_on_tsx_state(pjsip_dialog * dlg=0x02cbb32c,
>> > pjsip_transaction * tsx=0x02b055d4, pjsip_event * e=0x0342fd54)  Line
>> 1907
>> > + 0x1a bytes    C++
>> >      Qtpjsip.exe!mod_ua_on_tsx_state(pjsip_transaction * tsx=0x02b055d4,
>> > pjsip_event * e=0x0342fd54)  Line 179 + 0x11 bytes    C
>> >      Qtpjsip.exe!tsx_set_state(pjsip_transaction * tsx=0x02b055d4,
>> > pjsip_tsx_state_e state=PJSIP_TSX_STATE_TERMINATED, pjsip_event_id_e
>> > event_src_type=PJSIP_EVENT_TIMER, void * event_src=0x02b056d8)  Line
>> 1109 +
>> > 0x13 bytes    C
>> >      Qtpjsip.exe!tsx_on_state_completed_uac(pjsip_transaction *
>> > tsx=0x02b055d4, pjsip_event * event=0x0342fdac)  Line 2936 + 0x14 bytes
>> > C Qtpjsip.exe!tsx_timer_callback(pj_timer_heap_t * theap=0x02aafe20,
>> > pj_timer_entry * entry=0x02b056d8)  Line 1056 + 0x10 bytes    C
>> >      Qtpjsip.exe!pj_timer_heap_poll(pj_timer_heap_t * ht=0x02aafe20,
>> > pj_time_val * next_delay=0x0342fe0c)  Line 518 + 0x10 bytes    C
>> >      Qtpjsip.exe!pjsip_endpt_handle_events2(pjsip_endpoint *
>> > endpt=0x02aafc7c, const pj_time_val * max_timeout=0x0342fe38, unsigned
>> int
>> > * p_count=0x0342fe40)  Line 690 + 0x10 bytes    C++
>> >      Qtpjsip.exe!pjsua_handle_events(unsigned int msec_timeout=10)  Line
>> > 1417 + 0x14 bytes    C
>> >      Qtpjsip.exe!PjsipPollThread::run()  Line 29 + 0x7 bytes    C++
>> >      QtCored4.dll!QThreadPrivate::start(void * arg=0x01689c4c)  Line 235
>> > C++
>> >
>> >
>> > It always gives the address 2d646f6d ...
>> >
>> > Do you have any idea why this happens? ... Is it QT Pjsip integration
>> > issue.. ?
>> >
>> > Regards
>> > Muge
>>
>>
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20100219/68880976/attachment-0001.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