source: roaraudio/libroar/meta.c @ 97:9f03ec4c5209

Last change on this file since 97:9f03ec4c5209 was 97:9f03ec4c5209, checked in by phi, 16 years ago

added basic meta data support

File size: 745 bytes
Line 
1//meta.c:
2
3#include "libroar.h"
4
5int roar_stream_meta_set (struct roar_connection * con, struct roar_stream * s, int mode, struct roar_meta * meta) {
6 struct roar_message m;
7 int len;
8
9 m.cmd     = ROAR_CMD_SET_META;
10 m.stream  = s->id;
11// m.datalen = len;
12
13 m.data[0] = 0;
14 m.data[1] = mode;
15 m.data[2] = meta->type;
16
17 m.data[3] = strlen(meta->key);
18 m.data[4] = len = strlen(meta->value);
19
20 if ( len > 255 )
21  return -1;
22
23 m.datalen = 5 + m.data[3] + m.data[4];
24 if ( m.datalen > LIBROAR_BUFFER_MSGDATA )
25  return -1;
26
27 strncpy(&(m.data[5]), meta->key, ROAR_META_MAX_NAMELEN);
28 strncpy(&(m.data[5+m.data[3]]), meta->value, len);
29
30 if ( roar_req(con, &m, NULL) == -1 )
31  return -1;
32
33 if ( m.cmd == ROAR_CMD_OK )
34  return 0;
35 return -1;
36}
37
38//ll
Note: See TracBrowser for help on using the repository browser.