Changeset 3669:93a98c7f08f3 in roaraudio
- Timestamp:
- 04/06/10 02:24:16 (14 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r3661 r3669 17 17 * done a lot work on libroaross 18 18 * fixed segfault in ALSA plugin 19 * Added support for OSS to roarinterconnect(1) 19 20 20 21 v. 0.3beta4 - Sat Feb 06 2010 26:02 CET -
doc/man1/roarinterconnect.1
r3267 r3669 64 64 65 65 .TP 66 \fBoss\fR 67 Open Sound System (OSS) device 68 69 .TP 66 70 \fBbidir\fR 67 71 Connect bidirectional -
roarclients/Makefile
r3641 r3669 53 53 $L 54 54 roarinterconnect: roarinterconnect.o 55 $L $(lib_esd) 55 $L $(lib_esd) $(LIBROAREIO) 56 56 roarbidir: roarbidir.o 57 57 $L -
roarclients/roarinterconnect.c
r3517 r3669 25 25 26 26 #include <roaraudio.h> 27 #include <libroareio/libroareio.h> 27 28 28 29 #ifdef ROAR_HAVE_ESD … … 35 36 #define MT_ESD 0x20 36 37 #define MT_SIMPLE 0x30 38 #define MT_OSS 0x40 37 39 #define MT_DEFAULT MT_ROAR 38 40 … … 64 66 " esd - EsounD Server\n" 65 67 " simple - PulseAudio using simple protocol\n" 68 " oss - Open Sound System (OSS) device\n" 66 69 "\n" 67 70 " bidir - Connect bidirectional\n" … … 93 96 ret -= ret & MT_MASK; 94 97 ret += MT_SIMPLE; 98 } else if ( !strcmp(type, "oss") ) { 99 ret -= ret & MT_MASK; 100 ret += MT_OSS; 95 101 } else if ( !strcmp(type, "bidir") ) { 96 102 ret -= ret & ST_MASK; … … 122 128 case MT_SIMPLE: ret |= ST_TRANSMIT; break; // we use ST_TRANSMIT because ST_BIDIR is 123 129 // very unlike to be configured at the server side. 130 case MT_OSS: ret |= ST_BIDIR; break; 124 131 default: 125 132 return MT_NONE|ST_NONE; // error case … … 134 141 struct roar_connection con[1]; 135 142 struct roar_stream stream[1]; 143 struct roar_vio_calls vio; 144 struct roar_audio_info info; 136 145 int rate = 44100; 137 146 int bits = 16; … … 198 207 rfh = roar_simple_stream(rate, channels, bits, codec, remote, tmp, "roarinterconnect"); 199 208 break; 209 case MT_OSS: 210 switch (type & ST_MASK) { 211 case ST_BIDIR: 212 tmp = ROAR_DIR_BIDIR; 213 break; 214 case ST_TRANSMIT: 215 tmp = ROAR_DIR_PLAY; 216 localdir = ROAR_DIR_MONITOR; 217 break; 218 case ST_RECEIVE: 219 tmp = ROAR_DIR_RECORD; 220 localdir = ROAR_DIR_PLAY; 221 break; 222 default: 223 fprintf(stderr, "Error: unknown stream type\n"); 224 return 2; 225 } 226 info.rate = rate; 227 info.channels = channels; 228 info.bits = bits; 229 info.codec = codec; 230 if ( roar_cdriver_oss(&vio, "OSS", remote, &info, tmp) == -1 ) { 231 fprintf(stderr, "Error: can not open OSS device %s\n", remote); 232 return 2; 233 } 234 if ( roar_vio_ctl(&vio, ROAR_VIO_CTL_GET_FH, &rfh) == -1 ) { 235 roar_vio_close(&vio); 236 fprintf(stderr, "Error: can not get filehandle for OSS device %s\n", remote); 237 return 2; 238 } 239 break; 200 240 #ifdef ROAR_HAVE_ESD 201 241 case MT_ESD:
Note: See TracChangeset
for help on using the changeset viewer.