Changeset 1320:dab6ed12490e in mediastreamer2
- Timestamp:
- Mar 21, 2011 11:01:34 PM (2 years ago)
- Branch:
- default
- committer:
- Simon Morlat <simon.morlat@linphone.org> 1300745005 -3600
- File:
-
- 1 edited
-
src/msiounit.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/msiounit.c
r1294 r1320 129 129 #define check_auresult(au,method) \ 130 130 if (au!=0) ms_error("AudioUnit error for %s: ret=%i",method,au) 131 132 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 133 131 134 static void au_interuption_listener(void* inClientData, UInt32 inInterruptionState) { 132 135 if (((MSSndCard*)inClientData)->data == NULL) return; … … 154 157 } 155 158 159 #endif 160 156 161 static MSSndCard *au_card_new(const char* name){ 157 162 MSSndCard *card=ms_snd_card_new_with_name(&au_card_desc,name); 163 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 158 164 OSStatus auresult = AudioSessionInitialize(NULL, NULL, au_interuption_listener, card); 159 165 if (auresult != kAudioSessionAlreadyInitialized) { 160 166 check_auresult(auresult,"AudioSessionInitialize"); 161 167 } 168 #endif 162 169 return card; 163 170 } 164 171 165 172 static void au_detect(MSSndCardManager *m){ 173 MSSndCard *card; 166 174 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); 168 177 ms_snd_card_manager_add_card(m,card); 169 178 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); 171 184 } 172 185 … … 264 277 265 278 266 279 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 267 280 auresult = AudioSessionSetActive(true); 268 281 check_auresult(auresult,"AudioSessionSetActive"); … … 281 294 ms_message("Configuring audio session default route to receiver"); 282 295 } 296 #endif 297 283 298 if (d->started == TRUE) { 284 299 //nothing else to do … … 287 302 288 303 au_description.componentType = kAudioUnitType_Output; 304 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 289 305 au_description.componentSubType = kAudioUnitSubType_VoiceProcessingIO; 306 #else 307 au_description.componentSubType = kAudioUnitSubType_HALOutput; 308 #endif 290 309 au_description.componentManufacturer = kAudioUnitManufacturer_Apple; 291 310 au_description.componentFlags = 0; … … 383 402 check_auresult(auresult,"kAudioUnitProperty_SetRenderCallback,kAudioUnitScope_Input"); 384 403 404 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 385 405 const Float64 preferredSampleRate = d->rate;//PREFERRED_HW_SAMPLE_RATE; /*optimum to minimize delay, must put a software resampler to deal with 8khz*/ 386 406 … … 407 427 408 428 if (auresult != 0) ms_message("kAudioSessionProperty_PreferredHardwareIOBufferDuration returns %i ",auresult); 429 #endif 409 430 410 431 Float64 delay; … … 429 450 430 451 ms_message("I/O unit latency [%f], quality [%i]",delay,quality); 452 453 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED 431 454 Float32 hwoutputlatency; 432 455 UInt32 hwoutputlatencySize=sizeof(hwoutputlatency); … … 453 476 454 477 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 455 483 auresult=AudioOutputUnitStart(d->io_unit); 456 484 check_auresult(auresult,"AudioOutputUnitStart"); … … 667 695 */ 668 696 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.
