Changeset 2 for pjproject


Ignore:
Timestamp:
Nov 1, 2005 4:42:51 PM (19 years ago)
Author:
bennylp
Message:

Added suppor /and fix things for SunOS port

Location:
pjproject/main
Files:
6 added
23 edited

Legend:

Unmodified
Added
Removed
  • pjproject/main/Makefile

    r1 r2  
    11DIRS = pjlib pjsdp pjmedia pjsip 
    22 
    3 MAKE_FLAGS := TARGET=$(TARGET) 
    4  
    53ifdef MINSIZE 
    6 MAKE_FLAGS := $(MAKE_FLAGS) MINSIZE=1 
     4MAKE_FLAGS := MINSIZE=1 
    75endif 
    86 
     
    2220BINS = pjsip/bin/pjsua$(EXE)  
    2321 
    24 include pjlib/build/make-$(TARGET).inc 
    25  
    2622size: 
    27         @echo 'TARGET=$(TARGET)' 
    2823        @echo -n 'Date: ' 
    2924        @date 
     
    4237        done 
    4338 
     39dos2unix: 
     40        for f in `find . | egrep '(mak|h|c|S|s|Makefile)$$'`; do \ 
     41                dos2unix "$$f" > dos2unix.tmp; \ 
     42                cp dos2unix.tmp "$$f"; \ 
     43        done 
     44        rm -f dos2unix.tmp 
     45 
  • pjproject/main/build.mak

    r1 r2  
    5454#export KERNEL_ARCH = ARCH=um 
    5555 
     56# 
     57# SunOS, sparc, gcc 
     58# 
     59export MACHINE_NAME := sparc 
     60export OS_NAME := sunos 
     61export CC_NAME := gcc 
     62export HOST_NAME := unix 
     63 
  • pjproject/main/build/rules.mak

    r1 r2  
    149149        for F in $(FULL_SRCS); do \ 
    150150           if test -f $$F; then \ 
    151              echo -n $(OBJDIR)/ >> $(DEP_FILE); \ 
     151             bash -c "echo -n $(OBJDIR)/" >> $(DEP_FILE); \ 
    152152             if gcc -MM $(DEPFLAGS) $$F | sed '/^#/d' >> $(DEP_FILE); then \ 
    153153                true; \ 
    154154             else \ 
    155155                echo 'err:' >> $(DEP_FILE); \ 
     156                rm -f $(DEP_FILE); \ 
    156157                exit 1; \ 
    157158             fi; \ 
    158159           fi; \ 
    159         done 
     160        done; 
    160161 
    161162dep: depend 
  • pjproject/main/pjlib/build

    • Property svn:ignore set to
      .pjlib*
      output/*
      core
  • pjproject/main/pjlib/build/Makefile

    r1 r2  
    6161# Gather all flags. 
    6262# 
    63 export _CFLAGS  := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ 
     63export _CFLAGS  := -O2 $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ 
    6464                   $(CFLAGS) $(CC_INC)../include 
    6565export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ 
  • pjproject/main/pjlib/build/output

    • Property svn:ignore set to
      *
  • pjproject/main/pjlib/include/pj

    • Property svn:ignore set to
      config_site.h
  • pjproject/main/pjlib/include/pj/compat/errno.h

    r1 r2  
    1010 
    1111#elif (defined(PJ_LINUX) && PJ_LINUX != 0) || \ 
    12       (defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0) 
     12      (defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0) || \ 
     13      (defined(PJ_SUNOS) && PJ_SUNOS != 0) 
    1314 
    1415    typedef int pj_os_err_type; 
  • pjproject/main/pjlib/include/pj/compat/high_precision.h

    r1 r2  
    3636 
    3737#else 
     38#   warning "High precision math is not available" 
     39 
    3840    /* 
    3941     * Last, fallback to 32-bit arithmetics. 
  • pjproject/main/pjlib/include/pj/config.h

    r1 r2  
    2222 
    2323/******************************************************************** 
    24  * Include target specific configuration. 
    25  */ 
    26 #if defined(PJ_WIN32) 
     24 * Include target OS specific configuration. 
     25 */ 
     26#if defined(PJ_WIN32) && PJ_WIN32!=0 
    2727#  include <pj/compat/os_win32.h> 
    28 #elif defined(PJ_LINUX) 
     28#elif defined(PJ_LINUX) && PJ_LINUX!=0 
    2929#  include <pj/compat/os_linux.h> 
    30 #elif defined(PJ_LINUX_KERNEL) 
     30#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL!=0 
    3131#  include <pj/compat/os_linux_kernel.h> 
    32 #elif defined(PJ_PALMOS) 
     32#elif defined(PJ_PALMOS) && PJ_PALMOS!=0 
    3333#  include <pj/compat/os_palmos.h> 
     34#elif defined(PJ_SUNOS) && PJ_SUNOS!=0 
     35#  include <pj/compat/os_sunos.h> 
    3436#else 
    3537#  error "Please specify target os." 
     
    4143 */ 
    4244#if defined (PJ_M_I386) && PJ_M_I386 != 0 
    43 include <pj/compat/m_i386.h> 
     45 include <pj/compat/m_i386.h> 
    4446#elif defined (PJ_M_M68K) && PJ_M_M68K != 0 
    4547#   include <pj/compat/m_m68k.h> 
    4648#elif defined (PJ_M_ALPHA) && PJ_M_ALPHA != 0 
    4749#   include <pj/compat/m_alpha.h> 
     50#elif defined (PJ_M_SPARC) && PJ_M_SPARC != 0 
     51#   include <pj/compat/m_sparc.h> 
    4852#else 
    4953#  error "Please specify target machine." 
  • pjproject/main/pjlib/include/pj/os.h

    r1 r2  
    5858 */ 
    5959#if !defined(PJ_THREAD_DESC_SIZE) 
    60 #   define PJ_THREAD_DESC_SIZE      (PJ_MAX_OBJ_NAME + 10*sizeof(long)) 
     60#   define PJ_THREAD_DESC_SIZE      (16) 
    6161#endif 
    6262 
     
    6565 * or native API.  
    6666 */ 
    67 typedef pj_uint8_t pj_thread_desc[PJ_THREAD_DESC_SIZE]; 
     67typedef long pj_thread_desc[PJ_THREAD_DESC_SIZE]; 
    6868 
    6969/** 
     
    245245 * @param value     The value. 
    246246 */ 
    247 PJ_DECL(void) pj_thread_local_set(long index, void *value); 
     247PJ_DECL(pj_status_t) pj_thread_local_set(long index, void *value); 
    248248 
    249249/** 
     
    784784    struct 
    785785    { 
     786#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0 
    786787        pj_uint32_t lo;     /**< Low 32-bit value of the 64-bit value. */ 
    787788        pj_uint32_t hi;     /**< high 32-bit value of the 64-bit value. */ 
     789#else 
     790        pj_uint32_t hi;     /**< high 32-bit value of the 64-bit value. */ 
     791        pj_uint32_t lo;     /**< Low 32-bit value of the 64-bit value. */ 
     792#endif 
    788793    } u32;                  /**< The 64-bit value as two 32-bit values. */ 
    789794 
  • pjproject/main/pjlib/lib

    • Property svn:ignore set to
      *
  • pjproject/main/pjlib/src/pj/ioqueue_select.c

    r1 r2  
    499499#               if defined(PJ_WIN32) && PJ_WIN32 != 0 
    500500                rc = pj_sock_recv(h->fd, h->rd_buf, &bytes_read, 0); 
    501 #               elif defined(PJ_LINUX) && PJ_LINUX != 0 
     501#               elif (defined(PJ_LINUX) && PJ_LINUX != 0) || \ 
     502                     (defined(PJ_SUNOS) && PJ_SUNOS != 0) 
    502503                bytes_read = read(h->fd, h->rd_buf, bytes_read); 
    503504                rc = (bytes_read >= 0) ? PJ_SUCCESS : pj_get_os_error(); 
     
    506507                rc = (bytes_read >= 0) ? PJ_SUCCESS : -bytes_read; 
    507508#               else 
    508 #               error "Check this man!" 
     509#               error "Implement read() for this platform!" 
    509510#               endif 
    510511            } 
     
    560561                  PJ_IOQUEUE_IS_CONNECT_OP(h->op)); 
    561562 
    562 #if PJ_HAS_TCP 
     563#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0 
    563564        if ((h->op & PJ_IOQUEUE_OP_CONNECT)) { 
    564565            /* Completion of connect() operation */ 
    565566            pj_ssize_t bytes_transfered; 
    566567 
    567 #if defined(PJ_LINUX) || defined(PJ_LINUX_KERNEL) 
     568#if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ 
     569    (defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL!=0) 
    568570            /* from connect(2):  
    569571                * On Linux, use getsockopt to read the SO_ERROR option at 
     
    585587                bytes_transfered = value; 
    586588            } 
    587 #elif defined(PJ_WIN32) 
     589#elif defined(PJ_WIN32) && PJ_WIN32!=0 
    588590            bytes_transfered = 0; /* success */ 
    589591#else 
    590 #  error "Got to check this one!" 
     592            /* Excellent information in D.J. Bernstein page: 
     593             * http://cr.yp.to/docs/connect.html 
     594             * 
     595             * Seems like the most portable way of detecting connect() 
     596             * failure is to call getpeername(). If socket is connected, 
     597             * getpeername() will return 0. If the socket is not connected, 
     598             * it will return ENOTCONN, and read(fd, &ch, 1) will produce 
     599             * the right errno through error slippage. This is a combination 
     600             * of suggestions from Douglas C. Schmidt and Ken Keys. 
     601             */ 
     602            int gp_rc; 
     603            struct sockaddr_in addr; 
     604            socklen_t addrlen = sizeof(addr); 
     605 
     606            gp_rc = getpeername(h->fd, (struct sockaddr*)&addr, &addrlen); 
     607            bytes_transfered = gp_rc; 
    591608#endif 
    592609 
  • pjproject/main/pjlib/src/pj/os_core_linux_kernel.c

    r1 r2  
    253253 
    254254    /* Initialize and set the thread entry. */ 
    255     pj_memset(desc, 0, sizeof(pj_thread_desc)); 
     255    pj_memset(desc, 0, sizeof(struct pj_thread_t)); 
    256256 
    257257    if(cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) 
     
    288288        return rc; 
    289289 
    290     return pj_thread_register("pjlib-main", (pj_uint8_t*)&main_thread, &dummy); 
     290    return pj_thread_register("pjlib-main", (long*)&main_thread, &dummy); 
    291291} 
    292292 
     
    473473} 
    474474 
    475 PJ_DEF(void) pj_thread_local_set(long index, void *value) 
     475PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) 
    476476{ 
    477477    pj_assert(index >= 0 && index < MAX_TLS_ID); 
    478478    tls_values[index] = value; 
     479    return PJ_SUCCESS; 
    479480} 
    480481 
  • pjproject/main/pjlib/src/pj/os_core_unix.c

    r1 r2  
    175175#if PJ_HAS_THREADS 
    176176    char stack_ptr; 
     177    pj_status_t rc; 
    177178    pj_thread_t *thread = (pj_thread_t *)desc; 
    178179    pj_str_t thread_name = pj_str((char*)cstr_thread_name); 
     
    191192 
    192193    /* Initialize and set the thread entry. */ 
    193     pj_memset(desc, 0, sizeof(pj_thread_desc)); 
     194    pj_memset(desc, 0, sizeof(struct pj_thread_t)); 
    194195    thread->thread = pthread_self(); 
    195196 
     
    199200        pj_sprintf(thread->obj_name, "thr%p", (void*)thread->thread); 
    200201     
    201     pj_thread_local_set(thread_tls_id, thread); 
     202    rc = pj_thread_local_set(thread_tls_id, thread); 
     203    if (rc != PJ_SUCCESS) 
     204        return rc; 
    202205 
    203206#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 
     
    214217    pj_thread_t *thread = (pj_thread_t*)desc; 
    215218    *ptr_thread = thread; 
    216     return SUCCESS; 
     219    return PJ_SUCCESS; 
    217220#endif 
    218221} 
     
    231234        return rc; 
    232235    } 
    233     return pj_thread_register("thr%p", (pj_uint8_t*)&main_thread, &dummy); 
     236    return pj_thread_register("thr%p", (long*)&main_thread, &dummy); 
    234237#else 
    235238    PJ_LOG(2,(THIS_FILE, "Thread init error. Threading is not enabled!")); 
     
    248251    pj_thread_t *rec = param; 
    249252    void *result; 
     253    pj_status_t rc; 
    250254 
    251255#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 
     
    254258 
    255259    /* Set current thread id. */ 
    256     pj_thread_local_set(thread_tls_id, rec); 
     260    rc = pj_thread_local_set(thread_tls_id, rec); 
     261    if (rc != PJ_SUCCESS) { 
     262        pj_assert(!"Thread TLS ID is not set (pj_init() error?)"); 
     263    } 
    257264 
    258265    /* Check if suspension is required. */ 
     
    660667 * pj_thread_local_set() 
    661668 */ 
    662 PJ_DEF(void) pj_thread_local_set(long index, void *value) 
     669PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) 
    663670{ 
    664671    //Can't check stack because this function is called in the 
     
    666673    //PJ_CHECK_STACK(); 
    667674#if PJ_HAS_THREADS 
    668     pthread_setspecific(index, value); 
     675    int rc=pthread_setspecific(index, value); 
     676    return rc==0 ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(rc); 
    669677#else 
    670678    pj_assert(index >= 0 && index < MAX_THREADS); 
    671679    tls[index] = value; 
     680    return PJ_SUCCESS; 
    672681#endif 
    673682} 
     
    706715{ 
    707716#if PJ_HAS_THREADS 
    708     PJ_UNUSED_ARG(type); 
    709  
    710     PJ_CHECK_STACK(); 
     717    pthread_mutexattr_t attr; 
     718    int rc; 
     719 
     720    PJ_CHECK_STACK(); 
     721 
     722    pthread_mutexattr_init(&attr); 
    711723 
    712724    if (type == PJ_MUTEX_SIMPLE) { 
    713         pthread_mutex_t the_mutex = PTHREAD_MUTEX_INITIALIZER; 
    714         mutex->mutex = the_mutex; 
     725#if defined(PJ_LINUX) && PJ_LINUX!=0 
     726        rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_FAST_NP); 
     727#else 
     728        rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); 
     729#endif 
    715730    } else { 
    716         pthread_mutex_t the_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; 
    717         mutex->mutex = the_mutex; 
     731#if defined(PJ_LINUX) && PJ_LINUX!=0 
     732        rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); 
     733#else 
     734        rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); 
     735#endif 
     736    } 
     737     
     738    if (rc != 0) { 
     739        return PJ_RETURN_OS_ERROR(rc); 
     740    } 
     741 
     742    rc = pthread_mutex_init(&mutex->mutex, &attr); 
     743    if (rc != 0) { 
     744        return PJ_RETURN_OS_ERROR(rc); 
    718745    } 
    719746     
  • pjproject/main/pjlib/src/pj/os_core_win32.c

    r1 r2  
    192192{ 
    193193    char stack_ptr; 
     194    pj_status_t rc; 
    194195    pj_thread_t *thread = (pj_thread_t *)desc; 
    195196    pj_str_t thread_name = pj_str((char*)cstr_thread_name); 
     
    208209 
    209210    /* Initialize and set the thread entry. */ 
    210     pj_memset(desc, 0, sizeof(pj_thread_desc)); 
     211    pj_memset(desc, 0, sizeof(struct pj_thread_t)); 
    211212    thread->hthread = GetCurrentThread(); 
    212213    thread->idthread = GetCurrentThreadId(); 
     
    225226        pj_sprintf(thread->obj_name, "thr%p", (void*)thread->idthread); 
    226227     
    227     pj_thread_local_set(thread_tls_id, thread); 
     228    rc = pj_thread_local_set(thread_tls_id, thread); 
     229    if (rc != PJ_SUCCESS) 
     230        return rc; 
    228231 
    229232    *thread_ptr = thread; 
     
    257260    PJ_LOG(6,(rec->obj_name, "Thread started")); 
    258261 
    259     pj_thread_local_set(thread_tls_id, rec); 
     262    if (pj_thread_local_set(thread_tls_id, rec) != PJ_SUCCESS) { 
     263        pj_assert(!"TLS is not set (pj_init() error?)"); 
     264    } 
     265 
    260266    result = (*rec->proc)(rec->arg); 
    261267 
     
    586592 * pj_thread_local_set() 
    587593 */ 
    588 PJ_DEF(void) pj_thread_local_set(long index, void *value) 
    589 { 
     594PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) 
     595{ 
     596    BOOL rc; 
     597 
    590598    //Can't check stack because this function is called in the 
    591599    //beginning before main thread is initialized. 
    592600    //PJ_CHECK_STACK(); 
    593     TlsSetValue(index, value); 
     601    rc = TlsSetValue(index, value); 
     602    return rc!=0 ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(GetLastError()); 
    594603} 
    595604 
  • pjproject/main/pjlib/src/pj/sock_select.c

    r1 r2  
    2121#include <pj/errno.h> 
    2222 
     23#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H!=0 
     24#   include <string.h> 
     25#endif 
    2326 
    2427#ifdef _MSC_VER 
     
    2629#endif 
    2730 
    28 #define PART_FDSET(p_fdsetp)    ((fd_set*)&p_fdsetp->data[1]) 
    29 #define PART_COUNT(p_fdsetp)    (p_fdsetp->data[0]) 
     31#define PART_FDSET(ps)          ((fd_set*)&ps->data[1]) 
     32#define PART_FDSET_OR_NULL(ps)  (ps ? PART_FDSET(ps) : NULL) 
     33#define PART_COUNT(ps)          (ps->data[0]) 
    3034 
    3135PJ_DEF(void) PJ_FD_ZERO(pj_fd_set_t *fdsetp) 
     
    96100    } 
    97101 
    98     return select(n, PART_FDSET(readfds), PART_FDSET(writefds), 
    99                   PART_FDSET(exceptfds), p_os_timeout); 
     102    return select(n, PART_FDSET_OR_NULL(readfds), PART_FDSET_OR_NULL(writefds), 
     103                  PART_FDSET_OR_NULL(exceptfds), p_os_timeout); 
    100104} 
    101105 
  • pjproject/main/pjlib/src/pjlib-test/echo_clt.c

    r1 r2  
    4747    PJ_FD_SET(sock, &fdset); 
    4848     
    49     return pj_sock_select(1, &fdset, NULL, NULL, &timeout); 
     49    return pj_sock_select(FD_SETSIZE, &fdset, NULL, NULL, &timeout); 
    5050} 
    5151 
     
    8383        return -20; 
    8484    } 
     85 
     86    PJ_LOG(3,("", "...socket connected to %s:%d",  
     87                  pj_inet_ntoa(addr.sin_addr), 
     88                  pj_ntohs(addr.sin_port))); 
    8589 
    8690    pj_create_random_string(send_buf, BUF_SIZE); 
     
    116120        if (rc == 0) { 
    117121            PJ_LOG(3,("", "...timeout")); 
     122            bytes = 0; 
     123        } else if (rc < 0) { 
     124            rc = pj_get_netos_error(); 
     125            app_perror("...select() error", rc); 
     126            break; 
    118127        } else { 
    119128            /* Receive back the original packet. */ 
     
    130139                    } 
    131140                    bytes = 0; 
     141                    received = 0; 
    132142                    break; 
    133143                } 
    134144                bytes += received; 
    135             } while (bytes != BUF_SIZE); 
     145            } while (bytes != BUF_SIZE && bytes != 0); 
    136146        } 
    137147 
     
    178188 
    179189        if (pj_memcmp(send_buf, recv_buf, BUF_SIZE) != 0) { 
    180             PJ_LOG(3,("", "...error: buffer has changed!")); 
     190            //PJ_LOG(3,("", "...error: buffer has changed!")); 
    181191            break; 
    182192        } 
  • pjproject/main/pjlib/src/pjlib-test/main.c

    r1 r2  
    3636#endif 
    3737 
     38#if defined(PJ_SUNOS) && PJ_SUNOS!=0 
     39#include <signal.h> 
     40static void init_signals() 
     41{ 
     42    struct sigaction act; 
     43 
     44    memset(&act, 0, sizeof(act)); 
     45    act.sa_handler = SIG_IGN; 
     46 
     47    sigaction(SIGALRM, &act, NULL); 
     48} 
     49 
     50#else 
     51#define init_signals() 
     52#endif 
     53 
    3854int main(int argc, char *argv[]) 
    3955{ 
     
    4157 
    4258    boost(); 
     59    init_signals(); 
    4360 
    4461    while (argc > 1) { 
  • pjproject/main/pjlib/src/pjlib-test/test.h

    r1 r2  
    55#include <pj/types.h> 
    66 
    7 #define GROUP_LIBC                  1 
    8 #define GROUP_OS                    1 
    9 #define GROUP_DATA_STRUCTURE        1 
    10 #define GROUP_NETWORK               1 
    11 #define GROUP_EXTRA                 1 
     7#define GROUP_LIBC                  0 
     8#define GROUP_OS                    0 
     9#define GROUP_DATA_STRUCTURE        0 
     10#define GROUP_NETWORK               0 
     11#define GROUP_EXTRA                 0 
    1212 
    1313#define INCLUDE_ERRNO_TEST          GROUP_LIBC 
     
    1919#define INCLUDE_POOL_PERF_TEST      (PJ_HAS_MALLOC && GROUP_LIBC) 
    2020#define INCLUDE_STRING_TEST         GROUP_DATA_STRUCTURE 
    21 #define INCLUDE_FIFOBUF_TEST        GROUP_DATA_STRUCTURE 
     21#define INCLUDE_FIFOBUF_TEST        0   // GROUP_DATA_STRUCTURE 
    2222#define INCLUDE_RBTREE_TEST         GROUP_DATA_STRUCTURE 
    2323#define INCLUDE_TIMER_TEST          GROUP_DATA_STRUCTURE 
     
    3636 
    3737#define INCLUDE_ECHO_SERVER         0 
    38 #define INCLUDE_ECHO_CLIENT         0 
     38#define INCLUDE_ECHO_CLIENT         1 
    3939 
    4040#define ECHO_SERVER_MAX_THREADS     4 
     
    4343#define ECHO_SERVER_DURATION_MSEC   (60*60*1000) 
    4444 
    45 #define ECHO_CLIENT_MAX_THREADS     10 
     45#define ECHO_CLIENT_MAX_THREADS     2 
    4646 
    4747PJ_BEGIN_DECL 
  • pjproject/main/pjlib/src/pjlib-test/timestamp.c

    r1 r2  
    124124    /* See if elapsed time is reasonable. */ 
    125125    if (elapsed < 1 || elapsed > 100000) { 
    126         PJ_LOG(3,(THIS_FILE, "....error: elapsed time outside window (%u)", 
    127                              elapsed)); 
     126        PJ_LOG(3,(THIS_FILE, "....error: elapsed time outside window (%u, " 
     127                             "t1.u32.hi=%u, t1.u32.lo=%u, " 
     128                             "t2.u32.hi=%u, t2.u32.lo=%u)", 
     129                             elapsed,  
     130                             t1.u32.hi, t1.u32.lo, t2.u32.hi, t2.u32.lo)); 
    128131        return -1030; 
    129132    } 
  • pjproject/main/pjmedia/src/pjmedia/portaudio/pa_front.c

    r1 r2  
    3434/** @mainpage 
    3535 
    36 PortAudio is an open-source cross-platform ‘C’ library for audio input 
     36PortAudio is an open-source cross-platform †CË library for audio input 
    3737and output. It is designed to simplify the porting of audio applications 
    3838between various platforms, and also to simplify the development of audio 
Note: See TracChangeset for help on using the changeset viewer.