Changeset 99:0ef9bfdde394 in roaraudio


Ignore:
Timestamp:
07/13/08 02:03:24 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

got meta data update working

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarctl.c

    r86 r99  
    219219} 
    220220 
     221int set_meta (struct roar_connection * con, int id, char * mode, char * type, char * val) { 
     222 struct roar_meta   meta; 
     223 struct roar_stream s; 
     224 int mode_i = ROAR_META_MODE_SET; 
     225 
     226 s.id = id; 
     227 
     228 printf("set_meta(*): mode='%s', type='%s', val='%s'\n", mode, type, val); 
     229 
     230 if ( strcmp(mode, "add") == 0 ) { 
     231  mode_i = ROAR_META_MODE_ADD; 
     232 } 
     233 
     234 meta.type  = atoi(type); 
     235 meta.value = val; 
     236 
     237 printf("D: type=%i, mode=%i\n", meta.type, mode_i); 
     238 
     239 return roar_stream_meta_set(con, &s, mode_i, &meta); 
     240} 
     241 
    221242int main (int argc, char * argv[]) { 
    222243 struct roar_connection con; 
     
    344365   } 
    345366 
     367  } else if ( !strcmp(k, "meta") ) { 
     368   i++; 
     369   if ( set_meta(&con, atoi(argv[i]), argv[i+1], argv[i+2], argv[i+3]) == -1 ) { 
     370    fprintf(stderr, "Error: can not set meta data\n"); 
     371   } else { 
     372    printf("meta data changed\n"); 
     373   } 
     374   i += 3; 
     375 
    346376  } else { 
    347377   fprintf(stderr, "Error: invalid command: %s\n", k); 
  • roard/req.c

    r92 r99  
    138138 int mode; 
    139139 int namelen, vallen; 
    140  char   val[1024+1]; 
     140 char   val[255+1]; 
    141141 char   name[ROAR_META_MAX_NAMELEN+1]; 
    142142 
     
    149149 mode = (unsigned) mes->data[1]; 
    150150 type = (unsigned) mes->data[2]; 
     151 
     152 ROAR_DBG("req_on_set_meta(*): mode=%i, type=%i", mode, type); 
    151153 
    152154 if ( mode == ROAR_META_MODE_CLEAR ) { 
     
    163165  vallen  = (unsigned) mes->data[4]; 
    164166 
     167  ROAR_DBG("req_on_set_meta(*): namelen=%i, vallen=%i", namelen, vallen); 
     168 
    165169  if ( mes->datalen < (5 + namelen + vallen) ) 
    166170   return -1; 
     
    172176  name[namelen] = 0; 
    173177 
    174   if ( vallen > 1024 ) 
     178  if ( vallen > 255 ) 
    175179   return -1; 
    176180 
Note: See TracChangeset for help on using the changeset viewer.