Revision d929eba5 audio/fmodaudio.c
b/audio/fmodaudio.c | ||
---|---|---|
358 | 358 |
{ |
359 | 359 |
int bits16, mode, channel; |
360 | 360 |
FMODVoiceOut *fmd = (FMODVoiceOut *) hw; |
361 |
audsettings_t obt_as = *as; |
|
361 | 362 |
|
362 | 363 |
mode = aud_to_fmodfmt (as->fmt, as->nchannels == 2 ? 1 : 0); |
363 | 364 |
fmd->fmod_sample = FSOUND_Sample_Alloc ( |
... | ... | |
384 | 385 |
fmd->channel = channel; |
385 | 386 |
|
386 | 387 |
/* FMOD always operates on little endian frames? */ |
387 |
audio_pcm_init_info (&hw->info, as, audio_need_to_swap_endian (0)); |
|
388 |
obt_as.endianness = 0; |
|
389 |
audio_pcm_init_info (&hw->info, &obt_as); |
|
388 | 390 |
bits16 = (mode & FSOUND_16BITS) != 0; |
389 | 391 |
hw->samples = conf.nb_samples; |
390 | 392 |
return 0; |
... | ... | |
418 | 420 |
{ |
419 | 421 |
int bits16, mode; |
420 | 422 |
FMODVoiceIn *fmd = (FMODVoiceIn *) hw; |
423 |
audsettings_t obt_as = *as; |
|
421 | 424 |
|
422 | 425 |
if (conf.broken_adc) { |
423 | 426 |
return -1; |
... | ... | |
440 | 443 |
} |
441 | 444 |
|
442 | 445 |
/* FMOD always operates on little endian frames? */ |
443 |
audio_pcm_init_info (&hw->info, as, audio_need_to_swap_endian (0)); |
|
446 |
obt_as.endianness = 0; |
|
447 |
audio_pcm_init_info (&hw->info, &obt_as); |
|
444 | 448 |
bits16 = (mode & FSOUND_16BITS) != 0; |
445 | 449 |
hw->samples = conf.nb_samples; |
446 | 450 |
return 0; |
Also available in: Unified diff