|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
* Copyright (C) 2007, Gilles Casse <[email protected]> |
|
|
* Copyright (C) 2007, Gilles Casse <[email protected]> |
|
|
* Copyright (C) 2015 Reece H. Dunn |
|
|
|
|
|
|
|
|
* Copyright (C) 2015-2016 Reece H. Dunn |
|
|
* eSpeak driver for PulseAudio |
|
|
* eSpeak driver for PulseAudio |
|
|
* based on the XMMS PulseAudio Plugin |
|
|
* based on the XMMS PulseAudio Plugin |
|
|
* |
|
|
* |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
(void)theHandler; // unused |
|
|
(void)theHandler; // unused |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info; |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info = {0}; |
|
|
int active = pulse_playing(&a_timing_info); |
|
|
int active = pulse_playing(&a_timing_info); |
|
|
return active; |
|
|
return active; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
(void)theHandler; // unused |
|
|
(void)theHandler; // unused |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info; |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info = {0}; |
|
|
pulse_playing(&a_timing_info); |
|
|
pulse_playing(&a_timing_info); |
|
|
return a_timing_info.read_index; |
|
|
return a_timing_info.read_index; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
(void)theHandler; // unused |
|
|
(void)theHandler; // unused |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info; |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info = {0}; |
|
|
pulse_playing(&a_timing_info); |
|
|
pulse_playing(&a_timing_info); |
|
|
return a_timing_info.write_index; |
|
|
return a_timing_info.write_index; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!time || !stream) |
|
|
if (!time || !stream) |
|
|
return -1; |
|
|
return -1; |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info; |
|
|
|
|
|
|
|
|
pa_timing_info a_timing_info = {0}; |
|
|
pulse_playing(&a_timing_info); |
|
|
pulse_playing(&a_timing_info); |
|
|
|
|
|
|
|
|
if (sample > a_timing_info.read_index) { |
|
|
if (sample > a_timing_info.read_index) { |