Changeset 2488


Ignore:
Timestamp:
Mar 4, 2009 7:00:28 PM (10 years ago)
Author:
bennylp
Message:

Ticket #734: error codes in audiodev

Location:
pjproject/branches/projects/aps-direct
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/aps-direct/build.symbian/pjmedia_audiodev.mmp

    r2475 r2488  
    1313 
    1414SOURCE          audiodev.c 
     15SOURCE          errno.c 
    1516SOURCE          symb_aps_dev.cpp 
    1617SOURCE          symb_mda_dev.cpp 
  • pjproject/branches/projects/aps-direct/pjlib/include/pj/errno.h

    r2394 r2488  
    376376 *  - PJLIB_UTIL_ERRNO_START    (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*3) 
    377377 *  - PJNATH_ERRNO_START        (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*4) 
     378 *  - PJMEDIA_AUDIODEV_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*5) 
    378379 */ 
    379380 
  • pjproject/branches/projects/aps-direct/pjmedia/build/pjmedia_audiodev.dsp

    r2470 r2488  
    9898# Begin Source File 
    9999 
     100SOURCE="..\src\pjmedia-audiodev\errno.c" 
     101# End Source File 
     102# Begin Source File 
     103 
    100104SOURCE="..\src\pjmedia-audiodev\pa_dev.c" 
    101105# End Source File 
     
    134138SOURCE="..\include\pjmedia-audiodev\config.h" 
    135139# End Source File 
     140# Begin Source File 
     141 
     142SOURCE="..\include\pjmedia-audiodev\errno.h" 
     143# End Source File 
    136144# End Group 
    137145# End Target 
  • pjproject/branches/projects/aps-direct/pjmedia/include/pjmedia-audiodev/audiodev.h

    r2470 r2488  
    2626 */ 
    2727#include <pjmedia-audiodev/config.h> 
     28#include <pjmedia-audiodev/errno.h> 
    2829#include <pjmedia/port.h> 
    2930#include <pj/pool.h> 
     
    602603 
    603604 
    604 /* Audio subsystem not initialized */ 
    605 #define PJMEDIA_EAUD_INIT       -1 
    606  
    607 /* Invalid audio device */ 
    608 #define PJMEDIA_EAUD_INVDEV     -1 
    609  
    610 /* Found no devices */ 
    611 #define PJMEDIA_EAUD_NODEV      -1 
    612  
    613 /* Unable to find default device */ 
    614 #define PJMEDIA_EAUD_NODEFDEV   -1 
    615  
    616 /* Device not ready */ 
    617 #define PJMEDIA_EAUD_NOTREADY   -1 
    618  
    619 /* Invalid audio capability or audio capability not supported */ 
    620 #define PJMEDIA_EAUD_INVCAP     -1 
    621  
    622 /* Unknown system error */ 
    623 #define PJMEDIA_EAUD_SYSERR     -1 
    624  
    625 /* Bad or invalid format */ 
    626 #define PJMEDIA_EAUD_BADFORMAT  -1 
    627  
    628605/** 
    629606 * @} 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia-audiodev/audiodev.c

    r2476 r2488  
    2626#define THIS_FILE   "audiodev.c" 
    2727 
     28#define DEFINE_CAP(name, info)  {name, info} 
     29 
    2830/* Capability names */ 
    2931static struct cap_info 
     
    3335} cap_infos[] =  
    3436{ 
    35     {"ext-fmt",     "Extended/non-PCM format"}, 
    36     {"latency-in",  "Input latency/buffer size setting"}, 
    37     {"latency-out", "Output latency/buffer size setting"}, 
    38     {"vol-in",      "Input volume setting"}, 
    39     {"vol-out",     "Output volume setting"}, 
    40     {"meter-in",    "Input meter"}, 
    41     {"meter-out",   "Output meter"}, 
    42     {"route-in",    "Input routing"}, 
    43     {"route-out",   "Output routing"}, 
    44     {"aec",         "Accoustic echo cancellation"}, 
    45     {"aec-tail",    "Tail length setting for AEC"}, 
    46     {"vad",         "Voice activity detection"}, 
    47     {"cng",         "Comfort noise generation"}, 
    48     {"plg",         "Packet loss concealment"} 
     37    DEFINE_CAP("ext-fmt",     "Extended/non-PCM format"), 
     38    DEFINE_CAP("latency-in",  "Input latency/buffer size setting"), 
     39    DEFINE_CAP("latency-out", "Output latency/buffer size setting"), 
     40    DEFINE_CAP("vol-in",      "Input volume setting"), 
     41    DEFINE_CAP("vol-out",     "Output volume setting"), 
     42    DEFINE_CAP("meter-in",    "Input meter"), 
     43    DEFINE_CAP("meter-out",   "Output meter"), 
     44    DEFINE_CAP("route-in",    "Input routing"), 
     45    DEFINE_CAP("route-out",   "Output routing"), 
     46    DEFINE_CAP("aec",         "Accoustic echo cancellation"), 
     47    DEFINE_CAP("aec-tail",    "Tail length setting for AEC"), 
     48    DEFINE_CAP("vad",         "Voice activity detection"), 
     49    DEFINE_CAP("cng",         "Comfort noise generation"), 
     50    DEFINE_CAP("plg",         "Packet loss concealment") 
    4951}; 
    5052 
     
    228230    } 
    229231 
     232    /* Register error subsystem */ 
     233    pj_register_strerror(PJMEDIA_AUDIODEV_ERRNO_START,  
     234                         PJ_ERRNO_SPACE_SIZE,  
     235                         &pjmedia_audiodev_strerror); 
     236 
     237    /* Init */ 
    230238    aud_subsys.pf = pf; 
    231239    aud_subsys.drv_cnt = 0; 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia-audiodev/pa_dev.c

    r2469 r2488  
    1919 */ 
    2020#include <pjmedia-audiodev/audiodev_imp.h> 
    21 #include <pjmedia/errno.h> 
    2221#include <pj/assert.h> 
    2322#include <pj/log.h> 
     
    2524#include <pj/string.h> 
    2625#include <portaudio.h> 
     26 
     27#if PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 
     28 
    2729 
    2830#define THIS_FILE       "pa_dev.c" 
     
    452454                         pa_get_dev_count(f))); 
    453455 
    454     return err ? PJMEDIA_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
     456    return err ? PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
    455457} 
    456458 
     
    471473    pj_pool_release(pool); 
    472474     
    473     return err ? PJMEDIA_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
     475    return err ? PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
    474476} 
    475477 
     
    693695        if (rec_id < 0) { 
    694696            /* No such device. */ 
    695             return PJMEDIA_ENOSNDREC; 
     697            return PJMEDIA_EAUD_NODEFDEV; 
    696698        } 
    697699    } 
     
    700702    if (!paDevInfo) { 
    701703        /* Assumed it is "No such device" error. */ 
    702         return PJMEDIA_ESNDINDEVID; 
     704        return PJMEDIA_EAUD_INVDEV; 
    703705    } 
    704706 
     
    710712        sampleFormat = paInt32; 
    711713    else 
    712         return PJMEDIA_ESNDINSAMPLEFMT; 
     714        return PJMEDIA_EAUD_SAMPFORMAT; 
    713715     
    714716    pool = pj_pool_create(pa->pf, "recstrm", 1024, 1024, NULL); 
     
    753755    if (err != paNoError) { 
    754756        pj_pool_release(pool); 
    755         return PJMEDIA_ERRNO_FROM_PORTAUDIO(err); 
     757        return PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err); 
    756758    } 
    757759 
     
    798800        if (play_id < 0) { 
    799801            /* No such device. */ 
    800             return PJMEDIA_ENOSNDPLAY; 
     802            return PJMEDIA_EAUD_NODEFDEV; 
    801803        } 
    802804    }  
     
    805807    if (!paDevInfo) { 
    806808        /* Assumed it is "No such device" error. */ 
    807         return PJMEDIA_ESNDINDEVID; 
     809        return PJMEDIA_EAUD_INVDEV; 
    808810    } 
    809811 
     
    815817        sampleFormat = paInt32; 
    816818    else 
    817         return PJMEDIA_ESNDINSAMPLEFMT; 
     819        return PJMEDIA_EAUD_SAMPFORMAT; 
    818820     
    819821    pool = pj_pool_create(pa->pf, "playstrm", 1024, 1024, NULL); 
     
    859861    if (err != paNoError) { 
    860862        pj_pool_release(pool); 
    861         return PJMEDIA_ERRNO_FROM_PORTAUDIO(err); 
     863        return PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err); 
    862864    } 
    863865 
     
    910912        if (rec_id < 0) { 
    911913            /* No such device. */ 
    912             return PJMEDIA_ENOSNDREC; 
     914            return PJMEDIA_EAUD_NODEFDEV; 
    913915        } 
    914916    } 
     
    917919    if (!paRecDevInfo) { 
    918920        /* Assumed it is "No such device" error. */ 
    919         return PJMEDIA_ESNDINDEVID; 
     921        return PJMEDIA_EAUD_INVDEV; 
    920922    } 
    921923 
     
    925927        if (play_id < 0) { 
    926928            /* No such device. */ 
    927             return PJMEDIA_ENOSNDPLAY; 
     929            return PJMEDIA_EAUD_NODEFDEV; 
    928930        } 
    929931    }  
     
    932934    if (!paPlayDevInfo) { 
    933935        /* Assumed it is "No such device" error. */ 
    934         return PJMEDIA_ESNDINDEVID; 
     936        return PJMEDIA_EAUD_INVDEV; 
    935937    } 
    936938 
     
    943945        sampleFormat = paInt32; 
    944946    else 
    945         return PJMEDIA_ESNDINSAMPLEFMT; 
     947        return PJMEDIA_EAUD_SAMPFORMAT; 
    946948     
    947949    pool = pj_pool_create(pa->pf, "sndstream", 1024, 1024, NULL); 
     
    10341036    if (err != paNoError) { 
    10351037        pj_pool_release(pool); 
    1036         return PJMEDIA_ERRNO_FROM_PORTAUDIO(err); 
     1038        return PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err); 
    10371039    } 
    10381040 
     
    11431145        const PaStreamInfo *si = Pa_GetStreamInfo(strm->rec_strm); 
    11441146        if (!si) 
    1145             return PJ_EINVALIDOP; 
     1147            return PJMEDIA_EAUD_SYSERR; 
    11461148 
    11471149        *(unsigned*)pval = (unsigned)(si->inputLatency * 1000); 
     
    11501152        const PaStreamInfo *si = Pa_GetStreamInfo(strm->play_strm); 
    11511153        if (!si) 
    1152             return PJ_EINVALIDOP; 
     1154            return PJMEDIA_EAUD_SYSERR; 
    11531155 
    11541156        *(unsigned*)pval = (unsigned)(si->outputLatency * 1000); 
    11551157        return PJ_SUCCESS; 
    11561158    } else { 
    1157         return PJ_ENOTSUP; 
     1159        return PJMEDIA_EAUD_INVCAP; 
    11581160    } 
    11591161} 
     
    11701172 
    11711173    /* Nothing is supported */ 
    1172     return PJ_ENOTSUP; 
     1174    return PJMEDIA_EAUD_INVCAP; 
    11731175} 
    11741176 
     
    11931195    PJ_LOG(5,(THIS_FILE, "Done, status=%d", err)); 
    11941196 
    1195     return err ? PJMEDIA_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
     1197    return err ? PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
    11961198} 
    11971199 
     
    12241226    PJ_LOG(5,(THIS_FILE, "Done, status=%d", err)); 
    12251227 
    1226     return err ? PJMEDIA_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
     1228    return err ? PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
    12271229} 
    12281230 
     
    12551257    pj_pool_release(stream->pool); 
    12561258 
    1257     return err ? PJMEDIA_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
    1258 } 
    1259  
     1259    return err ? PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) : PJ_SUCCESS; 
     1260} 
     1261 
     1262#endif  /* PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO */ 
     1263 
  • pjproject/branches/projects/aps-direct/pjmedia/src/pjmedia-audiodev/wmme_dev.c

    r2474 r2488  
    1919 */ 
    2020#include <pjmedia-audiodev/audiodev_imp.h> 
    21 #include <pjmedia/errno.h> 
    2221#include <pj/assert.h> 
    2322#include <pj/log.h> 
     
    2524#include <pj/string.h> 
    2625#include <pj/unicode.h> 
     26 
     27#if PJMEDIA_AUDIO_DEV_HAS_WMME 
     28 
    2729#ifdef _MSC_VER 
    2830#   pragma warning(push, 3) 
     
    168170}; 
    169171 
    170 /* Utility: convert MMERROR to pj_status_t */ 
    171 PJ_INLINE(pj_status_t) CONVERT_MM_ERROR(MMRESULT mr) 
    172 { 
    173     return PJ_RETURN_OS_ERROR(mr); 
    174 } 
    175  
    176172 
    177173/**************************************************************************** 
     
    548544                     &wfx, (DWORD)wmme_strm->hEvent, 0, CALLBACK_EVENT); 
    549545    if (mr != MMSYSERR_NOERROR) { 
    550         return CONVERT_MM_ERROR(mr); 
     546        return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    551547    } 
    552548 
     
    554550    mr = waveOutPause(wmme_strm->hWave.Out); 
    555551    if (mr != MMSYSERR_NOERROR) { 
    556         return CONVERT_MM_ERROR(mr); 
     552        return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    557553    } 
    558554 
     
    570566                                  sizeof(WAVEHDR)); 
    571567        if (mr != MMSYSERR_NOERROR) { 
    572             return CONVERT_MM_ERROR(mr);  
     568            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr);  
    573569        } 
    574570        mr = waveOutWrite(wmme_strm->hWave.Out, &(wmme_strm->WaveHdr[i]),  
    575571                          sizeof(WAVEHDR)); 
    576572        if (mr != MMSYSERR_NOERROR) { 
    577             return CONVERT_MM_ERROR(mr); 
     573            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    578574        } 
    579575    } 
     
    634630                    &wfx, (DWORD)wmme_strm->hEvent, 0, CALLBACK_EVENT); 
    635631    if (mr != MMSYSERR_NOERROR) { 
    636         return CONVERT_MM_ERROR(mr); 
     632        return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    637633    } 
    638634 
     
    650646                                 sizeof(WAVEHDR)); 
    651647        if (mr != MMSYSERR_NOERROR) { 
    652             return CONVERT_MM_ERROR(mr); 
     648            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    653649        } 
    654650        mr = waveInAddBuffer(wmme_strm->hWave.In, &(wmme_strm->WaveHdr[i]),  
    655651                             sizeof(WAVEHDR)); 
    656652        if (mr != MMSYSERR_NOERROR) { 
    657             return CONVERT_MM_ERROR(mr); 
     653            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    658654        } 
    659655    } 
     
    831827                                  sizeof(WAVEHDR)); 
    832828                if (mr != MMSYSERR_NOERROR) { 
    833                     status = CONVERT_MM_ERROR(mr); 
     829                    status = PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    834830                    break; 
    835831                } 
     
    928924                                     sizeof(WAVEHDR)); 
    929925                if (mr != MMSYSERR_NOERROR) { 
    930                     status = CONVERT_MM_ERROR(mr); 
     926                    status = PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    931927                    break; 
    932928                } 
     
    11471143        mr = waveOutGetVolume(strm->play_strm.hWave.Out, &dwVol); 
    11481144        if (mr != MMSYSERR_NOERROR) { 
    1149             return CONVERT_MM_ERROR(mr); 
     1145            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    11501146        } 
    11511147 
     
    11781174 
    11791175        mr = waveOutSetVolume(strm->play_strm.hWave.Out, dwVol); 
    1180         return (mr==MMSYSERR_NOERROR)? PJ_SUCCESS : CONVERT_MM_ERROR(mr); 
     1176        return (mr==MMSYSERR_NOERROR)? PJ_SUCCESS :  
     1177                                PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    11811178    } else { 
    11821179        return PJ_ENOTSUP; 
     
    11961193        mr = waveOutRestart(stream->play_strm.hWave.Out); 
    11971194        if (mr != MMSYSERR_NOERROR) { 
    1198             return CONVERT_MM_ERROR(mr); 
     1195            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    11991196        } 
    12001197        PJ_LOG(4,(THIS_FILE, "WMME playback stream started")); 
     
    12051202        mr = waveInStart(stream->rec_strm.hWave.In); 
    12061203        if (mr != MMSYSERR_NOERROR) { 
    1207             return CONVERT_MM_ERROR(mr); 
     1204            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    12081205        } 
    12091206        PJ_LOG(4,(THIS_FILE, "WMME capture stream started")); 
     
    12251222        mr = waveOutPause(stream->play_strm.hWave.Out); 
    12261223        if (mr != MMSYSERR_NOERROR) { 
    1227             return CONVERT_MM_ERROR(mr); 
     1224            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); 
    12281225        } 
    12291226        PJ_LOG(4,(THIS_FILE, "Stopped WMME playback stream")); 
     
    12341231        mr = waveInStop(stream->rec_strm.hWave.In); 
    12351232        if (mr != MMSYSERR_NOERROR) { 
    1236             return CONVERT_MM_ERROR(mr); 
     1233            return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); 
    12371234        } 
    12381235        PJ_LOG(4,(THIS_FILE, "Stopped WMME capture stream")); 
     
    13041301} 
    13051302 
     1303#endif  /* PJMEDIA_AUDIO_DEV_HAS_WMME */ 
     1304 
Note: See TracChangeset for help on using the changeset viewer.