mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Remove calls to wave_get_write_position.
This call was used to update the written sample count used by wave_get_remaining_time. As that function has been removed, this code is no longer needed.
This commit is contained in:
@@ -161,7 +161,7 @@ static int dispatch_audio(short *outbuf, int length, espeak_EVENT *event)
|
||||
return a_wave_can_be_played == 0; // 1 = stop synthesis, -1 = error
|
||||
}
|
||||
|
||||
static int create_events(short *outbuf, int length, espeak_EVENT *event_list, uint32_t the_write_pos)
|
||||
static int create_events(short *outbuf, int length, espeak_EVENT *event_list)
|
||||
{
|
||||
int finished;
|
||||
int i = 0;
|
||||
@@ -176,10 +176,8 @@ static int create_events(short *outbuf, int length, espeak_EVENT *event_list, ui
|
||||
espeak_EVENT *event;
|
||||
if (event_list_ix == 0)
|
||||
event = NULL;
|
||||
else {
|
||||
else
|
||||
event = event_list + i;
|
||||
event->sample += the_write_pos;
|
||||
}
|
||||
finished = dispatch_audio((short *)outbuf, length, event);
|
||||
length = 0; // the wave data are played once.
|
||||
i++;
|
||||
@@ -366,7 +364,6 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t
|
||||
int length;
|
||||
int finished = 0;
|
||||
int count_buffers = 0;
|
||||
uint32_t a_write_pos = 0;
|
||||
|
||||
if ((outbuf == NULL) || (event_list == NULL))
|
||||
return ENS_NOT_INITIALIZED;
|
||||
@@ -378,9 +375,6 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t
|
||||
|
||||
count_samples = 0;
|
||||
|
||||
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO)
|
||||
a_write_pos = wave_get_write_position(my_audio);
|
||||
|
||||
if (translator == NULL)
|
||||
espeak_SetVoiceByName("default");
|
||||
|
||||
@@ -400,7 +394,7 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t
|
||||
|
||||
count_buffers++;
|
||||
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) {
|
||||
finished = create_events((short *)outbuf, length, event_list, a_write_pos);
|
||||
finished = create_events((short *)outbuf, length, event_list);
|
||||
if (finished < 0)
|
||||
return ENS_AUDIO_ERROR;
|
||||
} else if (synth_callback)
|
||||
|
||||
@@ -62,7 +62,6 @@ size_t wave_port_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t t
|
||||
int wave_port_close(void *theHandler);
|
||||
int wave_port_is_busy(void *theHandler);
|
||||
void wave_port_terminate();
|
||||
uint32_t wave_port_get_write_position(void *theHandler);
|
||||
void wave_port_flush(void *theHandler);
|
||||
void wave_port_set_callback_is_output_enabled(t_wave_callback *cb);
|
||||
void *wave_port_test_get_write_buffer();
|
||||
@@ -74,7 +73,6 @@ size_t wave_pulse_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t
|
||||
int wave_pulse_close(void *theHandler);
|
||||
int wave_pulse_is_busy(void *theHandler);
|
||||
void wave_pulse_terminate();
|
||||
uint32_t wave_pulse_get_write_position(void *theHandler);
|
||||
void wave_pulse_flush(void *theHandler);
|
||||
void wave_pulse_set_callback_is_output_enabled(t_wave_callback *cb);
|
||||
void *wave_pulse_test_get_write_buffer();
|
||||
@@ -121,14 +119,6 @@ void wave_terminate()
|
||||
wave_port_terminate();
|
||||
}
|
||||
|
||||
uint32_t wave_get_write_position(void *theHandler)
|
||||
{
|
||||
if (pulse_running)
|
||||
return wave_pulse_get_write_position(theHandler);
|
||||
else
|
||||
return wave_port_get_write_position(theHandler);
|
||||
}
|
||||
|
||||
void wave_flush(void *theHandler)
|
||||
{
|
||||
if (pulse_running)
|
||||
@@ -151,7 +141,6 @@ void wave_set_callback_is_output_enabled(t_wave_callback *cb)
|
||||
#define wave_close wave_port_close
|
||||
#define wave_is_busy wave_port_is_busy
|
||||
#define wave_terminate wave_port_terminate
|
||||
#define wave_get_write_position wave_port_get_write_position
|
||||
#define wave_flush wave_port_flush
|
||||
#define wave_set_callback_is_output_enabled wave_port_set_callback_is_output_enabled
|
||||
|
||||
@@ -750,13 +739,6 @@ void wave_terminate()
|
||||
Pa_Terminate();
|
||||
}
|
||||
|
||||
uint32_t wave_get_write_position(void *theHandler)
|
||||
{
|
||||
(void)theHandler; // unused
|
||||
|
||||
return myWritePosition;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void *wave_open(int srate, const char *device)
|
||||
@@ -793,13 +775,6 @@ void wave_terminate()
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t wave_get_write_position(void *theHandler)
|
||||
{
|
||||
(void)theHandler; // unused
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wave_flush(void *theHandler)
|
||||
{
|
||||
(void)theHandler; // unused
|
||||
|
||||
@@ -33,7 +33,6 @@ extern int wave_close(void *theHandler);
|
||||
extern void wave_flush(void *theHandler);
|
||||
extern int wave_is_busy(void *theHandler);
|
||||
extern void wave_terminate();
|
||||
extern uint32_t wave_get_write_position(void *theHandler);
|
||||
|
||||
// set the callback which informs if the output is still enabled.
|
||||
// Helpful if a new sample is waiting for free space whereas sound must be stopped.
|
||||
|
||||
@@ -70,7 +70,6 @@ static t_wave_callback *my_callback_is_output_enabled = NULL;
|
||||
#define wave_close wave_pulse_close
|
||||
#define wave_is_busy wave_pulse_is_busy
|
||||
#define wave_terminate wave_pulse_terminate
|
||||
#define wave_get_write_position wave_pulse_get_write_position
|
||||
#define wave_flush wave_pulse_flush
|
||||
#define wave_set_callback_is_output_enabled wave_pulse_set_callback_is_output_enabled
|
||||
|
||||
@@ -609,13 +608,4 @@ void wave_terminate()
|
||||
pthread_mutex_destroy(a_mutex);
|
||||
}
|
||||
|
||||
uint32_t wave_get_write_position(void *theHandler)
|
||||
{
|
||||
(void)theHandler; // unused
|
||||
|
||||
pa_timing_info a_timing_info = {0};
|
||||
pulse_playing(&a_timing_info);
|
||||
return a_timing_info.write_index;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -298,39 +298,6 @@ void wave_set_callback_is_output_enabled(t_wave_callback *cb)
|
||||
my_callback_is_output_enabled = cb;
|
||||
}
|
||||
|
||||
// wave_get_write_position
|
||||
//
|
||||
// DESCRIPTION:
|
||||
//
|
||||
// Returns an identifier for a new sample, where 'sample' is a small
|
||||
// buffer of synthesized wave data, identified so that the user
|
||||
// callback could be called when the 'sample' is really played. This
|
||||
// implementation views the audio as one long continuous stream of
|
||||
// 16-bit samples.
|
||||
//
|
||||
// PARAMETERS:
|
||||
//
|
||||
// theHandler: the audio device file descriptor
|
||||
//
|
||||
// GLOBALS USED/MODIFIED:
|
||||
//
|
||||
// total_samples_sent: used as the return value
|
||||
//
|
||||
// RETURNS:
|
||||
//
|
||||
// total_samples_sent, which is the index for the end of this long
|
||||
// continuous stream. [[[WDW: with a unit32_t managing 16-bit
|
||||
// samples at 22050Hz, we have about 54 hours of play time before
|
||||
// the index wraps back to 0. We don't handle that wrapping, so
|
||||
// the behavior after 54 hours of play time is undefined.]]]
|
||||
//
|
||||
uint32_t wave_get_write_position(void *theHandler)
|
||||
{
|
||||
(void)theHandler; // unused
|
||||
|
||||
return total_samples_sent;
|
||||
}
|
||||
|
||||
// wave_get_remaining_time
|
||||
//
|
||||
// DESCRIPTION:
|
||||
|
||||
Reference in New Issue
Block a user