static void myshutdown(struct xmp_context *ctx)
{
	while (!info.finished) {
		nas_flush();
	}

	xmp_smix_off(ctx);
	AuDestroyFlow(info.aud, info.flow, NULL);
	AuCloseServer(info.aud);
	free(info.buf);
}
Exemple #2
0
static int nas_close(WINE_WAVEOUT* wwo)
{
  AuEvent ev;

  nas_free(wwo);

  AuStopFlow(wwo->AuServ, wwo->AuFlow, NULL);
  AuDestroyFlow(wwo->AuServ, wwo->AuFlow, NULL);
  AuFlush(wwo->AuServ);
  AuNextEvent(wwo->AuServ, AuTrue, &ev);
  AuDispatchEvent(wwo->AuServ, &ev);

  wwo->AuFlow = 0;
  wwo->open = 0;
  wwo->BufferUsed = 0;
  wwo->freeBytes = 0;
  wwo->SoundBuffer = NULL;
  return 1;
}