Revision c0fe3827 audio/fmodaudio.c
b/audio/fmodaudio.c | ||
---|---|---|
78 | 78 |
{ |
79 | 79 |
va_list ap; |
80 | 80 |
|
81 |
AUD_log (AUDIO_CAP, "Can not initialize %s\n", typ);
|
|
81 |
AUD_log (AUDIO_CAP, "Could not initialize %s\n", typ);
|
|
82 | 82 |
|
83 | 83 |
va_start (ap, fmt); |
84 | 84 |
AUD_vlog (AUDIO_CAP, fmt, ap); |
... | ... | |
356 | 356 |
} |
357 | 357 |
} |
358 | 358 |
|
359 |
static int fmod_init_out (HWVoiceOut *hw, int freq, int nchannels, audfmt_e fmt)
|
|
359 |
static int fmod_init_out (HWVoiceOut *hw, audsettings_t *as)
|
|
360 | 360 |
{ |
361 | 361 |
int bits16, mode, channel; |
362 | 362 |
FMODVoiceOut *fmd = (FMODVoiceOut *) hw; |
363 | 363 |
|
364 |
mode = aud_to_fmodfmt (fmt, nchannels == 2 ? 1 : 0);
|
|
364 |
mode = aud_to_fmodfmt (as->fmt, as->nchannels == 2 ? 1 : 0);
|
|
365 | 365 |
fmd->fmod_sample = FSOUND_Sample_Alloc ( |
366 | 366 |
FSOUND_FREE, /* index */ |
367 | 367 |
conf.nb_samples, /* length */ |
368 | 368 |
mode, /* mode */ |
369 |
freq, /* freq */
|
|
369 |
as->freq, /* freq */
|
|
370 | 370 |
255, /* volume */ |
371 | 371 |
128, /* pan */ |
372 | 372 |
255 /* priority */ |
... | ... | |
386 | 386 |
fmd->channel = channel; |
387 | 387 |
|
388 | 388 |
/* FMOD always operates on little endian frames? */ |
389 |
audio_pcm_init_info (&hw->info, freq, nchannels, fmt, |
|
390 |
audio_need_to_swap_endian (0)); |
|
389 |
audio_pcm_init_info (&hw->info, as, audio_need_to_swap_endian (0)); |
|
391 | 390 |
bits16 = (mode & FSOUND_16BITS) != 0; |
392 |
hw->bufsize = conf.nb_samples << (nchannels == 2) << bits16;
|
|
391 |
hw->samples = conf.nb_samples;
|
|
393 | 392 |
return 0; |
394 | 393 |
} |
395 | 394 |
|
... | ... | |
417 | 416 |
return 0; |
418 | 417 |
} |
419 | 418 |
|
420 |
static int fmod_init_in (HWVoiceIn *hw, int freq, int nchannels, audfmt_e fmt)
|
|
419 |
static int fmod_init_in (HWVoiceIn *hw, audsettings_t *as)
|
|
421 | 420 |
{ |
422 | 421 |
int bits16, mode; |
423 | 422 |
FMODVoiceIn *fmd = (FMODVoiceIn *) hw; |
... | ... | |
426 | 425 |
return -1; |
427 | 426 |
} |
428 | 427 |
|
429 |
mode = aud_to_fmodfmt (fmt, nchannels == 2 ? 1 : 0);
|
|
428 |
mode = aud_to_fmodfmt (as->fmt, as->nchannels == 2 ? 1 : 0);
|
|
430 | 429 |
fmd->fmod_sample = FSOUND_Sample_Alloc ( |
431 | 430 |
FSOUND_FREE, /* index */ |
432 | 431 |
conf.nb_samples, /* length */ |
433 | 432 |
mode, /* mode */ |
434 |
freq, /* freq */
|
|
433 |
as->freq, /* freq */
|
|
435 | 434 |
255, /* volume */ |
436 | 435 |
128, /* pan */ |
437 | 436 |
255 /* priority */ |
... | ... | |
443 | 442 |
} |
444 | 443 |
|
445 | 444 |
/* FMOD always operates on little endian frames? */ |
446 |
audio_pcm_init_info (&hw->info, freq, nchannels, fmt, |
|
447 |
audio_need_to_swap_endian (0)); |
|
445 |
audio_pcm_init_info (&hw->info, as, audio_need_to_swap_endian (0)); |
|
448 | 446 |
bits16 = (mode & FSOUND_16BITS) != 0; |
449 |
hw->bufsize = conf.nb_samples << (nchannels == 2) << bits16;
|
|
447 |
hw->samples = conf.nb_samples;
|
|
450 | 448 |
return 0; |
451 | 449 |
} |
452 | 450 |
|
... | ... | |
479 | 477 |
|
480 | 478 |
new_pos = FSOUND_Record_GetPosition (); |
481 | 479 |
if (new_pos < 0) { |
482 |
fmod_logerr ("Can not get recording position\n");
|
|
480 |
fmod_logerr ("Could not get recording position\n");
|
|
483 | 481 |
return 0; |
484 | 482 |
} |
485 | 483 |
|
Also available in: Unified diff