From: Colin Guthrie Date: Thu, 11 Feb 2010 23:33:19 +0000 (+0000) Subject: pacat: Don't use any buffer attr if we don't set any latency/process time params X-Git-Tag: submit/2.0-panda/20130828.192557~1128 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff2091b2c47dfa7d9f1397627b72d9366b60f566;p=profile%2Fivi%2Fpulseaudio-panda.git pacat: Don't use any buffer attr if we don't set any latency/process time params --- diff --git a/src/utils/pacat.c b/src/utils/pacat.c index 1036af6..68280e5 100644 --- a/src/utils/pacat.c +++ b/src/utils/pacat.c @@ -409,6 +409,7 @@ static void context_state_callback(pa_context *c, void *userdata) { case PA_CONTEXT_READY: { pa_buffer_attr buffer_attr; + const pa_buffer_attr *active_buffer_attr = NULL; pa_assert(c); pa_assert(!stream); @@ -438,29 +439,33 @@ static void context_state_callback(pa_context *c, void *userdata) { if (latency_msec > 0) { buffer_attr.fragsize = buffer_attr.tlength = pa_usec_to_bytes(latency_msec * PA_USEC_PER_MSEC, &sample_spec); + active_buffer_attr = &buffer_attr; flags |= PA_STREAM_ADJUST_LATENCY; } else if (latency > 0) { buffer_attr.fragsize = buffer_attr.tlength = (uint32_t) latency; + active_buffer_attr = &buffer_attr; flags |= PA_STREAM_ADJUST_LATENCY; } else buffer_attr.fragsize = buffer_attr.tlength = (uint32_t) -1; if (process_time_msec > 0) { buffer_attr.minreq = pa_usec_to_bytes(process_time_msec * PA_USEC_PER_MSEC, &sample_spec); - } else if (process_time > 0) + active_buffer_attr = &buffer_attr; + } else if (process_time > 0) { buffer_attr.minreq = (uint32_t) process_time; - else + active_buffer_attr = &buffer_attr; + } else buffer_attr.minreq = (uint32_t) -1; if (mode == PLAYBACK) { pa_cvolume cv; - if (pa_stream_connect_playback(stream, device, &buffer_attr, flags, volume_is_set ? pa_cvolume_set(&cv, sample_spec.channels, volume) : NULL, NULL) < 0) { + if (pa_stream_connect_playback(stream, device, active_buffer_attr, 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 (pa_stream_connect_record(stream, device, latency > 0 ? &buffer_attr : NULL, flags) < 0) { + if (pa_stream_connect_record(stream, device, active_buffer_attr, flags) < 0) { pa_log(_("pa_stream_connect_record() failed: %s"), pa_strerror(pa_context_errno(c))); goto fail; }