Changeset 4432


Ignore:
Timestamp:
Mar 8, 2013 8:02:48 AM (7 years ago)
Author:
riza
Message:

Re #1636: add initial support for bdIMAD

Location:
pjproject/trunk
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/build/Makefile

    r4331 r4432  
    8282export PJMEDIA_AUDIODEV_OBJS +=  audiodev.o audiotest.o errno.o \ 
    8383                                 coreaudio_dev.o legacy_dev.o null_dev.o pa_dev.o wmme_dev.o \ 
    84                                  alsa_dev.o bb10_dev.o 
     84                                 alsa_dev.o bb10_dev.o bdimad_dev.o 
    8585export PJMEDIA_AUDIODEV_CFLAGS += $(_CFLAGS) 
    8686 
  • pjproject/trunk/pjmedia/build/pjmedia_audiodev.vcproj

    r3103 r4432  
    35663566                        </File> 
    35673567                        <File 
     3568                                RelativePath="..\src\pjmedia-audiodev\bdimad_dev.c" 
     3569                                > 
     3570                        </File> 
     3571                        <File 
    35683572                                RelativePath="..\src\pjmedia-audiodev\errno.c" 
    35693573                                > 
  • pjproject/trunk/pjmedia/include/pjmedia-audiodev/config.h

    r4150 r4432  
    9595#ifndef PJMEDIA_AUDIO_DEV_HAS_WMME 
    9696#   define PJMEDIA_AUDIO_DEV_HAS_WMME           1 
     97#endif 
     98 
     99  
     100/** 
     101 * This setting controls whether BDIMAD support should be included. 
     102 */ 
     103#ifndef PJMEDIA_AUDIO_DEV_HAS_BDIMAD 
     104#       define PJMEDIA_AUDIO_DEV_HAS_BDIMAD     0 
    97105#endif 
    98106 
  • pjproject/trunk/pjmedia/include/pjmedia-audiodev/errno.h

    r3553 r4432  
    104104#define PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(err) \ 
    105105            ((int)PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START-err) 
     106 
     107/** 
     108 * Mapping from BDIMAD error codes to pjmedia error space. 
     109 */ 
     110#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_START     \ 
     111            (PJMEDIA_AUDIODEV_ERRNO_START + 40000) 
     112#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_END       \ 
     113            (PJMEDIA_AUDIODEV_BDIMAD_ERROR_START + 2000 - 1) 
     114/** 
     115 * Convert BDIMAD error codes to PJLIB error space. 
     116 */ 
     117#define PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(err) \ 
     118            ((int)PJMEDIA_AUDIODEV_BDIMAD_ERROR_START+err) 
    106119 
    107120/************************************************************ 
  • pjproject/trunk/pjmedia/src/pjmedia-audiodev/audiodev.c

    r4150 r4432  
    8787#endif 
    8888 
     89#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD 
     90pjmedia_aud_dev_factory* pjmedia_bdimad_factory(pj_pool_factory *pf); 
     91#endif 
     92 
    8993#if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 
    9094pjmedia_aud_dev_factory* pjmedia_symb_vas_factory(pj_pool_factory *pf); 
     
    406410#if PJMEDIA_AUDIO_DEV_HAS_WMME 
    407411    aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_wmme_factory; 
     412#endif 
     413#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD 
     414    aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_bdimad_factory; 
    408415#endif 
    409416#if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 
  • pjproject/trunk/pjmedia/src/pjmedia-audiodev/errno.c

    r3553 r4432  
    156156#endif 
    157157 
     158/* See if the error comes from BDIMAD */ 
     159#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD 
     160         
     161        if (statcode >= PJMEDIA_AUDIODEV_BDIMAD_ERROR_START && 
     162            statcode <  PJMEDIA_AUDIODEV_BDIMAD_ERROR_END) 
     163        { 
     164            pj_status_t native_err; 
     165            native_err = statcode - PJMEDIA_AUDIODEV_BDIMAD_ERROR_START; 
     166 
     167            pj_ansi_snprintf(buf, bufsize, "BDIMAD native error %d", native_err); 
     168            return pj_str(buf); 
     169        } else 
     170#endif 
     171 
    158172    /* Audiodev error */ 
    159173    if (statcode >= PJMEDIA_AUDIODEV_ERRNO_START &&  
Note: See TracChangeset for help on using the changeset viewer.