1 #ifndef lint
2 static char rcsid[] =
3 "$Id: play_audio.c,v 1.7 1997/03/26 14:20:52 tommy Exp $";
4 #endif
5 
6 #include <stdio.h>
7 #include <fcntl.h>
8 #include <errno.h>
9 #include <err.h>
10 #include <sys/soundcard.h>
11 
12 #include "play.h"
13 #include "encode_riff.h"
14 #include "encode_sun.h"
15 
16 void intr_play(int x)
17 {
18     intr = FALSE;
19 }
20 
21 int play_audio(char *audio_file, arg_params_t *params)
22 {
23     riff_header_t *riff_headerp;
24     sun_header_t *sunaudio_headerp;
25     int (*player)(char *, void *, arg_params_t *);
26     void *header;
27 
28     if (params->device != NULL && strcmp(params->device, DEV_PC) == 0)
29 	f_hasdsp = FALSE;
30 
31     if (f_hasdsp && set_mixer(params))
32 	err(1, "Cannot change mixer");
33 
34     if ((riff_headerp = check_riff(audio_file)) != NULL) {
35         if (riff_headerp == (riff_header_t*)FAIL)
36             return FAIL;
37 	player = play_riff;
standardise_performers(album, metadata, *args)38 	header = (riff_header_t *)riff_headerp;
39     } else if ((sunaudio_headerp = check_sunaudio(audio_file)) != NULL) {
40         if (sunaudio_headerp == (sun_header_t*)FAIL)
41             return FAIL;
42 	player = play_sunaudio;
43 	header = (sun_header_t *) sunaudio_headerp;
44     } else {
45         fprintf(stderr, "%s: %s: Unknown format.\n", myname, audio_file);
46         return SUCCESS;
47     }
48 
49     player(audio_file, header, params);
50 
51     return SUCCESS;
52 }
53