Changeset bee5349 in mainline
- Timestamp:
- 2013-04-11T21:32:28Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4eff63c
- Parents:
- d1f144a
- Location:
- uspace/srv/audio/hound
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/audio/hound/audio_device.c
rd1f144a rbee5349 83 83 84 84 audio_sink_init(&dev->sink, name, dev, device_sink_connection_callback, 85 device_check_format, &AUDIO_FORMAT_ANY);85 device_check_format, NULL, &AUDIO_FORMAT_ANY); 86 86 audio_source_init(&dev->source, name, dev, 87 87 device_source_connection_callback, NULL, &AUDIO_FORMAT_ANY); -
uspace/srv/audio/hound/audio_sink.c
rd1f144a rbee5349 49 49 * @param sink The structure to initialize. 50 50 * @param name string identifier 51 * @param private_data backa 51 * @param private_data backend data 52 * @param connection_change connect/disconnect callback 53 * @param check_format format testing callback 54 * @param data_available trigger data prcoessing 55 * @param f sink format 56 * @return Error code. 52 57 */ 53 int audio_sink_init(audio_sink_t *sink, const char *name, 54 void *private_data, int (*connection_change)(audio_sink_t *, bool), 55 int (*check_format)(audio_sink_t *sink), const pcm_format_t *f) 58 int audio_sink_init(audio_sink_t *sink, const char *name, void *private_data, 59 int (*connection_change)(audio_sink_t *, bool), 60 int (*check_format)(audio_sink_t *), int (*data_available)(audio_sink_t *), 61 const pcm_format_t *f) 56 62 { 57 63 assert(sink); … … 67 73 sink->connection_change = connection_change; 68 74 sink->check_format = check_format; 75 sink->data_available = data_available; 69 76 log_verbose("Initialized sink (%p) '%s'", sink, sink->name); 70 77 return EOK; -
uspace/srv/audio/hound/audio_sink.h
rd1f144a rbee5349 63 63 /** Backend callback to check data */ 64 64 int (*check_format)(audio_sink_t *); 65 /** new data notifier */ 66 int (*data_available)(audio_sink_t *); 65 67 }; 66 68 … … 75 77 } 76 78 77 int audio_sink_init(audio_sink_t *sink, const char *name, 78 void *private_data, int (*connection_change)(audio_sink_t *, bool), 79 int (*check_format)(audio_sink_t *), const pcm_format_t *f); 79 int audio_sink_init(audio_sink_t *sink, const char *name, void *private_data, 80 int (*connection_change)(audio_sink_t *, bool), 81 int (*check_format)(audio_sink_t *), int (*data_available)(audio_sink_t *), 82 const pcm_format_t *f); 80 83 81 84 void audio_sink_fini(audio_sink_t *sink); -
uspace/srv/audio/hound/connection.c
rd1f144a rbee5349 123 123 return ret > 0 ? EOK : ret; 124 124 } 125 /** 126 * Add new data to the connection buffer. 127 * @param connection Target conneciton. 128 * @aparam adata Reference counted audio data buffer. 129 * @return Error code. 130 */ 131 int connection_push_data(connection_t *connection, 132 audio_data_t *adata) 133 { 134 assert(connection); 135 assert(adata); 136 const int ret = audio_pipe_push(&connection->fifo, adata); 137 if (ret == EOK && connection->sink->data_available) 138 connection->sink->data_available(connection->sink); 139 return ret; 140 } 125 141 126 142 /** -
uspace/srv/audio/hound/connection.h
rd1f144a rbee5349 97 97 size_t size, pcm_format_t format); 98 98 99 /** 100 * Add new data to the connection buffer. 101 * @param connection Target conneciton. 102 * @aparam adata Reference counted audio data buffer. 103 * @return Error code. 104 */ 105 static inline int connection_push_data(connection_t *connection, 106 audio_data_t *adata) 107 { 108 assert(connection); 109 assert(adata); 110 return audio_pipe_push(&connection->fifo, adata); 111 } 99 int connection_push_data(connection_t *connection, audio_data_t *adata); 112 100 113 101 /** -
uspace/srv/audio/hound/hound_ctx.c
rd1f144a rbee5349 67 67 // TODO provide sink functions 68 68 const int ret = audio_sink_init(ctx->sink, name, ctx, NULL, 69 NULL, &AUDIO_FORMAT_DEFAULT);69 NULL, NULL, &AUDIO_FORMAT_DEFAULT); 70 70 if (ret != EOK) { 71 71 free(ctx->sink);
Note:
See TracChangeset
for help on using the changeset viewer.