Changeset 5c98bb28 in mainline
- Timestamp:
- 2013-04-06T12:43:54Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 599034e
- Parents:
- afd4fc7
- Location:
- uspace/srv/audio/hound
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/audio/hound/audio_device.c
rafd4fc7 r5c98bb28 79 79 dev->buffer.position = NULL; 80 80 dev->buffer.size = 0; 81 dev->buffer.fragment_size = 0; 81 82 82 83 log_verbose("Initialized device (%p) '%s' with id %u.", … … 111 112 dev->buffer.base, dev->buffer.size); 112 113 113 log_verbose("Mixed inputs: %zu/(%u * %u)", 114 dev->buffer.size, BUFFER_PARTS, pcm_format_frame_size(&dev->sink.format)); 115 const unsigned frames = dev->buffer.size / 116 (BUFFER_PARTS * pcm_format_frame_size(&dev->sink.format)); 117 log_verbose("FRAME COUNT %u", frames); 114 const unsigned frames = dev->buffer.fragment_size / 115 pcm_format_frame_size(&dev->sink.format); 116 log_verbose("Fragment frame count %u", frames); 118 117 ret = audio_pcm_start_playback_fragment(dev->sess, frames, 119 118 dev->sink.format.channels, dev->sink.format.sampling_rate, … … 151 150 assert(source); 152 151 audio_device_t *dev = source->private_data; 153 if (new && list_count(&source->connections) ) {152 if (new && list_count(&source->connections) == 1) { 154 153 int ret = get_buffer(dev); 155 154 if (ret != EOK) { … … 158 157 return ret; 159 158 } 160 const unsigned frames = dev->buffer. size /161 (BUFFER_PARTS * pcm_format_frame_size(&dev->sink.format));159 const unsigned frames = dev->buffer.fragment_size / 160 pcm_format_frame_size(&dev->sink.format); 162 161 ret = audio_pcm_start_capture_fragment(dev->sess, frames, 163 162 dev->sink.format.channels, dev->sink.format.sampling_rate, … … 208 207 if (dev->buffer.position) { 209 208 dev->buffer.position += 210 (dev->buffer.size / BUFFER_PARTS);209 dev->buffer.fragment_size; 211 210 } 212 211 if ((!dev->buffer.position) || … … 217 216 } 218 217 audio_sink_mix_inputs(&dev->sink, dev->buffer.position, 219 dev->buffer. size / BUFFER_PARTS);218 dev->buffer.fragment_size); 220 219 struct timeval time2; 221 220 getuptime(&time2); … … 261 260 dev->buffer.size = 0; 262 261 263 returnaudio_pcm_get_buffer(dev->sess, &dev->buffer.base,262 const int ret = audio_pcm_get_buffer(dev->sess, &dev->buffer.base, 264 263 &dev->buffer.size); 264 if (ret == EOK) 265 dev->buffer.fragment_size = dev->buffer.size / BUFFER_PARTS; 266 return ret; 267 265 268 } 266 269 -
uspace/srv/audio/hound/audio_device.h
rafd4fc7 r5c98bb28 58 58 size_t size; 59 59 void *position; 60 size_t fragment_size; 60 61 } buffer; 61 62 audio_source_t source;
Note:
See TracChangeset
for help on using the changeset viewer.