summaryrefslogtreecommitdiffstats
path: root/src/utils/pacat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/pacat.c')
-rw-r--r--src/utils/pacat.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index 9264a062..5f29ba39 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -406,7 +406,6 @@ static void context_state_callback(pa_context *c, void *userdata) {
break;
case PA_CONTEXT_READY: {
- int r;
pa_buffer_attr buffer_attr;
pa_assert(c);
@@ -431,25 +430,29 @@ static void context_state_callback(pa_context *c, void *userdata) {
pa_stream_set_event_callback(stream, stream_event_callback, NULL);
pa_stream_set_buffer_attr_callback(stream, stream_buffer_attr_callback, NULL);
+ pa_zero(buffer_attr);
+ buffer_attr.maxlength = (uint32_t) -1;
+ buffer_attr.prebuf = (uint32_t) -1;
+
if (latency > 0) {
- memset(&buffer_attr, 0, sizeof(buffer_attr));
- buffer_attr.tlength = (uint32_t) latency;
+ buffer_attr.fragsize = buffer_attr.tlength = (uint32_t) latency;
buffer_attr.minreq = (uint32_t) process_time;
- buffer_attr.maxlength = (uint32_t) -1;
- buffer_attr.prebuf = (uint32_t) -1;
- buffer_attr.fragsize = (uint32_t) latency;
flags |= PA_STREAM_ADJUST_LATENCY;
+ } else {
+ buffer_attr.tlength = (uint32_t) -1;
+ buffer_attr.minreq = (uint32_t) -1;
+ buffer_attr.fragsize = (uint32_t) -1;
}
if (mode == PLAYBACK) {
pa_cvolume cv;
- if ((r = pa_stream_connect_playback(stream, device, latency > 0 ? &buffer_attr : NULL, flags, volume_is_set ? pa_cvolume_set(&cv, sample_spec.channels, volume) : NULL, NULL)) < 0) {
+ if (pa_stream_connect_playback(stream, device, latency > 0 ? &buffer_attr : NULL, flags, volume_is_set ? pa_cvolume_set(&cv, sample_spec.channels, volume) : NULL, NULL) < 0) {
pa_log(_("pa_stream_connect_playback() failed: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
} else {
- if ((r = pa_stream_connect_record(stream, device, latency > 0 ? &buffer_attr : NULL, flags)) < 0) {
+ if (pa_stream_connect_record(stream, device, latency > 0 ? &buffer_attr : NULL, flags) < 0) {
pa_log(_("pa_stream_connect_record() failed: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
@@ -574,9 +577,10 @@ static void stream_update_timing_callback(pa_stream *s, int success, void *userd
return;
}
- pa_log(_("Time: %0.3f sec; Latency: %0.0f usec. \r"),
+ fprintf(stderr, _("Time: %0.3f sec; Latency: %0.0f usec."),
(float) usec / 1000000,
(float) l * (negative?-1.0f:1.0f));
+ fprintf(stderr, " \r");
}
/* Someone requested that the latency is shown */
@@ -768,7 +772,6 @@ int main(int argc, char *argv[]) {
case ARG_STREAM_NAME: {
char *t;
- t = pa_locale_to_utf8(optarg);
if (!(t = pa_locale_to_utf8(optarg)) ||
pa_proplist_sets(proplist, PA_PROP_MEDIA_NAME, t) < 0) {