Changeset 5056:b31e60545552 in roaraudio for roard/driver_rsound.c


Ignore:
Timestamp:
06/02/11 23:13:11 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

support auto reconf bits=32->16 in case not supported (See: #48)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_rsound.c

    r5012 r5056  
    7575 tmp = -1; // unknown by RSound 
    7676 
     77 if ( info->bits > 16 && streams_get_flag(ROAR_STREAM(sstream)->id, ROAR_FLAG_AUTOCONF) ) { 
     78  info->bits = 32; 
     79 } 
     80 
    7781 switch (info->codec) { 
    7882  case ROAR_CODEC_PCM_S_LE: 
     
    8084     case  8: tmp = RSD_S8;     break; 
    8185     case 16: tmp = RSD_S16_LE; break; 
     86#ifdef RSD_S32_LE 
     87     case 32: tmp = RSD_S32_LE; break; 
     88#endif 
    8289    } 
    8390   break; 
     
    8693     case  8: tmp = RSD_S8;     break; 
    8794     case 16: tmp = RSD_S16_BE; break; 
     95#ifdef RSD_S32_BE 
     96     case 32: tmp = RSD_S32_BE; break; 
     97#endif 
    8898    } 
    8999   break; 
     
    97107     case  8: tmp = RSD_U8;     break; 
    98108     case 16: tmp = RSD_U16_LE; break; 
     109#ifdef RSD_U32_LE 
     110     case 32: tmp = RSD_U32_LE; break; 
     111#endif 
    99112    } 
    100113   break; 
     
    103116     case  8: tmp = RSD_U8;     break; 
    104117     case 16: tmp = RSD_U16_BE; break; 
     118#ifdef RSD_U32_BE 
     119     case 32: tmp = RSD_U32_BE; break; 
     120#endif 
    105121    } 
    106122   break; 
     
    111127   break; 
    112128 } 
     129 
     130#ifdef RSD_S16_NE 
     131 if ( tmp == -1 && streams_get_flag(ROAR_STREAM(sstream)->id, ROAR_FLAG_AUTOCONF) ) { 
     132  info->bits  = 16; 
     133  info->codec = ROAR_CODEC_DEFAULT; 
     134  tmp         = RSD_S16_NE; 
     135 } 
     136#endif 
    113137 
    114138 if ( tmp == -1 ) { 
Note: See TracChangeset for help on using the changeset viewer.