source: roaraudio/libroar/simple.c @ 0:2a41d2f42394

Last change on this file since 0:2a41d2f42394 was 0:2a41d2f42394, checked in by phi, 16 years ago

Initial revision

File size: 2.0 KB
Line 
1//simple.c:
2
3#include "libroar.h"
4
5int roar_simple_connect (struct roar_connection * con, char * server, char * name) {
6
7 ROAR_DBG("roar_simple_connect(*): trying to connect...");
8
9 if ( roar_connect(con, server) == -1 ) {
10  ROAR_DBG("roar_simple_connect(*): roar_connect() faild!");
11  return -1;
12 }
13
14 if ( roar_identify(con, name) == -1 ) {
15  ROAR_DBG("roar_simple_connect(*): roar_identify() faild!");
16  return -1;
17 }
18
19 if ( roar_auth(con) == -1 ) {
20  ROAR_DBG("roar_simple_connect(*): roar_auth() faild!");
21  return -1;
22 }
23
24 return 0;
25}
26
27int roar_simple_stream(int rate, int channels, int bits, int codec, char * server, int dir, char * name) {
28 struct roar_connection con;
29 struct roar_stream     s;
30
31 if ( roar_simple_connect(&con, server, name) == -1 ) {
32  ROAR_DBG("roar_simple_play(*): roar_simple_connect() faild!");
33  return -1;
34 }
35
36 if ( roar_stream_new(&s, rate, channels, bits, codec) == -1 ) {
37  roar_disconnect(&con);
38  return -1;
39 }
40
41 if ( roar_stream_connect(&con, &s, dir) == -1 ) {
42  roar_disconnect(&con);
43  return -1;
44 }
45
46 if ( roar_stream_exec(&con, &s) == -1 ) {
47  roar_disconnect(&con);
48  return -1;
49 }
50
51 return con.fh;
52}
53
54int roar_simple_play(int rate, int channels, int bits, int codec, char * server, char * name) {
55 return roar_simple_stream(rate, channels, bits, codec, server, ROAR_DIR_PLAY, name);
56}
57
58int roar_simple_monitor(int rate, int channels, int bits, int codec, char * server, char * name) {
59 return roar_simple_stream(rate, channels, bits, codec, server, ROAR_DIR_MONITOR, name);
60}
61
62int roar_simple_record(int rate, int channels, int bits, int codec, char * server, char * name) {
63 return roar_simple_stream(rate, channels, bits, codec, server, ROAR_DIR_RECORD, name);
64}
65
66int roar_simple_filter(int rate, int channels, int bits, int codec, char * server, char * name) {
67 return roar_simple_stream(rate, channels, bits, codec, server, ROAR_DIR_FILTER, name);
68}
69
70
71int roar_simple_close(int fh) {
72 return close(fh);
73}
74
75int roar_simple_get_standby (int fh) {
76 struct roar_connection con;
77
78 con.fh = fh;
79
80 return roar_get_standby(&con);
81}
82
83//ll
Note: See TracBrowser for help on using the repository browser.