Changeset 3686:9a6d918fb3a2 in roaraudio


Ignore:
Timestamp:
04/14/10 09:50:34 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

enable RIFF_WAVE codec filter to read RSound data

Location:
roard
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter_wave.c

    r3517 r3686  
    115115     codec = ROAR_CODEC_MULAW; 
    116116    break; 
     117   case ROAR_RIFF_WAVE_CID_RSOUND: 
     118     memcpy(&tmp16, tbuf+42, 2); 
     119     switch (ROAR_LE2HOST16(tmp16)) { 
     120      case ROAR_RIFF_WAVE_RSID_S16_LE: 
     121        s->info.bits = 16; 
     122        codec        = ROAR_CODEC_PCM_S_LE; 
     123       break; 
     124      case ROAR_RIFF_WAVE_RSID_S16_BE: 
     125        s->info.bits = 16; 
     126        codec        = ROAR_CODEC_PCM_U_BE; 
     127       break; 
     128      case ROAR_RIFF_WAVE_RSID_U16_LE: 
     129        s->info.bits = 16; 
     130        codec        = ROAR_CODEC_PCM_U_LE; 
     131       break; 
     132      case ROAR_RIFF_WAVE_RSID_U16_BE: 
     133        s->info.bits = 16; 
     134        codec        = ROAR_CODEC_PCM_U_BE; 
     135       break; 
     136      case ROAR_RIFF_WAVE_RSID_S8: 
     137        s->info.bits = 8; 
     138        codec        = ROAR_CODEC_PCM_S_LE; 
     139       break; 
     140      case ROAR_RIFF_WAVE_RSID_U8: 
     141        s->info.bits = 8; 
     142        codec        = ROAR_CODEC_PCM_U_LE; 
     143       break; 
     144      default: 
     145        return -1; 
     146     } 
     147    break; 
    117148   case ROAR_RIFF_WAVE_CID_IEEE_FLOAT: 
    118149   default: 
  • roard/emul_rsound.c

    r3685 r3686  
    109109 memcpy(&(s->info), g_sa, sizeof(struct roar_audio_info)); 
    110110 
    111  ss->codec_orgi = s->info.codec = ROAR_CODEC_DEFAULT; 
     111 ss->codec_orgi = s->info.codec = ROAR_CODEC_RIFF_WAVE; 
    112112 
    113113 if ( streams_set_dir(stream, ROAR_DIR_PLAY, 1) == -1 ) { 
  • roard/include/codecfilter_wave.h

    r3517 r3686  
    3737#define ROAR_RIFF_WAVE_CID_MULAW      0x0007 
    3838 
     39// Invalid but used by RSound: 
     40#define ROAR_RIFF_WAVE_CID_RSOUND     0x0000 
     41 
     42// Type is encoded in length by RSound using the following values: 
     43#define ROAR_RIFF_WAVE_RSID_S16_LE    0x0001 
     44#define ROAR_RIFF_WAVE_RSID_S16_BE    0x0002 
     45#define ROAR_RIFF_WAVE_RSID_U16_LE    0x0004 
     46#define ROAR_RIFF_WAVE_RSID_U16_BE    0x0008 
     47#define ROAR_RIFF_WAVE_RSID_U8        0x0010 
     48#define ROAR_RIFF_WAVE_RSID_S8        0x0020 
     49 
     50 
    3951struct codecfilter_wave_inst { 
    4052 struct roar_stream_server *  stream; 
Note: See TracChangeset for help on using the changeset viewer.