Changeset 537:4c587d327dd8 in roaraudio


Ignore:
Timestamp:
08/18/08 14:29:47 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_str2codec() and roar_codec2str()

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/stream.h

    r506 r537  
    99                           (x) == ROAR_DIR_FILTER ? "filter" : (x) == ROAR_DIR_RECORD  ? "record"  : \ 
    1010                           (x) == ROAR_DIR_OUTPUT ? "output" : "unknown") 
    11  
     11/* 
    1212#define roar_codec2str(x) ((x) == ROAR_CODEC_PCM_S_LE  ? "pcm_s_le"  : (x) == ROAR_CODEC_PCM_S_BE  ? "pcm_s_be"  : \ 
    1313                           (x) == ROAR_CODEC_PCM_S_PDP ? "pcm_s_pdp" : (x) == ROAR_CODEC_MIDI_FILE ? "midi_file" : \ 
    1414                           "unknown" ) 
     15*/ 
    1516 
    1617struct roar_stream_info { 
     
    3738int roar_stream_m2s     (struct roar_stream * s, struct roar_message * m); 
    3839 
     40int    roar_str2codec (char * codec); 
     41char * roar_codec2str (int    codec); 
     42 
    3943#endif 
    4044 
  • libroar/stream.c

    r506 r537  
    253253} 
    254254 
     255 
     256// codec funcs: 
     257 
     258/* 
     259#define roar_codec2str(x) ((x) == ROAR_CODEC_PCM_S_LE  ? "pcm_s_le"  : (x) == ROAR_CODEC_PCM_S_BE  ? "pcm_s_be"  : \ 
     260                           (x) == ROAR_CODEC_PCM_S_PDP ? "pcm_s_pdp" : (x) == ROAR_CODEC_MIDI_FILE ? "midi_file" : \ 
     261                           "unknown" ) 
     262*/ 
     263 
     264struct { 
     265 int    codec; 
     266 char * name; 
     267} _libroar_codec[] = { 
     268 // PCM: 
     269 {ROAR_CODEC_PCM_S_LE,    "pcm_s_le"   }, 
     270 {ROAR_CODEC_PCM_S_BE,    "pcm_s_be"   }, 
     271 {ROAR_CODEC_PCM_S_PDP,   "pcm_s_pdp"  }, 
     272 {ROAR_CODEC_PCM_U_LE,    "pcm_u_le"   }, 
     273 {ROAR_CODEC_PCM_U_BE,    "pcm_u_be"   }, 
     274 {ROAR_CODEC_PCM_U_PDP,   "pcm_u_pdp"  }, 
     275 {ROAR_CODEC_DEFAULT,     "default"    }, // alias 
     276 {ROAR_CODEC_DEFAULT,     "pcm"        }, // alias 
     277 
     278 // MIDI: 
     279 {ROAR_CODEC_MIDI_FILE,   "midi_file"  }, 
     280 
     281 // XIPH: 
     282 {ROAR_CODEC_OGG_VORBIS,  "ogg_vorbis" }, 
     283 {ROAR_CODEC_OGG_VORBIS,  "vorbis"     }, // alias 
     284 {ROAR_CODEC_FLAC,        "flac"       }, 
     285 {ROAR_CODEC_OGG_SPEEX,   "ogg_speex"  }, 
     286 {ROAR_CODEC_OGG_SPEEX,   "speex"      }, // alias 
     287 {ROAR_CODEC_OGG_FLAC,    "ogg_flac"   }, 
     288 {ROAR_CODEC_OGG_GENERAL, "ogg_general"}, 
     289 {ROAR_CODEC_ROAR_CELT,   "roar_celt"  }, 
     290 {ROAR_CODEC_ROAR_SPEEX,  "roar_speex" }, 
     291 {-1, NULL} 
     292}; 
     293 
     294int roar_str2codec(char * codec) { 
     295 int i; 
     296 int guess = atoi(codec); 
     297 
     298 if ( guess > 0 ) 
     299  return guess; 
     300 
     301 if ( codec == NULL || *codec == 0 ) 
     302  return ROAR_CODEC_DEFAULT; 
     303 
     304 for (i = 0; _libroar_codec[i].codec != -1; i++) 
     305  if ( strcasecmp(_libroar_codec[i].name, codec) == 0 ) 
     306   return _libroar_codec[i].codec; 
     307 
     308 return -1; 
     309} 
     310 
     311 
     312char * roar_codec2str (int codec) { 
     313 int i; 
     314 
     315 for (i = 0; _libroar_codec[i].codec != -1; i++) 
     316  if ( _libroar_codec[i].codec == codec ) 
     317   return _libroar_codec[i].name; 
     318 
     319 return "unknown"; 
     320} 
     321 
    255322//ll 
  • roarclients/roarcat.c

    r292 r537  
    4444   channels = atoi(argv[++i]); 
    4545  } else if ( strcmp(k, "--codec") == 0 ) { 
    46    codec = atoi(argv[++i]); 
     46   codec = roar_str2codec(argv[++i]); 
    4747  } else if ( strcmp(k, "--help") == 0 ) { 
    4848   usage(); 
Note: See TracChangeset for help on using the changeset viewer.