Changeset 1df3018a in mainline for uspace/srv/audio/hound/audio_source.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_source.h
rd01e635 r1df3018a 41 41 #include <pcm_sample_format.h> 42 42 43 43 44 #include "audio_format.h" 44 45 46 struct audio_sink; 47 typedef struct audio_source audio_source_t; 45 48 46 typedef struct{49 struct audio_source { 47 50 link_t link; 48 char *name; 49 struct { 50 int (*hook)(void* arg, const audio_format_t *f); 51 void *arg; 52 } connected_change; 53 struct { 54 int (*hook)(void* arg); 55 void *arg; 56 } get_data; 51 const char *name; 52 audio_format_t format; 53 void *private_data; 54 int (*connection_change)(audio_source_t *source); 55 int (*update_available_data)(audio_source_t *source, size_t size); 56 struct audio_sink *connected_sink; 57 57 struct { 58 58 void *base; 59 59 size_t size; 60 } available; 61 audio_format_t format; 62 } audio_source_t; 60 } available_data; 61 }; 63 62 64 63 static inline audio_source_t * audio_source_list_instance(link_t *l) … … 67 66 } 68 67 69 int audio_source_init(audio_source_t *source, const char *name); 70 static inline void audio_source_set_connected_callback(audio_source_t *source, 71 int (*hook)(void* arg, const audio_format_t *f), void* arg) 72 { 73 assert(source); 74 source->connected_change.arg = arg; 75 source->connected_change.hook = hook; 76 } 77 int audio_source_connected(audio_source_t *source, const audio_format_t *f); 68 int audio_source_init(audio_source_t *source, const char *name, void *data, 69 int (*connection_change)(audio_source_t *), 70 int (*update_available_data)(audio_source_t *, size_t), 71 const audio_format_t *f); 72 void audio_source_fini(audio_source_t *source); 73 int audio_source_connected(audio_source_t *source, struct audio_sink *sink); 78 74 int audio_source_add_self(audio_source_t *source, void *buffer, size_t size, 79 75 const audio_format_t *f);
Note:
See TracChangeset
for help on using the changeset viewer.