this needs fix when we do the drain, while draining we should write anyway
whatever we have
Signed-off-by: Namarta Kohli <namartax.kohli@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
fds.fd = compress->fd;
fds.events = POLLOUT;
+
/*TODO: treat auto start here first */
while (size) {
if (ioctl(compress->fd, SNDRV_COMPRESS_AVAIL, &avail))
return oops(compress, errno, "cannot get avail");
- if (avail.avail == 0) {
+ /* we will write only when avail > fragment size */
+ if (avail.avail < compress->config->fragment_size) {
/* nothing to write so wait for 10secs */
ret = poll(&fds, 1, 1000000);
if (ret < 0)