/* Sink device consumes that amount of maximum buffer at every request */
#define DEFAULT_MAX_REQUEST_USEC (PA_USEC_PER_SEC * 0.032)
-#define DEVICE_NAME_MAX 30
+#define DEVICE_NAME_MAX 30
+#define SMALL_AVAIL_LOG_PERIOD 20
#ifdef SUPPORT_AEC
enum {
pa_rtpoll_item *rtpoll_item;
+ uint64_t small_avail_count;
uint64_t write_count;
pa_hal_interface *hal_interface;
#else
frames_to_write = u->frag_size / frame_size;
#endif
- if (frames_to_write > avail)
+ if (frames_to_write > avail) {
+ u->small_avail_count++;
+
+ if ((u->small_avail_count % SMALL_AVAIL_LOG_PERIOD) == 0)
+ pa_log_error("avail is too small : %u(repeat count : %llu)", avail, u->small_avail_count);
+
break;
+ }
}
+ u->small_avail_count = 0;
+
pa_sink_render_full(u->sink, frames_to_write * frame_size, &chunk);
p = pa_memblock_acquire(chunk.memblock);