提交 ac4a054b 编写于 作者: F fryshorts

Add some statistics to pulseaudio plugin

This patch adds counters for packets and frames for debugging purposes.
上级 f3d9d248
...@@ -25,18 +25,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ...@@ -25,18 +25,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
struct pulse_data { struct pulse_data {
obs_source_t source; obs_source_t source;
pa_stream *stream;
/* user settings */
bool ostime;
char *device; char *device;
/* server info */
enum speaker_layout speakers; enum speaker_layout speakers;
pa_sample_format_t format; pa_sample_format_t format;
uint_fast32_t samples_per_sec; uint_fast32_t samples_per_sec;
uint_fast8_t channels;
uint_fast32_t bytes_per_frame; uint_fast32_t bytes_per_frame;
uint_fast8_t channels;
pa_stream *stream; /* statistics */
uint_fast32_t packets;
bool ostime; uint_fast64_t frames;
}; };
static void pulse_stop_recording(struct pulse_data *data); static void pulse_stop_recording(struct pulse_data *data);
...@@ -136,8 +140,10 @@ static void pulse_stream_read(pa_stream *p, size_t nbytes, void *userdata) ...@@ -136,8 +140,10 @@ static void pulse_stream_read(pa_stream *p, size_t nbytes, void *userdata)
out.timestamp = pa_time - (pa_latency * 1000); out.timestamp = pa_time - (pa_latency * 1000);
obs_source_output_audio(data->source, &out); obs_source_output_audio(data->source, &out);
pa_stream_drop(data->stream); data->packets++;
data->frames += out.frames;
pa_stream_drop(data->stream);
exit: exit:
pulse_signal(0); pulse_signal(0);
} }
...@@ -244,6 +250,9 @@ static void pulse_stop_recording(struct pulse_data *data) ...@@ -244,6 +250,9 @@ static void pulse_stop_recording(struct pulse_data *data)
blog(LOG_INFO, "pulse-input: Stopped recording from '%s'", blog(LOG_INFO, "pulse-input: Stopped recording from '%s'",
data->device); data->device);
blog(LOG_INFO, "pulse-input: Got %"PRIuFAST32
" packets with %"PRIuFAST64" frames",
data->packets, data->frames);
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册