Changeset 3942:a160d7f5f19e in roaraudio for libroar/stream.c


Ignore:
Timestamp:
06/23/10 23:31:13 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for ai-profiles

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/stream.c

    r3875 r3942  
    10111011} 
    10121012 
     1013static struct { 
     1014 const char * name; 
     1015 struct roar_audio_info info; 
     1016} _libroar_aiprofiles[] = { 
     1017 {"default", {.rate     = ROAR_RATE_DEFAULT, 
     1018              .bits     = ROAR_BITS_DEFAULT, 
     1019              .channels = ROAR_CHANNELS_DEFAULT, 
     1020              .codec    = ROAR_CODEC_DEFAULT}}, 
     1021 {"cd",      {.rate =  44100, .bits = 16, .channels = 2, .codec = ROAR_CODEC_DEFAULT}}, 
     1022 {"cdr",     {.rate =  44100, .bits = 16, .channels = 2, .codec = ROAR_CODEC_PCM_S_BE}}, 
     1023 {"dat",     {.rate =  48000, .bits = 16, .channels = 2, .codec = ROAR_CODEC_PCM_S_LE}}, 
     1024 {"isdn-eu", {.rate =   8000, .bits =  8, .channels = 1, .codec = ROAR_CODEC_ALAW}}, 
     1025 {NULL,      {.rate =      0, .bits =  0, .channels = 0, .codec = 0}} 
     1026}; 
     1027 
     1028int     roar_profile2info    (struct roar_audio_info * info, const char * profile) { 
     1029 int i; 
     1030 
     1031 for (i = 0; _libroar_aiprofiles[i].name != NULL; i++) { 
     1032  if ( !strcasecmp(_libroar_aiprofiles[i].name, profile) ) { 
     1033   memcpy(info, &(_libroar_aiprofiles[i].info), sizeof(struct roar_audio_info)); 
     1034   return 0; 
     1035  } 
     1036 } 
     1037 
     1038 return -1; 
     1039} 
     1040 
     1041ssize_t   roar_profiles_list   (const char ** list, size_t len, size_t offset) { 
     1042 size_t i; 
     1043 int idx = 0; 
     1044 
     1045 if ( list == NULL ) 
     1046  return -1; 
     1047 
     1048 if ( len == 0 ) 
     1049  return 0; 
     1050 
     1051 if ( offset >= (sizeof(_libroar_aiprofiles)/sizeof(*_libroar_aiprofiles)) ) 
     1052  return 0; 
     1053 
     1054 for (i = offset; _libroar_aiprofiles[i].name != NULL; i++) { 
     1055  list[idx++] = _libroar_aiprofiles[i].name; 
     1056 } 
     1057 
     1058 return idx; 
     1059} 
     1060 
    10131061//ll 
Note: See TracChangeset for help on using the changeset viewer.