Ignore:
Timestamp:
Dec 13, 2018 6:57:23 AM (6 years ago)
Author:
nanang
Message:

Re #2168:

  • Added a new PJSUA callback on_media_event().
  • Added audio device error handling into PJSUA2.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua2/endpoint.cpp

    r5912 r5923  
    14311431    virtual void execute(bool is_pending) 
    14321432    { 
    1433         Call *call = Call::lookup(call_id); 
    1434         if (!call) 
    1435             return; 
    1436  
    14371433        if (is_pending) { 
    14381434            /* Can't do this anymore, pointer is invalid */ 
     
    14401436        } 
    14411437 
    1442         call->onCallMediaEvent(prm); 
     1438        if (call_id == PJSUA_INVALID_ID) { 
     1439            OnMediaEventParam prm2; 
     1440            prm2.ev = prm.ev; 
     1441            Endpoint::instance().onMediaEvent(prm2); 
     1442        } else { 
     1443            Call *call = Call::lookup(call_id); 
     1444             
     1445            if (call) 
     1446                call->onCallMediaEvent(prm); 
     1447        } 
    14431448    } 
    14441449}; 
     1450 
     1451void Endpoint::on_media_event(pjmedia_event *event) 
     1452{ 
     1453    PendingOnMediaEventCallback *job = new PendingOnMediaEventCallback; 
     1454 
     1455    job->call_id = PJSUA_INVALID_ID; 
     1456    job->prm.medIdx = 0; 
     1457    job->prm.ev.fromPj(*event); 
     1458     
     1459    Endpoint::instance().utilAddPendingJob(job); 
     1460} 
    14451461 
    14461462void Endpoint::on_call_media_event(pjsua_call_id call_id, 
     
    14481464                                   pjmedia_event *event) 
    14491465{ 
    1450     Call *call = Call::lookup(call_id); 
    1451     if (!call) { 
    1452         return; 
    1453     } 
    1454      
    14551466    PendingOnMediaEventCallback *job = new PendingOnMediaEventCallback; 
    14561467 
     
    16661677    ua_cfg.cb.on_call_media_transport_state = 
    16671678        &Endpoint::on_call_media_transport_state; 
     1679    ua_cfg.cb.on_media_event            = &Endpoint::on_media_event; 
    16681680    ua_cfg.cb.on_call_media_event       = &Endpoint::on_call_media_event; 
    16691681    ua_cfg.cb.on_create_media_transport = &Endpoint::on_create_media_transport; 
Note: See TracChangeset for help on using the changeset viewer.