Changeset 4387 for pjproject


Ignore:
Timestamp:
Feb 27, 2013 10:16:08 AM (12 years ago)
Author:
ming
Message:

Re #1559: Backported to 1.x, except r4312,r4330

Location:
pjproject/branches/1.x
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/1.x

  • pjproject/branches/1.x/pjlib-util/build/Makefile

    r3677 r4387  
    7575        $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB) 
    7676 
    77 pjlib-util-test: 
     77pjlib-util-test: pjlib-util 
    7878        $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE) 
    7979 
  • pjproject/branches/1.x/pjlib/build/Makefile

    r3677 r4387  
    8888        touch ../include/pj/config_site.h 
    8989         
    90 pjlib-test:  
     90pjlib-test: pjlib 
    9191        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE) 
    9292 
  • pjproject/branches/1.x/pjlib/src/pj/sock_bsd.c

    r3553 r4387  
    719719    PJ_CHECK_STACK(); 
    720720    PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); 
    721     PJ_ASSERT_RETURN(from && fromlen, (*len=-1, PJ_EINVAL)); 
    722721 
    723722    *len = recvfrom(sock, (char*)buf, *len, flags,  
     
    727726        return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); 
    728727    else { 
    729         PJ_SOCKADDR_RESET_LEN(from); 
     728        if (from) { 
     729            PJ_SOCKADDR_RESET_LEN(from); 
     730        } 
    730731        return PJ_SUCCESS; 
    731732    } 
  • pjproject/branches/1.x/pjlib/src/pjlib-test/activesock.c

    r3553 r4387  
    214214            pj_time_val delay = {0, 10}; 
    215215#ifdef PJ_SYMBIAN 
     216            PJ_UNUSED_ARG(delay); 
    216217            pj_symbianos_poll(-1, 100); 
    217218#else 
  • pjproject/branches/1.x/pjlib/src/pjlib-test/ioq_tcp.c

    r3553 r4387  
    364364#ifdef PJ_SYMBIAN 
    365365        callback_call_count = 0; 
    366         pj_symbianos_poll(-1, 1000); 
     366        pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    367367        status = callback_call_count; 
    368368#else 
     
    413413        pj_time_val timeout = {1, 0}; 
    414414#ifdef PJ_SYMBIAN 
    415         status = pj_symbianos_poll(-1, 1000); 
     415        status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    416416#else 
    417417        status = pj_ioqueue_poll(ioque, &timeout); 
     
    543543#ifdef PJ_SYMBIAN 
    544544        callback_call_count = 0; 
    545         pj_symbianos_poll(-1, 1000); 
     545        pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    546546        status = callback_call_count; 
    547547#else 
     
    577577        pj_time_val timeout = {1, 0}; 
    578578#ifdef PJ_SYMBIAN 
    579         status = pj_symbianos_poll(-1, 1000); 
     579        status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    580580#else 
    581581        status = pj_ioqueue_poll(ioque, &timeout); 
     
    772772 
    773773#ifdef PJ_SYMBIAN 
    774                 status = pj_symbianos_poll(-1, 1000); 
     774                status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    775775#else 
    776776                status = pj_ioqueue_poll(ioque, &timeout); 
     
    798798            pj_time_val timeout = {1, 0}; 
    799799#ifdef PJ_SYMBIAN 
    800             status = pj_symbianos_poll(-1, 1000); 
     800            status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    801801#else 
    802802            status = pj_ioqueue_poll(ioque, &timeout); 
  • pjproject/branches/1.x/pjlib/src/pjlib-test/ioq_udp.c

    r3553 r4387  
    268268        TRACE_("poll..."); 
    269269#ifdef PJ_SYMBIAN 
    270         rc = pj_symbianos_poll(-1, 5000); 
     270        rc = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    271271#else 
    272272        rc = pj_ioqueue_poll(ioque, &timeout); 
     
    784784            pj_time_val timeout = { 1, 0 }; 
    785785#ifdef PJ_SYMBIAN 
    786             rc = pj_symbianos_poll(-1, 1000); 
     786            rc = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); 
    787787#else 
    788788            rc = pj_ioqueue_poll(ioque, &timeout); 
     
    813813            pj_time_val timeout = { 0, 10 }; 
    814814#ifdef PJ_SYMBIAN 
     815            PJ_UNUSED_ARG(timeout); 
    815816            rc = pj_symbianos_poll(-1, 100); 
    816817#else        
  • pjproject/branches/1.x/pjmedia/build/Makefile

    r3677 r4387  
    151151        $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $(PJSDP_LIB) 
    152152 
    153 pjmedia-test: $(PJMEDIA_LIB) 
     153$(PJMEDIA_LIB): pjmedia 
     154 
     155pjmedia-test: $(PJMEDIA_LIB) pjmedia 
    154156        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(PJMEDIA_TEST_EXE) 
    155157 
  • pjproject/branches/1.x/pjmedia/src/pjmedia-audiodev/alsa_dev.c

    r4125 r4387  
    233233 
    234234    /* Set device name */ 
    235     strcpy(adi->name, dev_name); 
     235    strncpy(adi->name, dev_name, sizeof(adi->name)); 
    236236 
    237237    /* Check the number of playback channels */ 
  • pjproject/branches/1.x/pjmedia/src/pjmedia/g711.c

    r3553 r4387  
    331331#if !PLC_DISABLED 
    332332        /* Create PLC, always with 10ms ptime */ 
    333         status = pjmedia_plc_create(g711_factory.pool, 8000, 80, 
     333        status = pjmedia_plc_create(g711_factory.pool, 8000, 
     334                                    SAMPLES_PER_FRAME, 
    334335                                    0, &codec_priv->plc); 
    335336        if (status != PJ_SUCCESS) { 
     
    341342        /* Create VAD */ 
    342343        status = pjmedia_silence_det_create(g711_factory.pool, 
    343                                             8000, 80, 
     344                                            8000, SAMPLES_PER_FRAME, 
    344345                                            &codec_priv->vad); 
    345346        if (status != PJ_SUCCESS) { 
  • pjproject/branches/1.x/pjmedia/src/pjmedia/rtcp.c

    r3960 r4387  
    753753    /* Check and get BYE reason */ 
    754754    if (size > 8) { 
    755         reason.slen = *((pj_uint8_t*)pkt+8); 
     755        reason.slen = PJ_MIN(sizeof(sess->stat.peer_sdes_buf_), 
     756                             *((pj_uint8_t*)pkt+8)); 
    756757        pj_memcpy(sess->stat.peer_sdes_buf_, ((pj_uint8_t*)pkt+9), 
    757758                  reason.slen); 
  • pjproject/branches/1.x/pjmedia/src/pjmedia/rtp.c

    r3553 r4387  
    119119                                            const void **rtphdr, int *hdrlen ) 
    120120{ 
    121     PJ_UNUSED_ARG(payload_len); 
    122  
    123121    /* Update timestamp */ 
    124122    ses->out_hdr.ts = pj_htonl(pj_ntohl(ses->out_hdr.ts)+ts_len); 
  • pjproject/branches/1.x/pjmedia/src/pjmedia/transport_srtp.c

    r3986 r4387  
    3838#define MAX_RTP_BUFFER_LEN          1500 
    3939#define MAX_RTCP_BUFFER_LEN         1500 
    40 #define MAX_KEY_LEN                 32 
     40#define MAX_KEY_LEN                 128 
    4141 
    4242/* Initial value of probation counter. When probation counter > 0,  
     
    612612    srtp->session_inited = PJ_TRUE; 
    613613 
    614     PJ_LOG(5, (srtp->pool->obj_name, "TX: %s key=%s", srtp->tx_policy.name.ptr, 
    615                octet_string_hex_string(tx->key.ptr, tx->key.slen))); 
    616     if (srtp->tx_policy.flags) { 
    617         PJ_LOG(5,(srtp->pool->obj_name,"TX: disable%s%s", (cr_tx_idx?"":" enc"), 
    618                   (au_tx_idx?"":" auth"))); 
    619     } 
    620  
    621     PJ_LOG(5, (srtp->pool->obj_name, "RX: %s key=%s", srtp->rx_policy.name.ptr, 
    622                octet_string_hex_string(rx->key.ptr, rx->key.slen))); 
    623     if (srtp->rx_policy.flags) { 
    624         PJ_LOG(5,(srtp->pool->obj_name,"RX: disable%s%s", (cr_rx_idx?"":" enc"), 
    625                   (au_rx_idx?"":" auth"))); 
    626     } 
     614    /* Logging stuffs */ 
     615#if PJ_LOG_MAX_LEVEL >= 5 
     616    { 
     617        char b64[PJ_BASE256_TO_BASE64_LEN(MAX_KEY_LEN)]; 
     618        int b64_len; 
     619 
     620        /* TX crypto and key */ 
     621        b64_len = sizeof(b64); 
     622        status = pj_base64_encode((pj_uint8_t*)tx->key.ptr, tx->key.slen, 
     623                                  b64, &b64_len); 
     624        if (status != PJ_SUCCESS) 
     625            b64_len = pj_ansi_sprintf(b64, "--key too long--"); 
     626        else 
     627            b64[b64_len] = '\0'; 
     628         
     629        PJ_LOG(5, (srtp->pool->obj_name, "TX: %s key=%s", 
     630                   srtp->tx_policy.name.ptr, b64)); 
     631        if (srtp->tx_policy.flags) { 
     632            PJ_LOG(5,(srtp->pool->obj_name, "TX: disable%s%s", 
     633                      (cr_tx_idx?"":" enc"), 
     634                      (au_tx_idx?"":" auth"))); 
     635        } 
     636 
     637        /* RX crypto and key */ 
     638        b64_len = sizeof(b64); 
     639        status = pj_base64_encode((pj_uint8_t*)rx->key.ptr, rx->key.slen, 
     640                                  b64, &b64_len); 
     641        if (status != PJ_SUCCESS) 
     642            b64_len = pj_ansi_sprintf(b64, "--key too long--"); 
     643        else 
     644            b64[b64_len] = '\0'; 
     645 
     646        PJ_LOG(5, (srtp->pool->obj_name, "RX: %s key=%s", 
     647                   srtp->rx_policy.name.ptr, b64)); 
     648        if (srtp->rx_policy.flags) { 
     649            PJ_LOG(5,(srtp->pool->obj_name,"RX: disable%s%s", 
     650                      (cr_rx_idx?"":" enc"), 
     651                      (au_rx_idx?"":" auth"))); 
     652        } 
     653    } 
     654#endif 
    627655 
    628656on_return: 
  • pjproject/branches/1.x/pjnath/build/Makefile

    r3677 r4387  
    9898        $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB) 
    9999 
     100$$(PJNATH_LIB): pjnath 
     101 
    100102pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB) 
    101103        $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE) 
  • pjproject/branches/1.x/pjsip-apps/src/python/setup.py

    r4121 r4387  
    8888    extra_link_args = ["-framework", "CoreFoundation",  
    8989                       "-framework", "AudioToolbox"] 
    90     # OS X Lion support 
    91     if platform.mac_ver()[0].startswith("10.7"): 
     90    version = platform.mac_ver()[0].split(".")     
     91    # OS X Lion (10.7.x) or above support 
     92    if version[0] == '10' and int(version[1]) >= 7: 
    9293        extra_link_args += ["-framework", "AudioUnit"] 
    9394else: 
  • pjproject/branches/1.x/pjsip-apps/src/samples/icedemo.c

    r3603 r4387  
    615615 
    616616        /* Enumerate all candidates for this component */ 
     617        cand_cnt = PJ_ARRAY_SIZE(cand); 
    617618        status = pj_ice_strans_enum_cands(icedemo.icest, comp+1, 
    618619                                          &cand_cnt, cand); 
  • pjproject/branches/1.x/pjsip/build/Makefile

    r3677 r4387  
    138138        $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(PJSUA_LIB_LIB) 
    139139 
    140 pjsip-test: 
     140pjsip-test: pjsip 
    141141        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $(TEST_EXE) 
    142142 
  • pjproject/branches/1.x/pjsip/include/pjsua-lib/pjsua.h

    r4329 r4387  
    654654     *  - it may delay the processing of the request, for example to request 
    655655     *    user permission whether to accept or reject the request. In this  
    656      *    case, the application MUST set the \a code argument to 202, and  
    657      *    later calls #pjsua_pres_notify() to accept or reject the  
    658      *    subscription request. 
     656     *    case, the application MUST set the \a code argument to 202, then 
     657     *    IMMEDIATELY calls #pjsua_pres_notify() with state 
     658     *    PJSIP_EVSUB_STATE_PENDING and later calls #pjsua_pres_notify() 
     659     *    again to accept or reject the subscription request. 
    659660     * 
    660661     * Any \a code other than 200 and 202 will be treated as 200. 
     
    22412242    /**  
    22422243     * The full SIP URL for the account. The value can take name address or  
    2243      * URL format, and will look something like "sip:account@serviceprovider". 
     2244     * URL format, and will look something like "sip:account@serviceprovider" 
     2245     * or "\"Display Name\" <sip:account@provider>". 
    22442246     * 
    22452247     * This field is mandatory. 
     
    35253527 * 
    35263528 * @param call_id       The call id to be transfered. 
    3527  * @param dest          Address of new target to be contacted. 
     3529 * @param dest          URI of new target to be contacted. The URI may be 
     3530 *                      in name address or addr-spec format. 
    35283531 * @param msg_data      Optional message components to be sent with 
    35293532 *                      the request. 
  • pjproject/branches/1.x/pjsip/src/pjsip/sip_parser.c

    r3553 r4387  
    15231523    /* Get the SIP-URL */ 
    15241524    has_bracket = (*scanner->curptr == '<'); 
    1525     if (has_bracket) 
     1525    if (has_bracket) { 
    15261526        pj_scan_get_char(scanner); 
     1527    } else if (name_addr->display.slen) { 
     1528        /* Must have bracket now (2012-10-26). 
     1529         * Allowing (invalid) name-addr to pass URI verification will 
     1530         * cause us to send invalid URI to the wire. 
     1531         */ 
     1532        PJ_THROW( PJSIP_SYN_ERR_EXCEPTION); 
     1533    } 
    15271534    name_addr->uri = int_parse_uri( scanner, pool, PJ_TRUE ); 
    15281535    if (has_bracket) { 
  • pjproject/branches/1.x/pjsip/src/pjsua-lib/pjsua_call.c

    r4067 r4387  
    3434 */ 
    3535#define LOCK_CODEC_MAX_RETRY         5 
     36 
     37 
     38/* 
     39 * The INFO method. 
     40 */ 
     41const pjsip_method pjsip_info_method = 
     42{ 
     43    PJSIP_OTHER_METHOD, 
     44    { "INFO", 4 } 
     45}; 
     46 
    3647 
    3748/* This callback receives notification from invite session when the 
     
    175186    pjsip_endpt_add_capability(pjsua_var.endpt, NULL, PJSIP_H_SUPPORTED, 
    176187                               NULL, 1, &str_norefersub); 
     188 
     189    /* Add "INFO" in Allow header, for DTMF and video key frame request. */ 
     190    pjsip_endpt_add_capability(pjsua_var.endpt, NULL, PJSIP_H_ALLOW, 
     191                               NULL, 1, &pjsip_info_method.name); 
    177192 
    178193    return status; 
Note: See TracChangeset for help on using the changeset viewer.