Beispiel #1
0
int main()
{
	AudioServer server;
	int channel;
	MonAPI::Stream stream;
	struct audio_data_format format = {0, 2, 16, 44100};
	char buf[4096];
	FILE *fp = fopen("/APPS/TEST.RAW", "r");

	channel = server.createChannel(0);
	server.setStream(channel, stream.handle());
//	dputs("Set stream");
	server.setFormat(channel, &format);
//	dputs("Set format");
	render(buf, sizeof(buf));
	stream.write(buf, sizeof(buf));
	render(buf, sizeof(buf));
	stream.write(buf, sizeof(buf));
	server.start(channel);
//	dputs("Start");
	while(1)
	//for( int i = 0 ; i < 44100*2*2*3 ; i+= sizeof(buf) )
	{
		//render(buf, sizeof(buf));
		size_t size = frender(fp, buf, sizeof(buf));
        if (size == 0) break;
		stream.waitForWrite();
		stream.write(buf, size);
	}
	server.wait(channel);
	server.stop(channel);
	fclose(fp);
	return 0;
}
Beispiel #2
0
void frender_frames(fstage g, char *name_stem)
{
  unsigned int frames = g.n_frames;
  int i;  
  char tmp[16];
  for (i=0; i<16; i++)
    tmp[i]='\0';
  for (i=0; i<frames; i++){
    sprintf(tmp, "%s%06d", name_stem, i);
    frender(g.c, g.compute_frame(i), tmp);
  }
}