#include <u.h>
#include <libc.h>
#include <thread.h>
#include "audio.h"

void
usage(void)
{
	fprint(2, "usage: aplay [-i]\n");
	threadexitsall("usage");
}

void
threadmain(int argc, char **argv)
{
	static char buf[65536];
	int blksz, iflag, n;
	char *dev;
	Audio *a;
	
	iflag = 0;
	quotefmtinstall();
	dev = nil;
	ARGBEGIN{
	case 'x':
		dev = EARGF(usage());
		break;
	case 'i':
		iflag = 1;
		break;
	default:
		usage();
	}ARGEND
	
	if(argc)
		usage();

	blksz = sizeof buf;
	if((a = openaudio(dev, AUDIO)) == nil)
		sysfatal("openaudio: %r");
	if(iflag)
		print("ok\n");
	if(a->blksz && blksz > a->blksz)
		blksz = a->blksz;
	while((n = readn(0, buf, blksz)) > 0)
		write(a->fd[1], buf, n);
	a->close(a);
	threadexitsall(0);
}
