Changeset 3669:93a98c7f08f3 in roaraudio


Ignore:
Timestamp:
04/06/10 02:24:16 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for OSS to roarinterconnect :)

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r3661 r3669  
    1717        * done a lot work on libroaross 
    1818        * fixed segfault in ALSA plugin 
     19        * Added support for OSS to roarinterconnect(1) 
    1920 
    2021v. 0.3beta4 - Sat Feb 06 2010 26:02 CET 
  • doc/man1/roarinterconnect.1

    r3267 r3669  
    6464 
    6565.TP 
     66\fBoss\fR 
     67Open Sound System (OSS) device 
     68 
     69.TP 
    6670\fBbidir\fR 
    6771Connect bidirectional 
  • roarclients/Makefile

    r3641 r3669  
    5353        $L 
    5454roarinterconnect: roarinterconnect.o 
    55         $L $(lib_esd) 
     55        $L $(lib_esd) $(LIBROAREIO) 
    5656roarbidir: roarbidir.o 
    5757        $L 
  • roarclients/roarinterconnect.c

    r3517 r3669  
    2525 
    2626#include <roaraudio.h> 
     27#include <libroareio/libroareio.h> 
    2728 
    2829#ifdef ROAR_HAVE_ESD 
     
    3536#define MT_ESD      0x20 
    3637#define MT_SIMPLE   0x30 
     38#define MT_OSS      0x40 
    3739#define MT_DEFAULT  MT_ROAR 
    3840 
     
    6466        "  esd                - EsounD Server\n" 
    6567        "  simple             - PulseAudio using simple protocol\n" 
     68        "  oss                - Open Sound System (OSS) device\n" 
    6669        "\n" 
    6770        "  bidir              - Connect bidirectional\n" 
     
    9396    ret -= ret & MT_MASK; 
    9497    ret += MT_SIMPLE; 
     98   } else if ( !strcmp(type, "oss") ) { 
     99    ret -= ret & MT_MASK; 
     100    ret += MT_OSS; 
    95101   } else if ( !strcmp(type, "bidir") ) { 
    96102    ret -= ret & ST_MASK; 
     
    122128   case MT_SIMPLE: ret |= ST_TRANSMIT; break; // we use ST_TRANSMIT because ST_BIDIR is 
    123129                                              // very unlike to be configured at the server side. 
     130   case MT_OSS:    ret |= ST_BIDIR;    break; 
    124131   default: 
    125132     return MT_NONE|ST_NONE; // error case 
     
    134141 struct roar_connection con[1]; 
    135142 struct roar_stream     stream[1]; 
     143 struct roar_vio_calls  vio; 
     144 struct roar_audio_info info; 
    136145 int    rate     = 44100; 
    137146 int    bits     = 16; 
     
    198207    rfh = roar_simple_stream(rate, channels, bits, codec, remote, tmp, "roarinterconnect"); 
    199208   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; 
    200240#ifdef ROAR_HAVE_ESD 
    201241  case MT_ESD: 
Note: See TracChangeset for help on using the changeset viewer.