File: dec.c

package info (click to toggle)
s3mod 1.09-10
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 248 kB
  • ctags: 354
  • sloc: ansic: 2,856; makefile: 153
file content (52 lines) | stat: -rw-r--r-- 1,101 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/******************************************************************
 * SUN/DEC AF Support by Ricky Beam (cramer@catt.ncsu.edu)
 *
 ******************************************************************/


#ifdef DEC
#include "config.h"
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include "main.h"
#include "dsp.h"

static int audio;

int get_dsp_device(void)
{
    uint32 j;

    audio = fileno(popen("aplay -f -e pcm16", "wb"));
    if (audio < 1)
    {
	printf("Could not open audio device!\n");
	exit(1);
    }
	mixspeed = 8000;
	bit16 = 1;

    /* I don't know; what's a good size? */
    audio_buffer_size = 32768;
    if (!(audio_start_buffer = (uint8 *) malloc(audio_buffer_size)))
    {
	printf("Could not get audio buffer memory!\n");
	exit(1);
    }
    audio_end_buffer = &audio_start_buffer[audio_buffer_size];
    audio_curptr = audio_start_buffer;
}

void write_dsp_device(void *buf, int size) {
        write(audio,audio_start_buffer,audio_buffer_size);
        return;
}
 
void close_dsp_device() {
    close(audio);
    return;
}
 
#endif /* ?DEC */