Changeset 57e8b3b in mainline for uspace/srv/audio/hound/audio_device.c
- Timestamp:
- 2012-07-15T15:25:43Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5cd5079
- Parents:
- 2cc5c835
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/audio/hound/audio_device.c
r2cc5c835 r57e8b3b 46 46 #include "log.h" 47 47 48 #define BUFFER_ BLOCKS 248 #define BUFFER_PARTS 2 49 49 50 50 static int device_sink_connection_callback(audio_sink_t *sink, bool new); … … 107 107 dev->buffer.base, dev->buffer.size); 108 108 109 ret = audio_pcm_start_playback(dev->sess, BUFFER_BLOCKS, 109 const unsigned frames = dev->buffer.size / 110 (BUFFER_PARTS * audio_format_frame_size(&dev->sink.format)); 111 ret = audio_pcm_start_playback(dev->sess, frames, 110 112 dev->sink.format.channels, dev->sink.format.sampling_rate, 111 113 dev->sink.format.sample_format); … … 148 150 return ret; 149 151 } 150 ret = audio_pcm_start_record(dev->sess, BUFFER_BLOCKS, 152 const unsigned frames = dev->buffer.size / 153 (BUFFER_PARTS * audio_format_frame_size(&dev->sink.format)); 154 ret = audio_pcm_start_record(dev->sess, frames, 151 155 dev->sink.format.channels, dev->sink.format.sampling_rate, 152 156 dev->sink.format.sample_format); … … 187 191 async_answer_0(callid, EOK); 188 192 switch(IPC_GET_IMETHOD(call)) { 189 case PCM_EVENT_PLAYBACK_DONE: { 193 case PCM_EVENT_FRAMES_PLAYED: { 194 //TODO add underrun protection. 190 195 if (dev->buffer.position) { 191 196 dev->buffer.position += 192 (dev->buffer.size / BUFFER_ BLOCKS);197 (dev->buffer.size / BUFFER_PARTS); 193 198 } 194 199 if ((!dev->buffer.position) || … … 199 204 } 200 205 audio_sink_mix_inputs(&dev->sink, dev->buffer.position, 201 dev->buffer.size / BUFFER_ BLOCKS);206 dev->buffer.size / BUFFER_PARTS); 202 207 break; 203 208 } … … 206 211 return; 207 212 } 208 case PCM_EVENT_ RECORDING_DONE: {213 case PCM_EVENT_FRAMES_RECORDED: { 209 214 //TODO implement 210 215 break;
Note:
See TracChangeset
for help on using the changeset viewer.