Changeset 1320:dab6ed12490e in mediastreamer2


Ignore:
Timestamp:
Mar 21, 2011 11:01:34 PM (2 years ago)
Author:
Simon Morlat <simon.morlat@…>
Branch:
default
committer:
Simon Morlat <simon.morlat@linphone.org> 1300745005 -3600
Message:

start porting audio unit filter to mac

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/msiounit.c

    r1294 r1320  
    129129#define check_auresult(au,method) \ 
    130130if (au!=0) ms_error("AudioUnit error for %s: ret=%i",method,au) 
     131 
     132#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
     133 
    131134static void au_interuption_listener(void* inClientData, UInt32 inInterruptionState) { 
    132135        if (((MSSndCard*)inClientData)->data == NULL) return; 
     
    154157} 
    155158 
     159#endif 
     160 
    156161static MSSndCard *au_card_new(const char* name){ 
    157162        MSSndCard *card=ms_snd_card_new_with_name(&au_card_desc,name); 
     163#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
    158164        OSStatus auresult = AudioSessionInitialize(NULL, NULL, au_interuption_listener, card); 
    159165        if (auresult != kAudioSessionAlreadyInitialized) { 
    160166                check_auresult(auresult,"AudioSessionInitialize"); 
    161167        } 
     168#endif 
    162169        return card; 
    163170} 
    164171 
    165172static void au_detect(MSSndCardManager *m){ 
     173        MSSndCard *card; 
    166174        ms_debug("au_detect"); 
    167         MSSndCard *card=au_card_new(AU_CARD_RECEIVER); 
     175#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
     176        card=au_card_new(AU_CARD_RECEIVER); 
    168177        ms_snd_card_manager_add_card(m,card); 
    169178        card=au_card_new(AU_CARD_SPEAKER); 
    170         ms_snd_card_manager_add_card(m,card);    
     179         
     180#else 
     181        card=au_card_new("Audio Unit"); 
     182#endif   
     183        ms_snd_card_manager_add_card(m,card); 
    171184} 
    172185 
     
    264277         
    265278         
    266          
     279#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
    267280        auresult = AudioSessionSetActive(true); 
    268281        check_auresult(auresult,"AudioSessionSetActive"); 
     
    281294                ms_message("Configuring audio session default route to receiver"); 
    282295        } 
     296#endif 
     297 
    283298        if (d->started == TRUE) { 
    284299                //nothing else to do 
     
    287302         
    288303        au_description.componentType          = kAudioUnitType_Output; 
     304#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
    289305        au_description.componentSubType       = kAudioUnitSubType_VoiceProcessingIO; 
     306#else 
     307        au_description.componentSubType       =  kAudioUnitSubType_HALOutput; 
     308#endif 
    290309        au_description.componentManufacturer  = kAudioUnitManufacturer_Apple; 
    291310        au_description.componentFlags         = 0; 
     
    383402        check_auresult(auresult,"kAudioUnitProperty_SetRenderCallback,kAudioUnitScope_Input"); 
    384403         
     404#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
    385405        const Float64 preferredSampleRate = d->rate;//PREFERRED_HW_SAMPLE_RATE; /*optimum to minimize delay, must put a software resampler to deal with 8khz*/ 
    386406         
     
    407427         
    408428        if (auresult != 0) ms_message("kAudioSessionProperty_PreferredHardwareIOBufferDuration returns %i ",auresult); 
     429#endif 
    409430         
    410431        Float64 delay; 
     
    429450         
    430451        ms_message("I/O unit latency [%f], quality [%i]",delay,quality); 
     452 
     453#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 
    431454        Float32 hwoutputlatency; 
    432455        UInt32 hwoutputlatencySize=sizeof(hwoutputlatency); 
     
    453476 
    454477        ms_message("current hw output latency [%f] input [%f] iobuf[%f] sample rate [%f]",hwoutputlatency,hwinputlatency,hwiobuf,hwsamplerate); 
     478#else 
     479 
     480        auresult=AudioUnitInitialize(d->io_unit); 
     481        check_auresult(auresult,"AudioUnitInitialize"); 
     482#endif 
    455483        auresult=AudioOutputUnitStart(d->io_unit); 
    456484        check_auresult(auresult,"AudioOutputUnitStart"); 
     
    667695         */ 
    668696        ms_snd_card_manager_register_desc(ms_snd_card_manager_get(),&au_card_desc); 
    669 }        
     697} 
     698 
Note: See TracChangeset for help on using the changeset viewer.