Changeset 5739:2a1671d592b9 in roaraudio for plugins/roard/protocol-rplay.c
- Timestamp:
- 11/09/12 01:09:22 (11 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/roard/protocol-rplay.c
r5640 r5739 28 28 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RPLAY 29 29 30 struct emul_rplay_command emul_rplay_commands[] = { 30 struct emul_rplay_command { 31 const char * name; 32 const char * usage; 33 ssize_t min_args; 34 ssize_t max_args; 35 int (*handler)(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 36 }; 37 38 static int emul_rplay_exec_command (int client, struct roar_vio_calls * vio, char * command); 39 40 static int emul_rplay_send_error (int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen, const char * msg); 41 42 static int emul_rplay_on_status(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 43 static int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 44 static int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 45 46 // things we need to implent soon: 47 static int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 48 static int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 49 //static int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 50 //static int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 51 static int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 52 static int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 53 //static int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 54 55 static struct emul_rplay_command emul_rplay_commands[] = { 31 56 {"access", NULL, -1, -1, NULL}, 32 57 {"application", NULL, 1, -1, NULL}, … … 111 136 } 112 137 113 int emul_rplay_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 114 struct roar_vio_calls calls; 138 static int emul_rplay_set_proto (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 139 if ( emul_rplay_on_status(client, NULL, vio, NULL, 0) == -1 ) 140 return -1; 141 142 return 0; 143 } 144 145 static int emul_rplay_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 115 146 char buf[1024]; 116 147 ssize_t len; … … 119 150 return -1; 120 151 121 if ( vio == NULL ) {122 vio = &calls;123 if ( roar_vio_open_fh_socket(vio, clients_get_fh(client)) == -1 )124 return -1;125 }126 127 152 if ( (len = roar_vio_read(vio, buf, sizeof(buf)-1)) <= 0 ) { 128 153 // really bad protocol error 129 clients_delete(client);130 154 return -1; 131 155 } … … 256 280 257 281 258 int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 259 clients_delete(client); 282 static int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 260 283 return -1; 261 284 } 262 285 263 int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {286 static int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 264 287 struct emul_rplay_command * c; 265 288 … … 276 299 277 300 278 int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {301 static int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 279 302 struct roar_keyval * kvr, * rate, * bits, * channels, * format, * byteorder; 280 303 struct roar_audio_info info; … … 370 393 } 371 394 372 int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {395 static int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 373 396 struct roar_keyval * kvr; 374 397 int stream; … … 418 441 } 419 442 420 int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen);421 int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen);422 423 int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {443 //static int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 444 //static int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 445 446 static int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 424 447 struct roar_keyval * kvr; 425 448 int stream; … … 450 473 } 451 474 452 int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {475 static int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 453 476 struct roar_keyval * kvr; 454 477 int stream; … … 479 502 } 480 503 481 int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 504 //static int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 505 506 struct roar_dl_proto __proto_common_rplay = { 507 .proto = ROAR_PROTO_RPLAY, 508 .description = "RPlay emulation", 509 .flags = ROAR_DL_PROTO_FLAGS_NONE, 510 .set_proto = emul_rplay_set_proto, 511 .handle = emul_rplay_check_client 512 }; 482 513 483 514 #endif
Note: See TracChangeset
for help on using the changeset viewer.