Changeset 2456 for pjproject


Ignore:
Timestamp:
Feb 16, 2009 4:29:05 PM (16 years ago)
Author:
nanang
Message:

Changed term 'fourcc' to 'format' and few minor fixes/updates.

Location:
pjproject/branches/projects/aps-direct
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/codec.h

    r2436 r2456  
    276276       pj_uint8_t  pcm_bits_per_sample; /**< Bits/sample in the PCM side    */ 
    277277       pj_uint8_t  pt;                  /**< Payload type.                  */ 
    278        pjmedia_fourcc format;           /**< Source format, it's format of 
     278       pjmedia_format format;           /**< Source format, it's format of 
    279279                                             encoder input and decoder  
    280280                                             output.                        */ 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/conference.h

    r2434 r2456  
    5757    unsigned            slot;               /**< Slot number.               */ 
    5858    pj_str_t            name;               /**< Port name.                 */ 
    59     pjmedia_fourcc      format;             /**< Format (FourCC identifier) */ 
     59    pjmedia_format      format;             /**< Format.                    */ 
    6060    pjmedia_port_op     tx_setting;         /**< Transmit settings.         */ 
    6161    pjmedia_port_op     rx_setting;         /**< Receive settings.          */ 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/port.h

    r2452 r2456  
    213213    pj_bool_t       need_info;          /**< Need info on connect?          */ 
    214214    unsigned        pt;                 /**< Payload type (can be dynamic). */ 
    215     pjmedia_fourcc  format;             /**< Format (FourCC identifier)     */ 
     215    pjmedia_format  format;             /**< Format.                        */ 
    216216    pj_str_t        encoding_name;      /**< Encoding name.                 */ 
    217217    unsigned        clock_rate;         /**< Sampling rate.                 */ 
     
    359359 * @param n                 Number of first subframes to be popped out. 
    360360 * 
    361  * @return                  PJ_SUCCESS, or PJ_ENOTFOUND if frame is empty. 
     361 * @return                  PJ_SUCCESS when successful. 
    362362 */ 
    363363PJ_INLINE(pj_status_t)  
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/sound.h

    r2438 r2456  
    9999typedef struct pjmedia_snd_setting 
    100100{ 
    101     pjmedia_fourcc      format;   /**< Format (FourCC ID).          */  
     101    pjmedia_format      format;   /**< Format.                      */  
    102102    pj_uint32_t         bitrate;  /**< Bitrate (bps).               */ 
    103103    pj_uint32_t         mode;     /**< Mode, e.g: iLBC format has 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/symbian_sound_aps.h

    r2438 r2456  
    3232 
    3333/** 
    34  * Declaration of APS sound setting.   
    35  */ 
    36 typedef struct pjmedia_snd_aps_setting 
    37 { 
    38     pjmedia_fourcc      format;   /**< Format (FourCC ID).      */  
    39     pj_uint32_t         bitrate;  /**< Bitrate (bps).           */ 
    40     pj_uint32_t         mode;     /**< Mode, currently only used  
    41                                        for specifying iLBC mode, 
    42                                        20ms or 30ms frame size. */ 
    43     pj_bool_t           plc;      /**< PLC enabled/disabled.    */ 
    44     pj_bool_t           vad;      /**< VAD enabled/disabled.    */ 
    45     pj_bool_t           cng;      /**< CNG enabled/disabled.    */ 
    46     pj_bool_t           loudspk;  /**< Audio routed to loudspeaker.*/ 
    47      
    48 } pjmedia_snd_aps_setting; 
    49  
    50  
    51 /** 
    5234 * Activate/deactivate loudspeaker, when loudspeaker is inactive, audio 
    5335 * will be routed to earpiece. 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia/types.h

    r2445 r2456  
    180180 
    181181/** 
    182  * Declaration of FourCC type. 
    183  */ 
    184 typedef union pjmedia_fourcc { 
     182 * Declaration of format. 
     183 */ 
     184typedef union pjmedia_format { 
    185185   pj_uint32_t  u32; 
    186186   char         c[4]; 
    187 } pjmedia_fourcc; 
    188  
    189  
    190 /** 
    191  * FourCC packing macro. 
    192  */ 
    193 #define PJMEDIA_FOURCC_PACK(C1, C2, C3, C4) ( C4<<24 | C3<<16 | C2<<8 | C1 ) 
    194  
    195 /** 
    196  * FourCC identifier definitions. 
    197  */ 
    198 #define PJMEDIA_FOURCC_L16      PJMEDIA_FOURCC_PACK(' ', 'L', '1', '6') 
    199 #define PJMEDIA_FOURCC_PCMA     PJMEDIA_FOURCC_PACK('A', 'L', 'A', 'W') 
    200 #define PJMEDIA_FOURCC_PCMU     PJMEDIA_FOURCC_PACK('u', 'L', 'A', 'W') 
    201 #define PJMEDIA_FOURCC_AMR      PJMEDIA_FOURCC_PACK(' ', 'A', 'M', 'R') 
    202 #define PJMEDIA_FOURCC_G729     PJMEDIA_FOURCC_PACK('G', '7', '2', '9') 
    203 #define PJMEDIA_FOURCC_ILBC     PJMEDIA_FOURCC_PACK('I', 'L', 'B', 'C') 
     187} pjmedia_format; 
     188 
     189 
     190/** 
     191 * Macro for packing format. 
     192 */ 
     193#define PJMEDIA_FORMAT_PACK(C1, C2, C3, C4) ( C4<<24 | C3<<16 | C2<<8 | C1 ) 
     194 
     195/** 
     196 * Format identifier definitions. 
     197 */ 
     198#define PJMEDIA_FORMAT_L16      0 
     199#define PJMEDIA_FORMAT_PCMA     PJMEDIA_FORMAT_PACK('A', 'L', 'A', 'W') 
     200#define PJMEDIA_FORMAT_PCMU     PJMEDIA_FORMAT_PACK('u', 'L', 'A', 'W') 
     201#define PJMEDIA_FORMAT_AMR      PJMEDIA_FORMAT_PACK(' ', 'A', 'M', 'R') 
     202#define PJMEDIA_FORMAT_G729     PJMEDIA_FORMAT_PACK('G', '7', '2', '9') 
     203#define PJMEDIA_FORMAT_ILBC     PJMEDIA_FORMAT_PACK('I', 'L', 'B', 'C') 
    204204 
    205205 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia-codec/passthrough.c

    r2452 r2456  
    156156    const char      *name;              /* Codec name.                      */ 
    157157    pj_uint8_t       pt;                /* Payload type.                    */ 
    158     pjmedia_fourcc   format;            /* Source format.                   */ 
     158    pjmedia_format   format;            /* Source format.                   */ 
    159159    unsigned         clock_rate;        /* Codec's clock rate.              */ 
    160160    unsigned         channel_count;     /* Codec's channel count.           */ 
     
    173173{ 
    174174#   if PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 
    175     {1, "AMR",      PJMEDIA_RTP_PT_AMR,       {PJMEDIA_FOURCC_AMR}, 
     175    {1, "AMR",      PJMEDIA_RTP_PT_AMR,       {PJMEDIA_FORMAT_AMR}, 
    176176                    8000, 1, 160,  
    177177                    7400, 12200, 2, 1, 1, 
     
    182182 
    183183#   if PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 
    184     {1, "G729",     PJMEDIA_RTP_PT_G729,      {PJMEDIA_FOURCC_G729}, 
     184    {1, "G729",     PJMEDIA_RTP_PT_G729,      {PJMEDIA_FORMAT_G729}, 
    185185                    8000, 1,  80, 
    186186                    8000, 8000, 2, 1, 1 
     
    189189 
    190190#   if PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 
    191     {1, "iLBC",     PJMEDIA_RTP_PT_ILBC,      {PJMEDIA_FOURCC_ILBC}, 
     191    {1, "iLBC",     PJMEDIA_RTP_PT_ILBC,      {PJMEDIA_FORMAT_ILBC}, 
    192192                    8000, 1,  240, 
    193193                    13333, 15200, 1, 1, 1, 
     
    198198 
    199199#   if PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 
    200     {1, "PCMU",     PJMEDIA_RTP_PT_PCMU,      {PJMEDIA_FOURCC_PCMU}, 
     200    {1, "PCMU",     PJMEDIA_RTP_PT_PCMU,      {PJMEDIA_FORMAT_PCMU}, 
    201201                    8000, 1,  80, 
    202202                    64000, 64000, 2, 1, 1 
     
    205205 
    206206#   if PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 
    207     {1, "PCMA",     PJMEDIA_RTP_PT_PCMA,      {PJMEDIA_FOURCC_PCMA}, 
     207    {1, "PCMA",     PJMEDIA_RTP_PT_PCMA,      {PJMEDIA_FORMAT_PCMA}, 
    208208                    8000, 1,  80, 
    209209                    64000, 64000, 2, 1, 1 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia/conf_switch.c

    r2455 r2456  
    588588    dst_port = conf->ports[sink_slot]; 
    589589 
     590    /* Source and sink format must match. */ 
     591    if (src_port->info->format.u32 != dst_port->info->format.u32) { 
     592        pj_mutex_unlock(conf->mutex); 
     593        return PJMEDIA_ENOTCOMPATIBLE; 
     594    } 
     595 
    590596    /* Source and sink ptime must be equal or a multiplication factor. */ 
    591597    if ((src_port->info->samples_per_frame %  
     
    598604    } 
    599605     
    600     /* Check if source and sink has compatible format */ 
    601     if (src_slot != 0 && sink_slot != 0 &&  
    602         src_port->port->info.format.u32 != dst_port->port->info.format.u32) 
    603     { 
    604         pj_mutex_unlock(conf->mutex); 
    605         return PJMEDIA_ENOTCOMPATIBLE; 
    606     } 
    607  
    608606    /* Check if sink is listening to other ports */ 
    609607    if (dst_port->transmitter_cnt > 0) { 
     
    954952 
    955953    /* Level adjustment is applicable only for ports that work with raw PCM. */ 
    956     PJ_ASSERT_RETURN(conf_port->info->format.u32 == 0 ||  
    957                      conf_port->info->format.u32 == PJMEDIA_FOURCC_L16, 
     954    PJ_ASSERT_RETURN(conf_port->info->format.u32 == PJMEDIA_FORMAT_L16, 
    958955                     PJ_EIGNORED); 
    959956 
     
    989986 
    990987    /* Level adjustment is applicable only for ports that work with raw PCM. */ 
    991     PJ_ASSERT_RETURN(conf_port->info->format.u32 == 0 ||  
    992                      conf_port->info->format.u32 == PJMEDIA_FOURCC_L16, 
     988    PJ_ASSERT_RETURN(conf_port->info->format.u32 == PJMEDIA_FORMAT_L16, 
    993989                     PJ_EIGNORED); 
    994990 
     
    11141110 
    11151111        /* Check port format. */ 
    1116         if (cport_dst->port && (cport_dst->port->info.format.u32==0 || 
    1117             cport_dst->port->info.format.u32 == PJMEDIA_FOURCC_L16)) 
     1112        if (cport_dst->port && 
     1113            cport_dst->port->info.format.u32 == PJMEDIA_FORMAT_L16) 
    11181114        { 
    11191115            /* When there is already some samples in listener's TX buffer,  
     
    12661262                } 
    12671263            } else if (f->type == PJMEDIA_FRAME_TYPE_EXTENDED) { 
    1268                 /* For extended frame, TX level is unknown, so we just set  
     1264                /* For extended frame, level is unknown, so we just set  
    12691265                 * it to NORMAL_LEVEL.  
    12701266                 */ 
     
    14741470        } 
    14751471    } else if (f->type == PJMEDIA_FRAME_TYPE_EXTENDED) { 
    1476         /* For extended frame, TX level is unknown, so we just set  
     1472        /* For extended frame, level is unknown, so we just set  
    14771473         * it to NORMAL_LEVEL.  
    14781474         */ 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia/sound_port.c

    r2454 r2456  
    291291 
    292292        switch (snd_port->setting.format.u32) { 
    293         case PJMEDIA_FOURCC_PCMA: 
     293        case PJMEDIA_FORMAT_PCMA: 
    294294            decoder = &pjmedia_alaw_decode; 
    295295            break; 
    296         case PJMEDIA_FOURCC_PCMU: 
     296        case PJMEDIA_FORMAT_PCMU: 
    297297            decoder = &pjmedia_ulaw_decode; 
    298298            break; 
     
    393393 
    394394    switch (snd_port->setting.format.u32) { 
    395     case PJMEDIA_FOURCC_PCMA: 
     395    case PJMEDIA_FORMAT_PCMA: 
    396396        encoder = &pjmedia_alaw_encode; 
    397397        break; 
    398     case PJMEDIA_FOURCC_PCMU: 
     398    case PJMEDIA_FORMAT_PCMU: 
    399399        encoder = &pjmedia_ulaw_encode; 
    400400        break; 
     
    435435                     PJ_EBUG); 
    436436 
    437     if (snd_port->setting.format.u32 == 0 || 
    438         snd_port->setting.format.u32 == PJMEDIA_FOURCC_L16) 
    439     { 
     437    if (snd_port->setting.format.u32 == PJMEDIA_FORMAT_L16) { 
    440438        snd_rec_cb = &rec_cb; 
    441439        snd_play_cb = &play_cb; 
     
    701699     
    702700#if PJMEDIA_SOUND_USE_DELAYBUF 
    703     if (snd_port->setting.format.u32 == 0 || 
    704         snd_port->setting.format.u32 == PJMEDIA_FOURCC_L16)  
    705     { 
     701    if (snd_port->setting.format.u32 == PJMEDIA_FORMAT_L16) { 
    706702        pj_status_t status; 
    707703        unsigned ptime; 
     
    720716#if !defined(PJMEDIA_SND_SUPPORT_OPEN2) || PJMEDIA_SND_SUPPORT_OPEN2==0 
    721717    /* For devices that doesn't support open2(), enable simulation */ 
    722     if (snd_port->setting.format.u32 != 0 && 
    723         snd_port->setting.format.u32 != PJMEDIA_FOURCC_L16)  
    724     { 
     718    if (snd_port->setting.format.u32 != PJMEDIA_FORMAT_L16) { 
    725719        snd_port->frm_buf_size = sizeof(pjmedia_frame_ext) +  
    726720                                 (samples_per_frame << 1) + 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia/stream.c

    r2445 r2456  
    868868    } else if (frame->type == PJMEDIA_FRAME_TYPE_AUDIO && 
    869869               frame->buf == NULL && 
    870                (stream->port.info.format.u32 == 0 || 
    871                 stream->port.info.format.u32 == PJMEDIA_FOURCC_L16) && 
     870               stream->port.info.format.u32 == PJMEDIA_FORMAT_L16 && 
    872871               (stream->dir & PJMEDIA_DIR_ENCODING) && 
    873872               stream->codec_param.info.frm_ptime * 
     
    16091608    stream->port.info.format = info->param->info.format; 
    16101609    stream->port.port_data.pdata = stream; 
    1611     if (stream->port.info.format.u32 == 0 || 
    1612         stream->port.info.format.u32 == PJMEDIA_FOURCC_L16) 
    1613     { 
     1610    if (stream->port.info.format.u32 == PJMEDIA_FORMAT_L16) { 
    16141611        stream->port.put_frame = &put_frame; 
    16151612        stream->port.get_frame = &get_frame; 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia/symbian_sound_aps.cpp

    r2449 r2456  
    509509        iSession.Stop(); 
    510510        state_ = STATE_READY; 
    511         TRACE_((THIS_FILE, "Streaming stopped")); 
     511        TRACE_((THIS_FILE, "Sound device stopped")); 
    512512    } 
    513513} 
     
    550550    if (parentStrm_->dir != PJMEDIA_DIR_CAPTURE) { 
    551551        iSession.Write(); 
    552         TRACE_((THIS_FILE, "Player streaming started")); 
     552        TRACE_((THIS_FILE, "Player started")); 
    553553    } 
    554554 
     
    556556    if (parentStrm_->dir != PJMEDIA_DIR_PLAYBACK) { 
    557557        iSession.Read(); 
    558         TRACE_((THIS_FILE, "Recorder streaming started")); 
     558        TRACE_((THIS_FILE, "Recorder started")); 
    559559    } 
    560560 
     
    569569void CPjAudioEngine::InputStreamInitialized(const TInt aStatus) 
    570570{ 
    571     TRACE_((THIS_FILE, "InputStreamInitialized %d", aStatus)); 
     571    TRACE_((THIS_FILE, "Recorder initialized, err=%d", aStatus)); 
    572572 
    573573    state_ = STATE_READY; 
     
    579579void CPjAudioEngine::OutputStreamInitialized(const TInt aStatus) 
    580580{ 
    581     TRACE_((THIS_FILE, "OutputStreamInitialized %d", aStatus)); 
     581    TRACE_((THIS_FILE, "Player initialized, err=%d", aStatus)); 
    582582 
    583583    if (aStatus == KErrNone) { 
     
    605605    if (state_ == STATE_READY || state_ == STATE_STREAMING) { 
    606606        iSession.ActivateLoudspeaker(active); 
    607         TRACE_((THIS_FILE, "Loudspeaker on/off: %d", active)); 
     607        TRACE_((THIS_FILE, "Loudspeaker turned %s", (active? "on":"off"))); 
    608608        return KErrNone; 
    609609    } 
     
    709709     
    710710    switch(strm->setting.format.u32) { 
    711     case PJMEDIA_FOURCC_AMR: 
     711    case PJMEDIA_FORMAT_AMR: 
    712712        { 
    713713            const pj_uint8_t *p = (const pj_uint8_t*)buf.iBuffer.Ptr() + 1; 
     
    724724        break; 
    725725         
    726     case PJMEDIA_FOURCC_G729: 
     726    case PJMEDIA_FORMAT_G729: 
    727727        { 
    728728            /* Check if we got a normal or SID frame. */ 
     
    753753        break; 
    754754 
    755     case PJMEDIA_FOURCC_ILBC: 
     755    case PJMEDIA_FORMAT_ILBC: 
    756756        { 
    757757            unsigned samples_got; 
     
    779779        break; 
    780780         
    781     case PJMEDIA_FOURCC_PCMU: 
    782     case PJMEDIA_FOURCC_PCMA: 
     781    case PJMEDIA_FORMAT_PCMU: 
     782    case PJMEDIA_FORMAT_PCMA: 
    783783        { 
    784784            unsigned samples_processed = 0; 
     
    837837 
    838838    switch(strm->setting.format.u32) { 
    839     case PJMEDIA_FOURCC_AMR: 
     839    case PJMEDIA_FORMAT_AMR: 
    840840        { 
    841841            if (frame->samples_cnt == 0) { 
     
    884884        break; 
    885885         
    886     case PJMEDIA_FOURCC_G729: 
     886    case PJMEDIA_FORMAT_G729: 
    887887        { 
    888888            if (frame->samples_cnt == 0) { 
     
    933933        break; 
    934934         
    935     case PJMEDIA_FOURCC_ILBC: 
     935    case PJMEDIA_FORMAT_ILBC: 
    936936        { 
    937937            if (frame->samples_cnt == 0) { 
     
    973973        break; 
    974974         
    975     case PJMEDIA_FOURCC_PCMU: 
    976     case PJMEDIA_FOURCC_PCMA: 
     975    case PJMEDIA_FORMAT_PCMU: 
     976    case PJMEDIA_FORMAT_PCMA: 
    977977        { 
    978978            unsigned samples_ready = 0; 
     
    10061006                    } else { 
    10071007                        pj_uint8_t silc; 
    1008                         silc = (strm->setting.format.u32==PJMEDIA_FOURCC_PCMU)? 
     1008                        silc = (strm->setting.format.u32==PJMEDIA_FORMAT_PCMU)? 
    10091009                                pjmedia_linear2ulaw(0) : pjmedia_linear2alaw(0); 
    10101010                        buf.iBuffer.AppendFill(silc, samples_cnt); 
     
    10171017                    pj_uint8_t silc; 
    10181018                     
    1019                     silc = (strm->setting.format.u32==PJMEDIA_FOURCC_PCMU)? 
     1019                    silc = (strm->setting.format.u32==PJMEDIA_FORMAT_PCMU)? 
    10201020                            pjmedia_linear2ulaw(0) : pjmedia_linear2alaw(0); 
    10211021                    buf.iBuffer.AppendFill(silc, samples_req - samples_ready); 
     
    11051105    strm->setting = *setting; 
    11061106 
    1107     if (strm->setting.format.u32 == 0) 
    1108         strm->setting.format.u32 = PJMEDIA_FOURCC_L16; 
    1109  
    11101107    /* Set audio engine fourcc. */ 
    1111     if (strm->setting.format.u32 == PJMEDIA_FOURCC_PCMU || 
    1112         strm->setting.format.u32 == PJMEDIA_FOURCC_PCMA || 
    1113         strm->setting.format.u32 == PJMEDIA_FOURCC_L16) 
     1108    if (strm->setting.format.u32 == PJMEDIA_FORMAT_PCMU || 
     1109        strm->setting.format.u32 == PJMEDIA_FORMAT_PCMA || 
     1110        strm->setting.format.u32 == PJMEDIA_FORMAT_L16) 
    11141111    { 
    11151112        aps_setting.fourcc = TFourCC(KMCPFourCCIdG711); 
     
    11191116 
    11201117    /* Set audio engine mode. */ 
    1121     if (strm->setting.format.u32 == PJMEDIA_FOURCC_AMR) 
     1118    if (strm->setting.format.u32 == PJMEDIA_FORMAT_AMR) 
    11221119    { 
    11231120        aps_setting.mode = (TAPSCodecMode)strm->setting.bitrate; 
    11241121    }  
    1125     else if (strm->setting.format.u32 == PJMEDIA_FOURCC_PCMU || 
    1126              strm->setting.format.u32 == PJMEDIA_FOURCC_L16  || 
    1127             (strm->setting.format.u32 == PJMEDIA_FOURCC_ILBC  && 
     1122    else if (strm->setting.format.u32 == PJMEDIA_FORMAT_PCMU || 
     1123             strm->setting.format.u32 == PJMEDIA_FORMAT_L16 || 
     1124            (strm->setting.format.u32 == PJMEDIA_FORMAT_ILBC  && 
    11281125             strm->setting.mode == 30)) 
    11291126    { 
    11301127        aps_setting.mode = EULawOr30ms; 
    11311128    }  
    1132     else if (strm->setting.format.u32 == PJMEDIA_FOURCC_PCMA || 
    1133             (strm->setting.format.u32 == PJMEDIA_FOURCC_ILBC && 
     1129    else if (strm->setting.format.u32 == PJMEDIA_FORMAT_PCMA || 
     1130            (strm->setting.format.u32 == PJMEDIA_FORMAT_ILBC && 
    11341131             strm->setting.mode == 20)) 
    11351132    { 
     
    11381135 
    11391136    /* Disable VAD on L16 and G711. */ 
    1140     if (strm->setting.format.u32 == PJMEDIA_FOURCC_PCMU || 
    1141         strm->setting.format.u32 == PJMEDIA_FOURCC_PCMA || 
    1142         strm->setting.format.u32 == PJMEDIA_FOURCC_L16) 
     1137    if (strm->setting.format.u32 == PJMEDIA_FORMAT_PCMU || 
     1138        strm->setting.format.u32 == PJMEDIA_FORMAT_PCMA || 
     1139        strm->setting.format.u32 == PJMEDIA_FORMAT_L16) 
    11431140    { 
    11441141        aps_setting.vad = EFalse; 
     
    11531150 
    11541151    /* Set audio engine callbacks. */ 
    1155     if (strm->setting.format.u32 == PJMEDIA_FOURCC_L16) { 
     1152    if (strm->setting.format.u32 == PJMEDIA_FORMAT_L16) { 
    11561153        aps_play_cb = &PlayCbPcm; 
    11571154        aps_rec_cb  = &RecCbPcm; 
     
    11831180    strm->rec_buf_len = 0; 
    11841181 
    1185     if (strm->setting.format.u32 == PJMEDIA_FOURCC_G729) { 
     1182    if (strm->setting.format.u32 == PJMEDIA_FORMAT_G729) { 
    11861183        TBitStream *g729_bitstream = new TBitStream; 
    11871184         
     
    12151212 
    12161213    pj_bzero(&setting, sizeof(setting)); 
    1217     setting.format.u32 = PJMEDIA_FOURCC_L16; 
     1214    setting.format.u32 = PJMEDIA_FORMAT_L16; 
    12181215     
    12191216    return sound_open(PJMEDIA_DIR_CAPTURE, clock_rate, channel_count, 
     
    12371234 
    12381235    pj_bzero(&setting, sizeof(setting)); 
    1239     setting.format.u32 = PJMEDIA_FOURCC_L16; 
     1236    setting.format.u32 = PJMEDIA_FORMAT_L16; 
    12401237 
    12411238    return sound_open(PJMEDIA_DIR_PLAYBACK, clock_rate, channel_count, 
     
    12621259 
    12631260    pj_bzero(&setting, sizeof(setting)); 
    1264     setting.format.u32 = PJMEDIA_FOURCC_L16; 
     1261    setting.format.u32 = PJMEDIA_FORMAT_L16; 
    12651262 
    12661263    return sound_open(PJMEDIA_DIR_CAPTURE_PLAYBACK, clock_rate, channel_count, 
     
    13501347    stream->engine = NULL; 
    13511348 
    1352     if (stream->setting.format.u32 == PJMEDIA_FOURCC_G729) { 
     1349    if (stream->setting.format.u32 == PJMEDIA_FORMAT_G729) { 
    13531350        TBitStream *g729_bitstream = (TBitStream*)stream->strm_data; 
    13541351        stream->strm_data = NULL; 
  • pjproject/branches/projects/aps-direct/pjsip-apps/src/symbian_ua/ua.cpp

    r2450 r2456  
    9393 
    9494static pj_pool_t *app_pool; 
    95 static pjmedia_snd_port *snd_port; 
     95static pjmedia_snd_port *g_snd_port; 
    9696 
    9797 
     
    134134        if (call_id == g_call_id) 
    135135            g_call_id = PJSUA_INVALID_ID; 
    136         if (snd_port) { 
    137             pjmedia_snd_port_destroy(snd_port); 
    138             snd_port = NULL; 
    139         } 
    140136    } else if (ci.state != PJSIP_INV_STATE_INCOMING) { 
    141137        if (g_call_id == PJSUA_INVALID_ID) 
     
    270266    unsigned samples_per_frame; 
    271267    pj_status_t status; 
     268     
     269    PJ_UNUSED_ARG(call_id); 
     270    PJ_UNUSED_ARG(p_port); 
    272271     
    273272    status = pjmedia_session_get_info(sess, &sess_info); 
     
    289288    setting.vad = strm_info->param->setting.vad; 
    290289    setting.plc = strm_info->param->setting.plc; 
    291     if (setting.format.u32 == PJMEDIA_FOURCC_ILBC) { 
     290    if (setting.format.u32 == PJMEDIA_FORMAT_ILBC) { 
    292291        unsigned i; 
    293292        pjmedia_codec_fmtp *fmtp = &strm_info->param->setting.dec_fmtp; 
     
    315314    /* Reset conference attributes. */ 
    316315    conf->info.samples_per_frame = samples_per_frame; 
    317     conf->info.clock_rate = 8000; 
    318     conf->info.channel_count = 1; 
     316    conf->info.clock_rate = strm_info->param->info.clock_rate; 
     317    conf->info.channel_count = strm_info->param->info.channel_cnt; 
    319318    conf->info.bits_per_sample = 16; 
     319    conf->info.format = strm_info->param->info.format; 
    320320 
    321321    /* Reopen sound device. */ 
     
    324324                                      0, 
    325325                                      0, 
    326                                       8000, 
    327                                       1, 
     326                                      strm_info->param->info.clock_rate, 
     327                                      strm_info->param->info.channel_cnt, 
    328328                                      samples_per_frame, 
    329329                                      16, 
    330330                                      &setting, 
    331                                       &snd_port); 
     331                                      &g_snd_port); 
    332332    if (status != PJ_SUCCESS) { 
    333333        PJ_LOG(1,(THIS_FILE, "on_stream_created() failed to reopen sound " 
     
    336336    } 
    337337     
    338     status = pjmedia_snd_port_connect(snd_port, conf); 
     338    status = pjmedia_snd_port_connect(g_snd_port, conf); 
    339339    if (status != PJ_SUCCESS) { 
    340340        PJ_LOG(1,(THIS_FILE, "on_stream_created() failed to connect sound " 
    341341                             "device to conference, status=%d", status)); 
    342342        return; 
     343    } 
     344} 
     345 
     346static void on_stream_destroyed(pjsua_call_id call_id, 
     347                                pjmedia_session *sess,  
     348                                unsigned stream_idx) 
     349{ 
     350    PJ_UNUSED_ARG(call_id); 
     351    PJ_UNUSED_ARG(sess); 
     352    PJ_UNUSED_ARG(stream_idx); 
     353 
     354    if (g_snd_port) { 
     355        pjmedia_snd_port_destroy(g_snd_port); 
     356        g_snd_port = NULL; 
    343357    } 
    344358} 
     
    407421    cfg.cb.on_nat_detect = &on_nat_detect; 
    408422    cfg.cb.on_stream_created = &on_stream_created; 
     423    cfg.cb.on_stream_destroyed = &on_stream_destroyed; 
    409424     
    410425    if (SIP_PROXY) { 
     
    429444    log_cfg.console_level = LOG_LEVEL; 
    430445    log_cfg.cb = &log_writer; 
    431     //log_cfg.log_filename = pj_str("C:\\data\\symbian_ua.log"); 
     446    log_cfg.log_filename = pj_str("C:\\data\\symbian_ua.log"); 
    432447 
    433448    pjsua_media_config_default(&med_cfg); 
     
    621636#   if PJMEDIA_SOUND_IMPLEMENTATION == PJMEDIA_SOUND_SYMB_APS_SOUND 
    622637    case 't': 
    623         if (snd_port) { 
     638        if (g_snd_port) { 
    624639            static pj_bool_t act_loudspk = PJ_TRUE; 
    625640            pjmedia_snd_stream *strm; 
    626641             
    627             strm = pjmedia_snd_port_get_snd_stream(snd_port); 
     642            strm = pjmedia_snd_port_get_snd_stream(g_snd_port); 
    628643            pjmedia_snd_aps_activate_loudspeaker(strm, act_loudspk); 
    629644            act_loudspk = !act_loudspk; 
     
    9981013#endif 
    9991014         
    1000     if (snd_port) { 
    1001         pjmedia_snd_port_destroy(snd_port); 
    1002         snd_port = NULL; 
     1015    if (g_snd_port) { 
     1016        pjmedia_snd_port_destroy(g_snd_port); 
     1017        g_snd_port = NULL; 
    10031018    } 
    10041019 
Note: See TracChangeset for help on using the changeset viewer.