Changeset 2590:3b00e11c57b1 in roaraudio
- Timestamp:
- 09/10/09 00:12:32 (15 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- roard
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/codecfilter_wave.c
r2505 r2590 60 60 char tbuf[44]; 61 61 struct roar_stream * s = ROAR_STREAM(self->stream); 62 uint16_t tmp16; 63 uint32_t tmp32; 64 int codec = -1; 62 65 63 66 if ( self->opened ) { … … 70 73 // TODO: write better code here! 71 74 72 memcpy(&(s->info.rate ), tbuf+24, 4); 73 memcpy(&(s->info.channels), tbuf+22, 2); 74 memcpy(&(s->info.bits ), tbuf+34, 2); 75 memcpy(&tmp32, tbuf+24, 4); 76 s->info.rate = ROAR_LE2HOST32(tmp32); 77 78 memcpy(&tmp16, tbuf+22, 2); 79 s->info.channels = ROAR_LE2HOST16(tmp16); 80 81 memcpy(&tmp16, tbuf+34, 2); 82 s->info.bits = ROAR_LE2HOST16(tmp16); 83 84 memcpy(&tmp16, tbuf+20, 2); 85 86 switch (ROAR_LE2HOST16(tmp16)) { 87 case ROAR_RIFF_WAVE_CID_PCM: 88 if ( s->info.bits == 8 ) { 89 codec = ROAR_CODEC_PCM_U_LE; 90 } else { 91 codec = ROAR_CODEC_PCM_S_LE; 92 } 93 break; 94 case ROAR_RIFF_WAVE_CID_ALAW: 95 codec = ROAR_CODEC_ALAW; 96 break; 97 case ROAR_RIFF_WAVE_CID_MULAW: 98 codec = ROAR_CODEC_MULAW; 99 break; 100 case ROAR_RIFF_WAVE_CID_IEEE_FLOAT: 101 default: 102 return -1; 103 } 104 105 s->info.codec = codec; 75 106 76 107 self->opened = 1; -
roard/include/codecfilter_wave.h
r2505 r2590 30 30 #ifndef ROAR_WITHOUT_CF_WAVE 31 31 32 // most important codec IDs: 33 #define ROAR_RIFF_WAVE_CID_PCM 0x0001 34 #define ROAR_RIFF_WAVE_CID_IEEE_FLOAT 0x0003 35 #define ROAR_RIFF_WAVE_CID_ALAW 0x0006 36 #define ROAR_RIFF_WAVE_CID_MULAW 0x0007 37 32 38 struct codecfilter_wave_inst { 33 39 struct roar_stream_server * stream;
Note: See TracChangeset
for help on using the changeset viewer.