Changeset 1df3018a in mainline for uspace/srv/audio/hound/audio_sink.h
- Timestamp:
- 2012-07-13T03:24:17Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d93a5a6f
- Parents:
- d01e635
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/audio/hound/audio_sink.h
rd01e635 r1df3018a 37 37 #define AUDIO_SINK_H_ 38 38 39 #include <adt/list.h> 40 #include <async.h> 39 41 #include <bool.h> 40 #include <adt/list.h>41 42 #include <pcm_sample_format.h> 42 43 #include <fibril.h> 43 44 45 #include "audio_source.h" 44 46 #include "audio_format.h" 45 #include "audio_source.h"46 47 47 typedef struct audio_sink { 48 typedef struct audio_sink audio_sink_t; 49 50 struct audio_sink { 48 51 link_t link; 49 52 list_t sources; 50 c har *name;53 const char *name; 51 54 audio_format_t format; 52 struct { 53 int (*hook)(void* arg); 54 void *arg; 55 } connected_change; 56 } audio_sink_t; 55 void *private_data; 56 int (*connection_change)(audio_sink_t *sink); 57 }; 57 58 58 static inline void audio_sink_set_connected_callback(audio_sink_t *sink, 59 int (*hook)(void* arg), void* arg) 59 static inline audio_sink_t * audio_sink_list_instance(link_t *l) 60 60 { 61 assert(sink); 62 sink->connected_change.arg = arg; 63 sink->connected_change.hook = hook; 64 }; 65 int audio_sink_init(audio_sink_t *sink, const char* name); 61 return list_get_instance(l, audio_sink_t, link); 62 } 63 64 int audio_sink_init(audio_sink_t *sink, const char *name, 65 void *private_data, int (*connection_change)(audio_sink_t *sink), 66 const audio_format_t *f); 67 void audio_sink_fini(audio_sink_t *sink); 68 66 69 int audio_sink_add_source(audio_sink_t *sink, audio_source_t *source); 67 70 int audio_sink_remove_source(audio_sink_t *sink, audio_source_t *source);
Note:
See TracChangeset
for help on using the changeset viewer.