Changeset 2300

Show
Ignore:
Timestamp:
03/18/99 10:29:13 (15 years ago)
Author:
ucacoxh
Message:

- Fix for audio interfaces that fail init. (Soundcard came out of my machine
at home and revealed table shifting code did not work if devices further
down table needed initing since. Shift meant they never got inited).

- Types fixed for auddev_luigi.[ch] to match new mixer port stuff.

Location:
rat/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • rat/trunk/auddev.c

    r2296 r2300  
    11041104audio_init_interfaces(void) 
    11051105{ 
    1106         u_int32 i, j; 
    1107         int     c; 
     1106        u_int32 i, j, n, devs[NUM_AUDIO_INTERFACES]; 
    11081107 
    11091108        actual_devices = 0; 
     
    11141113                } 
    11151114                assert(audio_if_table[i].audio_if_dev_cnt); 
    1116                 c = audio_if_table[i].audio_if_dev_cnt(); 
    1117                 if (c == 0) { 
    1118                         /* audio_if_table[i] has no devices (eg: a linux box where */ 
    1119                         /* the kernel has been compiled without sound support). We */ 
    1120                         /* must remove this interface from the system...     [csp] */ 
    1121                         debug_msg("Removing interface %d\n", i); 
    1122                         for (j = i + 1; j < NUM_AUDIO_INTERFACES; j++) { 
    1123                                 memcpy(&(audio_if_table[j-1]), &(audio_if_table[j]), sizeof(audio_if_t)); 
    1124                         } 
    1125                 } 
    1126                 actual_devices += c; 
     1115                devs[i] = audio_if_table[i].audio_if_dev_cnt(); 
     1116                actual_devices += devs[i]; 
     1117        } 
     1118 
     1119        /* Remove interfaces where number of devs is zero. 
     1120         * This could be inside init loop above, but makes it 
     1121         * hard to read and does not save anything worthwhile. 
     1122         */ 
     1123        for(i = j = 0; i < NUM_AUDIO_INTERFACES; i++) { 
     1124                n = NUM_AUDIO_INTERFACES - i - 1; 
     1125                if (devs[i] == 0 && n != 0) { 
     1126                        memmove(audio_if_table + j, audio_if_table + j + 1, n * sizeof(audio_if_t)); 
     1127                } else { 
     1128                        j++; 
     1129                } 
    11271130        } 
    11281131 
  • rat/trunk/auddev_luigi.c

    r2287 r2300  
    313313} 
    314314 
    315 int 
     315audio_port_t 
    316316luigi_audio_oport_get(audio_desc_t ad) 
    317317{ 
  • rat/trunk/auddev_luigi.h

    r2287 r2300  
    6060void luigi_audio_block      (audio_desc_t ad); 
    6161 
    62 void luigi_audio_oport_set  (audio_desc_t ad, audio_port_t port); 
    63 int  luigi_audio_oport_get  (audio_desc_t ad); 
    64 int  luigi_audio_oport_count  (audio_desc_t ad); 
     62void         luigi_audio_oport_set   (audio_desc_t ad, audio_port_t port); 
     63audio_port_t luigi_audio_oport_get   (audio_desc_t ad); 
     64int          luigi_audio_oport_count (audio_desc_t ad); 
    6565const audio_port_details_t* 
    66      luigi_audio_oport_details (audio_desc_t ad, int idx); 
     66     luigi_audio_oport_details       (audio_desc_t ad, int idx); 
    6767 
    68 void luigi_audio_iport_set  (audio_desc_t ad, audio_port_t port); 
    69 int  luigi_audio_iport_get  (audio_desc_t ad); 
    70 int  luigi_audio_iport_count  (audio_desc_t ad); 
     68void         luigi_audio_iport_set   (audio_desc_t ad, audio_port_t port); 
     69audio_port_t luigi_audio_iport_get   (audio_desc_t ad); 
     70int          luigi_audio_iport_count (audio_desc_t ad); 
    7171const audio_port_details_t* 
    72      luigi_audio_iport_details (audio_desc_t ad, int idx); 
     72     luigi_audio_iport_details       (audio_desc_t ad, int idx); 
    7373 
    7474int  luigi_audio_is_ready  (audio_desc_t ad); 
  • rat/trunk/config_unix.h

    r2296 r2300  
    215215#ifdef Linux 
    216216#define DIFF_BYTE_ORDER  1 
    217 #define AUDIO_SPEAKER    0 
    218 #define AUDIO_HEADPHONE  1 
    219 #define AUDIO_LINE_OUT   4 
    220 #define AUDIO_MICROPHONE 1 
    221 #define AUDIO_LINE_IN    2 
    222 #define AUDIO_CD         4 
    223217#include <sys/soundcard.h> 
    224218#include <sys/stat.h>