Re: [RFC 02/24] audio: remove obsolete/obscure functions

2025-12-10 Thread Akihiko Odaki

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

2025-12-01 Thread marcandre . lureau
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