diff --git a/src/emu/sound/discrete.c b/src/emu/sound/discrete.c index 8ee3d871997..7cd16eb84c1 100644 --- a/src/emu/sound/discrete.c +++ b/src/emu/sound/discrete.c @@ -962,7 +962,7 @@ void discrete_device::device_start() } /* initialize the stream(s) */ - m_stream = stream_create(this,m_input_stream_list.count(), m_output_list.count(), m_sample_rate, this, static_stream_generate); + m_stream = stream_create(*this,m_input_stream_list.count(), m_output_list.count(), m_sample_rate); /* allocate a queue */ @@ -1008,16 +1008,11 @@ void discrete_device::device_reset() } //------------------------------------------------- -// stream_generate - handle update requests for +// stream_update - handle update requests for // our sound stream //------------------------------------------------- -STREAM_UPDATE( discrete_device::static_stream_generate ) -{ - reinterpret_cast(param)->stream_generate(inputs, outputs, samples); -} - -void discrete_device::stream_generate(stream_sample_t **inputs, stream_sample_t **outputs, int samples) +void discrete_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) { int outputnum; //, task_group; diff --git a/src/emu/sound/discrete.h b/src/emu/sound/discrete.h index 256bc496b6f..213f8875776 100644 --- a/src/emu/sound/discrete.h +++ b/src/emu/sound/discrete.h @@ -4359,9 +4359,8 @@ protected: virtual void device_start(); virtual void device_reset(); - // internal callbacks - static STREAM_UPDATE( static_stream_generate ); - virtual void stream_generate(stream_sample_t **inputs, stream_sample_t **outputs, int samples); + // sound interface overrides + virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples); const discrete_base_node *discrete_find_node(int node);