source: roaraudio/roard/include/streams.h @ 20:4c1dc5287f52

Last change on this file since 20:4c1dc5287f52 was 16:c4585a26128b, checked in by phi, 16 years ago

preperation to support mixing at diffrent levels

File size: 1.3 KB
Line 
1//streams.h:
2
3#ifndef _STREAMS_H_
4#define _STREAMS_H_
5
6#include <roaraudio.h>
7
8/*
9  Defined in <roaraudio/streams.h>
10
11#define ROAR_STREAMS_MAX  64
12*/
13
14#define ROAR_STREAM_SERVER(x) ((struct roar_stream_server*)(x))
15
16struct roar_stream_server {
17 struct roar_stream _stream;
18 unsigned int pos_abs;
19 int client;
20 struct roar_buffer * buffer;
21 size_t need_extra;
22 void  * output;
23 struct roar_mixer_settings mixer;
24} * g_streams[ROAR_STREAMS_MAX];
25
26int streams_init   (void);
27int streams_free   (void);
28
29int streams_new    (void);
30int streams_delete (int id);
31
32int streams_set_client (int id, int client);
33
34int streams_set_fh     (int id, int fh);
35int streams_get        (int id, struct roar_stream_server ** stream);
36
37int stream_add_buffer     (int id, struct roar_buffer *  buf);
38//int stream_get_buffer     (int id, struct roar_buffer ** buf);
39int stream_shift_buffer   (int id, struct roar_buffer ** buf);
40int stream_unshift_buffer (int id, struct roar_buffer *  buf);
41
42int streams_check      (int id);
43int streams_send_mon   (int id);
44int streams_send_filter(int id);
45
46int streams_get_mixbuffers   (void *** bufferlist, struct roar_audio_info * info, unsigned int pos);
47int streams_get_outputbuffer (int id, void ** buffer, size_t size);
48int streams_fill_mixbuffer   (int id, struct roar_audio_info * info);
49
50
51#endif
52
53//ll
Note: See TracBrowser for help on using the repository browser.