diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2017-05-05 16:46:51 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2017-05-05 16:47:16 +0100 |
commit | bc56fd3a23c94302937ed023d33e17a2de1a1b2a (patch) | |
tree | b337e9ef5cbd6ffa34750a09d6f6c48d4b72ae5c /hw/audio/adlib.c | |
parent | dd76c10f9fa25f1117d28bca09c6bce0c53d2a3f (diff) | |
parent | 9ea5ada76f34a0ef048b131c3a166d8564199bdb (diff) |
Merge remote-tracking branch 'kraxel/tags/pull-audio-20170504-1' into staging
audio: cleanups, bugfixes (memory leaks).
# gpg: Signature made Thu 04 May 2017 08:16:50 AM BST
# gpg: using RSA key 0x4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* kraxel/tags/pull-audio-20170504-1: (30 commits)
audio: Use ARRAY_SIZE from qemu/osdep.h
audio: un-export OPLResetChip
audio: Remove unused typedefs
audio: UpdateHandler is not used anymore
audio: IRQHandler is not used anymore
audio: OPLSetUpdateHandler is not used anywhere
audio: OPLSetIRQHandler is not used anywhere
audio: GUSsample is int16_t
audio: GUSword is uint16_t
audio: GUSword is uint16_t
audio: remove GUSchar
audio: GUSbyte is uint8_t
audio: Remove unused fields
audio: Remove type field
audio: Remove Unused OPL_TYPE_*
audio: Unfold OPLSAMPLE
audio: Remove INT32
audio: remove INT16
audio: Remove INT8
audio: remove UINT32
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/audio/adlib.c')
-rw-r--r-- | hw/audio/adlib.c | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c index 7836446fc8..09b8248cda 100644 --- a/hw/audio/adlib.c +++ b/hw/audio/adlib.c @@ -33,11 +33,7 @@ #define ADLIB_KILL_TIMERS 1 -#ifdef HAS_YMF262 -#define ADLIB_DESC "Yamaha YMF262 (OPL3)" -#else #define ADLIB_DESC "Yamaha YM3812 (OPL2)" -#endif #ifdef DEBUG #include "qemu/timer.h" @@ -50,14 +46,8 @@ #define ldebug(...) #endif -#ifdef HAS_YMF262 -#include "ymf262.h" -void YMF262UpdateOneQEMU (int which, INT16 *dst, int length); -#define SHIFT 2 -#else #include "fmopl.h" #define SHIFT 1 -#endif #define TYPE_ADLIB "adlib" #define ADLIB(obj) OBJECT_CHECK(AdlibState, (obj), TYPE_ADLIB) @@ -80,9 +70,7 @@ typedef struct { SWVoiceOut *voice; int left, pos, samples; QEMUAudioTimeStamp ats; -#ifndef HAS_YMF262 FM_OPL *opl; -#endif PortioList port_list; } AdlibState; @@ -90,11 +78,7 @@ static AdlibState *glob_adlib; static void adlib_stop_opl_timer (AdlibState *s, size_t n) { -#ifdef HAS_YMF262 - YMF262TimerOver (0, n); -#else OPLTimerOver (s->opl, n); -#endif s->ticking[n] = 0; } @@ -131,11 +115,7 @@ static void adlib_write(void *opaque, uint32_t nport, uint32_t val) adlib_kill_timers (s); -#ifdef HAS_YMF262 - YMF262Write (0, a, val); -#else OPLWrite (s->opl, a, val); -#endif } static uint32_t adlib_read(void *opaque, uint32_t nport) @@ -145,12 +125,8 @@ static uint32_t adlib_read(void *opaque, uint32_t nport) int a = nport & 3; adlib_kill_timers (s); - -#ifdef HAS_YMF262 - data = YMF262Read (0, a); -#else data = OPLRead (s->opl, a); -#endif + return data; } @@ -240,11 +216,7 @@ static void adlib_callback (void *opaque, int free) return; } -#ifdef HAS_YMF262 - YMF262UpdateOneQEMU (0, s->mixbuf + s->pos * 2, samples); -#else YM3812UpdateOne (s->opl, s->mixbuf + s->pos, samples); -#endif while (samples) { written = write_audio (s, samples); @@ -263,14 +235,10 @@ static void adlib_callback (void *opaque, int free) static void Adlib_fini (AdlibState *s) { -#ifdef HAS_YMF262 - YMF262Shutdown (); -#else if (s->opl) { OPLDestroy (s->opl); s->opl = NULL; } -#endif g_free(s->mixbuf); @@ -297,17 +265,7 @@ static void adlib_realizefn (DeviceState *dev, Error **errp) } glob_adlib = s; -#ifdef HAS_YMF262 - if (YMF262Init (1, 14318180, s->freq)) { - error_setg (errp, "YMF262Init %d failed", s->freq); - return; - } - else { - YMF262SetTimerHandler (0, timer_handler, 0); - s->enabled = 1; - } -#else - s->opl = OPLCreate (OPL_TYPE_YM3812, 3579545, s->freq); + s->opl = OPLCreate (3579545, s->freq); if (!s->opl) { error_setg (errp, "OPLCreate %d failed", s->freq); return; @@ -316,7 +274,6 @@ static void adlib_realizefn (DeviceState *dev, Error **errp) OPLSetTimerHandler (s->opl, timer_handler, 0); s->enabled = 1; } -#endif as.freq = s->freq; as.nchannels = SHIFT; |