Re: [RFC 02/24] audio: remove obsolete/obscure functions
On 2025/12/01 20:22, [email protected] wrote: From: Marc-André Lureau AUD_init_time_stamp_{in,out} and AUD_get_elapsed_usec_{in,out} are only used by the adlib device. The result isn't actually being used since ADLIB_KILL_TIMERS was set some 20y ago. Let's drop this dead code now. Signed-off-by: Marc-André Lureau --- audio/audio_template.h | 34 -- include/qemu/audio.h | 6 -- hw/audio/adlib.c | 18 +- 3 files changed, 1 insertion(+), 57 deletions(-) diff --git a/audio/audio_template.h b/audio/audio_template.h index 7a8c431f2d..1ab3c47fd7 100644 --- a/audio/audio_template.h +++ b/audio/audio_template.h @@ -569,40 +569,6 @@ bool glue(AUD_is_active_, TYPE)(SW *sw) return sw ? sw->active : 0; } -void glue (AUD_init_time_stamp_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts) -{ -if (!sw) { -return; -} - -ts->old_ts = sw->hw->ts_helper; -} - -uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts) -{ -uint64_t delta, cur_ts, old_ts; - -if (!sw) { -return 0; -} - -cur_ts = sw->hw->ts_helper; -old_ts = ts->old_ts; It seems old_ts of QEMUAudioTimeStamp is no longer used. Regards, Akihiko Odaki -/* dolog ("cur %" PRId64 " old %" PRId64 "\n", cur_ts, old_ts); */ - -if (cur_ts >= old_ts) { -delta = cur_ts - old_ts; -} else { -delta = UINT64_MAX - old_ts + cur_ts; -} - -if (!delta) { -return 0; -} - -return muldiv64 (delta, sw->hw->info.freq, 100); -} - #undef TYPE #undef HW #undef SW diff --git a/include/qemu/audio.h b/include/qemu/audio.h index c56af895d6..2562710bec 100644 --- a/include/qemu/audio.h +++ b/include/qemu/audio.h @@ -71,9 +71,6 @@ int AUD_get_buffer_size_out (SWVoiceOut *sw); void AUD_set_active_out(SWVoiceOut *sw, bool on); bool AUD_is_active_out(SWVoiceOut *sw); -void AUD_init_time_stamp_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts); -uint64_t AUD_get_elapsed_usec_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts); - #define AUDIO_MAX_CHANNELS 16 typedef struct Volume { bool mute; @@ -112,9 +109,6 @@ size_t AUD_read (SWVoiceIn *sw, void *pcm_buf, size_t size); void AUD_set_active_in(SWVoiceIn *sw, bool on); bool AUD_is_active_in(SWVoiceIn *sw); -void AUD_init_time_stamp_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts); -uint64_t AUD_get_elapsed_usec_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts); - void audio_cleanup(void); typedef struct st_sample st_sample; diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c index 19d3a5f128..2a2fe7d04f 100644 --- a/hw/audio/adlib.c +++ b/hw/audio/adlib.c @@ -34,8 +34,6 @@ #define DEBUG 0 -#define ADLIB_KILL_TIMERS 1 - #define ADLIB_DESC "Yamaha YM3812 (OPL2)" #if DEBUG @@ -71,7 +69,6 @@ struct AdlibState { uint64_t dexp[2]; SWVoiceOut *voice; int left, pos, samples; -QEMUAudioTimeStamp ats; FM_OPL *opl; PortioList port_list; }; @@ -88,19 +85,7 @@ static void adlib_kill_timers (AdlibState *s) for (i = 0; i < 2; ++i) { if (s->ticking[i]) { -uint64_t delta; - -delta = AUD_get_elapsed_usec_out (s->voice, &s->ats); -ldebug ( -"delta = %f dexp = %f expired => %d", -delta / 100.0, -s->dexp[i] / 100.0, -delta >= s->dexp[i] -); -if (ADLIB_KILL_TIMERS || delta >= s->dexp[i]) { -adlib_stop_opl_timer (s, i); -AUD_init_time_stamp_out (s->voice, &s->ats); -} +adlib_stop_opl_timer(s, i); } } } @@ -149,7 +134,6 @@ static void timer_handler (void *opaque, int c, double interval_Sec) #endif s->dexp[n] = interval_Sec * 100.0; -AUD_init_time_stamp_out (s->voice, &s->ats); } static int write_audio (AdlibState *s, int samples)
[RFC 02/24] audio: remove obsolete/obscure functions
From: Marc-André Lureau
AUD_init_time_stamp_{in,out} and AUD_get_elapsed_usec_{in,out} are only
used by the adlib device. The result isn't actually being used since
ADLIB_KILL_TIMERS was set some 20y ago. Let's drop this dead code now.
Signed-off-by: Marc-André Lureau
---
audio/audio_template.h | 34 --
include/qemu/audio.h | 6 --
hw/audio/adlib.c | 18 +-
3 files changed, 1 insertion(+), 57 deletions(-)
diff --git a/audio/audio_template.h b/audio/audio_template.h
index 7a8c431f2d..1ab3c47fd7 100644
--- a/audio/audio_template.h
+++ b/audio/audio_template.h
@@ -569,40 +569,6 @@ bool glue(AUD_is_active_, TYPE)(SW *sw)
return sw ? sw->active : 0;
}
-void glue (AUD_init_time_stamp_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts)
-{
-if (!sw) {
-return;
-}
-
-ts->old_ts = sw->hw->ts_helper;
-}
-
-uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts)
-{
-uint64_t delta, cur_ts, old_ts;
-
-if (!sw) {
-return 0;
-}
-
-cur_ts = sw->hw->ts_helper;
-old_ts = ts->old_ts;
-/* dolog ("cur %" PRId64 " old %" PRId64 "\n", cur_ts, old_ts); */
-
-if (cur_ts >= old_ts) {
-delta = cur_ts - old_ts;
-} else {
-delta = UINT64_MAX - old_ts + cur_ts;
-}
-
-if (!delta) {
-return 0;
-}
-
-return muldiv64 (delta, sw->hw->info.freq, 100);
-}
-
#undef TYPE
#undef HW
#undef SW
diff --git a/include/qemu/audio.h b/include/qemu/audio.h
index c56af895d6..2562710bec 100644
--- a/include/qemu/audio.h
+++ b/include/qemu/audio.h
@@ -71,9 +71,6 @@ int AUD_get_buffer_size_out (SWVoiceOut *sw);
void AUD_set_active_out(SWVoiceOut *sw, bool on);
bool AUD_is_active_out(SWVoiceOut *sw);
-void AUD_init_time_stamp_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts);
-uint64_t AUD_get_elapsed_usec_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts);
-
#define AUDIO_MAX_CHANNELS 16
typedef struct Volume {
bool mute;
@@ -112,9 +109,6 @@ size_t AUD_read (SWVoiceIn *sw, void *pcm_buf, size_t size);
void AUD_set_active_in(SWVoiceIn *sw, bool on);
bool AUD_is_active_in(SWVoiceIn *sw);
-void AUD_init_time_stamp_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts);
-uint64_t AUD_get_elapsed_usec_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts);
-
void audio_cleanup(void);
typedef struct st_sample st_sample;
diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c
index 19d3a5f128..2a2fe7d04f 100644
--- a/hw/audio/adlib.c
+++ b/hw/audio/adlib.c
@@ -34,8 +34,6 @@
#define DEBUG 0
-#define ADLIB_KILL_TIMERS 1
-
#define ADLIB_DESC "Yamaha YM3812 (OPL2)"
#if DEBUG
@@ -71,7 +69,6 @@ struct AdlibState {
uint64_t dexp[2];
SWVoiceOut *voice;
int left, pos, samples;
-QEMUAudioTimeStamp ats;
FM_OPL *opl;
PortioList port_list;
};
@@ -88,19 +85,7 @@ static void adlib_kill_timers (AdlibState *s)
for (i = 0; i < 2; ++i) {
if (s->ticking[i]) {
-uint64_t delta;
-
-delta = AUD_get_elapsed_usec_out (s->voice, &s->ats);
-ldebug (
-"delta = %f dexp = %f expired => %d",
-delta / 100.0,
-s->dexp[i] / 100.0,
-delta >= s->dexp[i]
-);
-if (ADLIB_KILL_TIMERS || delta >= s->dexp[i]) {
-adlib_stop_opl_timer (s, i);
-AUD_init_time_stamp_out (s->voice, &s->ats);
-}
+adlib_stop_opl_timer(s, i);
}
}
}
@@ -149,7 +134,6 @@ static void timer_handler (void *opaque, int c, double
interval_Sec)
#endif
s->dexp[n] = interval_Sec * 100.0;
-AUD_init_time_stamp_out (s->voice, &s->ats);
}
static int write_audio (AdlibState *s, int samples)
--
2.51.1
