コード例 #1
0
ファイル: krad_radio_ap.c プロジェクト: dsheeler/krad_radio
int audioport_process (uint32_t nframes, void *arg) {

	int s;
	float *buffer;
	kr_audioport_t *audioport;
	static int32_t total_frames = 0;
	
	total_frames += nframes;
	
	if (total_frames > 35000) {
		krad_tone_add_preset (krad_tone, "dialtone");
		krad_tone_add_preset (krad_tone2, "6");
	  total_frames = 0;
	}
	
	audioport = (kr_audioport_t *)arg;
	
	buffer = kr_audioport_get_buffer (audioport, 0);
	if (1) {
		krad_tone_run (krad_tone, buffer, nframes);
		buffer = kr_audioport_get_buffer (audioport, 1);
		krad_tone_run (krad_tone2, buffer, nframes);
	} else {
		for (s = 0; s < 1600; s++) {
			if (buffer[s] > 0.3) {
				printf("signals!\n");
				break;
			}
		}
	}
	
	return 0;
}
コード例 #2
0
ファイル: kr_streamer2.c プロジェクト: kripton/krad_radio-1
int audioport_process (uint32_t nframes, void *arg) {

  int c;
  float *buffer;
  kr_streamer_t *streamer;

  streamer = (kr_streamer_t *)arg;

  for (c = 0; c < streamer->params->channels; c++) {
    buffer = kr_audioport_get_buffer (streamer->audioport, c);
    krad_ringbuffer_write (streamer->audio_ring[c],
                           (char *)buffer,
                           nframes * 4);
  }

  return 0;
}