source: roaraudio/libroaresd/esdstream.c @ 627:ff6a351dcb9b

Last change on this file since 627:ff6a351dcb9b was 627:ff6a351dcb9b, checked in by phi, 16 years ago

use an extra var for codec

File size: 2.0 KB
Line 
1//esdstream.c:
2
3#include "libroaresd.h"
4
5/* open a socket for playing, monitoring, or recording as a stream */
6/* the *_fallback functions try to open /dev/dsp if there's no EsounD */
7int esd_play_stream( esd_format_t format, int rate,
8                     const char *host, const char *name ) {
9 int channels;
10 int bits;
11 int codec = ROAR_CODEC_DEFAULT;
12
13 if ( (format & ESD_BITS8) ) {
14  bits = 8;
15 } else {
16  bits = 16;
17 }
18
19 if ( (format & ESD_MONO) ) {
20  channels = 1;
21 } else {
22  channels = 2;
23 }
24
25 return roar_simple_play(rate, channels, bits, codec, (char*)host, (char*) name);
26}
27
28int esd_play_stream_fallback( esd_format_t format, int rate,
29                              const char *host, const char *name ) {
30 int r;
31
32 if ( (r = esd_play_stream(format, rate, host, name)) != -1 ) {
33  return r;
34 }
35
36 return esd_play_stream(format, rate, "+fork", name);
37}
38
39
40
41int esd_monitor_stream( esd_format_t format, int rate,
42                        const char *host, const char *name ) {
43 int channels;
44 int bits;
45 int codec = ROAR_CODEC_DEFAULT;
46
47 if ( (format & ESD_BITS8) ) {
48  bits = 8;
49 } else {
50  bits = 16;
51 }
52
53 if ( (format & ESD_MONO) ) {
54  channels = 1;
55 } else {
56  channels = 2;
57 }
58
59 return roar_simple_monitor(rate, channels, bits, codec, (char*)host, (char*)name);
60}
61/* int esd_monitor_stream_fallback( esd_format_t format, int rate ); */
62int esd_record_stream( esd_format_t format, int rate,
63                       const char *host, const char *name );
64int esd_record_stream_fallback( esd_format_t format, int rate,
65                                const char *host, const char *name );
66int esd_filter_stream( esd_format_t format, int rate,
67                       const char *host, const char *name ) {
68 int channels;
69 int bits;
70 int codec = ROAR_CODEC_DEFAULT;
71
72 if ( (format & ESD_BITS8) ) {
73  bits = 8;
74 } else {
75  bits = 16;
76 }
77
78 if ( (format & ESD_MONO) ) {
79  channels = 1;
80 } else {
81  channels = 2;
82 }
83
84 return roar_simple_filter(rate, channels, bits, codec, (char*)host, (char*)name);
85}
86
87
88//ll
Note: See TracBrowser for help on using the repository browser.