paaudio.c (87f6a866f12b8ca037b0a5cfc2dc9b8db9e67696) | paaudio.c (85bc58520c0e43660cbbe51b9eb5022a0baafe9f) |
---|---|
1/* public domain */ 2#include "qemu/osdep.h" 3#include "qemu-common.h" 4#include "audio.h" 5 6#include <pulse/pulseaudio.h> 7 8#define AUDIO_CAP "pulseaudio" --- 371 unchanged lines hidden (view full) --- 380 return incr; 381} 382 383static int qpa_read (SWVoiceIn *sw, void *buf, int len) 384{ 385 return audio_pcm_sw_read (sw, buf, len); 386} 387 | 1/* public domain */ 2#include "qemu/osdep.h" 3#include "qemu-common.h" 4#include "audio.h" 5 6#include <pulse/pulseaudio.h> 7 8#define AUDIO_CAP "pulseaudio" --- 371 unchanged lines hidden (view full) --- 380 return incr; 381} 382 383static int qpa_read (SWVoiceIn *sw, void *buf, int len) 384{ 385 return audio_pcm_sw_read (sw, buf, len); 386} 387 |
388static pa_sample_format_t audfmt_to_pa (audfmt_e afmt, int endianness) | 388static pa_sample_format_t audfmt_to_pa (AudioFormat afmt, int endianness) |
389{ 390 int format; 391 392 switch (afmt) { | 389{ 390 int format; 391 392 switch (afmt) { |
393 case AUD_FMT_S8: 394 case AUD_FMT_U8: | 393 case AUDIO_FORMAT_S8: 394 case AUDIO_FORMAT_U8: |
395 format = PA_SAMPLE_U8; 396 break; | 395 format = PA_SAMPLE_U8; 396 break; |
397 case AUD_FMT_S16: 398 case AUD_FMT_U16: | 397 case AUDIO_FORMAT_S16: 398 case AUDIO_FORMAT_U16: |
399 format = endianness ? PA_SAMPLE_S16BE : PA_SAMPLE_S16LE; 400 break; | 399 format = endianness ? PA_SAMPLE_S16BE : PA_SAMPLE_S16LE; 400 break; |
401 case AUD_FMT_S32: 402 case AUD_FMT_U32: | 401 case AUDIO_FORMAT_S32: 402 case AUDIO_FORMAT_U32: |
403 format = endianness ? PA_SAMPLE_S32BE : PA_SAMPLE_S32LE; 404 break; 405 default: 406 dolog ("Internal logic error: Bad audio format %d\n", afmt); 407 format = PA_SAMPLE_U8; 408 break; 409 } 410 return format; 411} 412 | 403 format = endianness ? PA_SAMPLE_S32BE : PA_SAMPLE_S32LE; 404 break; 405 default: 406 dolog ("Internal logic error: Bad audio format %d\n", afmt); 407 format = PA_SAMPLE_U8; 408 break; 409 } 410 return format; 411} 412 |
413static audfmt_e pa_to_audfmt (pa_sample_format_t fmt, int *endianness) | 413static AudioFormat pa_to_audfmt (pa_sample_format_t fmt, int *endianness) |
414{ 415 switch (fmt) { 416 case PA_SAMPLE_U8: | 414{ 415 switch (fmt) { 416 case PA_SAMPLE_U8: |
417 return AUD_FMT_U8; | 417 return AUDIO_FORMAT_U8; |
418 case PA_SAMPLE_S16BE: 419 *endianness = 1; | 418 case PA_SAMPLE_S16BE: 419 *endianness = 1; |
420 return AUD_FMT_S16; | 420 return AUDIO_FORMAT_S16; |
421 case PA_SAMPLE_S16LE: 422 *endianness = 0; | 421 case PA_SAMPLE_S16LE: 422 *endianness = 0; |
423 return AUD_FMT_S16; | 423 return AUDIO_FORMAT_S16; |
424 case PA_SAMPLE_S32BE: 425 *endianness = 1; | 424 case PA_SAMPLE_S32BE: 425 *endianness = 1; |
426 return AUD_FMT_S32; | 426 return AUDIO_FORMAT_S32; |
427 case PA_SAMPLE_S32LE: 428 *endianness = 0; | 427 case PA_SAMPLE_S32LE: 428 *endianness = 0; |
429 return AUD_FMT_S32; | 429 return AUDIO_FORMAT_S32; |
430 default: 431 dolog ("Internal logic error: Bad pa_sample_format %d\n", fmt); | 430 default: 431 dolog ("Internal logic error: Bad pa_sample_format %d\n", fmt); |
432 return AUD_FMT_U8; | 432 return AUDIO_FORMAT_U8; |
433 } 434} 435 436static void context_state_cb (pa_context *c, void *userdata) 437{ 438 paaudio *g = userdata; 439 440 switch (pa_context_get_state(c)) { --- 534 unchanged lines hidden --- | 433 } 434} 435 436static void context_state_cb (pa_context *c, void *userdata) 437{ 438 paaudio *g = userdata; 439 440 switch (pa_context_get_state(c)) { --- 534 unchanged lines hidden --- |