Changeset 5276:0eb24ca6810e in roaraudio for roard/driver_alsa.c
- Timestamp:
- 11/20/11 18:36:49 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/driver_alsa.c
r5012 r5276 231 231 inst->sync = driver_alsa_sync; 232 232 inst->ctl = driver_alsa_ctl; 233 inst->nonblock = driver_dummy_nonblock;234 233 235 234 ROAR_DBG("driver_alsa_open_vio(inst=%p, device='%s', info=%p, fh=%i, sstream=%p) = 0", inst, device, info, fh, sstream); … … 333 332 switch (cmd) { 334 333 case ROAR_VIO_CTL_GET_DELAY: 335 if ( snd_pcm_delay(device->handle, &alsa_delay) < 0 ) 334 if ( snd_pcm_delay(device->handle, &alsa_delay) < 0 ) 335 return -1; 336 else { 337 *(uint_least32_t *)data = snd_pcm_frames_to_bytes(device->handle, alsa_delay); 338 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_GET_DELAY(0x%.8x), data=%p): %i bytes.", vio, cmd, data, (int)(*(uint_least32_t*)data)); 339 } 340 break; 341 342 case ROAR_VIO_CTL_SET_SSTREAMID: 343 device->ssid = *(int *)data; 344 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_SSTREAMID(0x%.8x), data=%p): ssid=%i", vio, cmd, data, device->ssid); 345 break; 346 347 case ROAR_VIO_CTL_SET_SSTREAM: 348 device->sstream = data; 349 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_SSTREAM(0x%.8x), data=%p): sstream=%p", vio, cmd, data, device->sstream); 350 break; 351 352 case ROAR_VIO_CTL_GET_AUINFO: 353 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_GET_AUINFO(0x%.8x), data=%p) = ?", vio, cmd, data); 354 memcpy(data, &(device->info), sizeof(struct roar_audio_info)); 355 break; 356 357 case ROAR_VIO_CTL_SET_AUINFO: 358 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_AUINFO(0x%.8x), data=%p) = ?", vio, cmd, data); 359 memcpy(&(device->info), data, sizeof(struct roar_audio_info)); 360 return driver_alsa_reopen_device(device); 361 break; 362 363 case ROAR_VIO_CTL_NONBLOCK: 364 if ( *(int*)data == ROAR_SOCKET_BLOCK ) 365 return 0; 366 roar_err_set(ROAR_ERROR_NOTSUP); 336 367 return -1; 337 else { 338 *(uint_least32_t *)data = snd_pcm_frames_to_bytes(device->handle, alsa_delay); 339 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_GET_DELAY(0x%.8x), data=%p): %i bytes.", vio, cmd, data, (int)(*(uint_least32_t*)data)); 340 } 341 break; 342 343 case ROAR_VIO_CTL_SET_SSTREAMID: 344 device->ssid = *(int *)data; 345 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_SSTREAMID(0x%.8x), data=%p): ssid=%i", vio, cmd, data, device->ssid); 346 break; 347 348 case ROAR_VIO_CTL_SET_SSTREAM: 349 device->sstream = data; 350 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_SSTREAM(0x%.8x), data=%p): sstream=%p", vio, cmd, data, device->sstream); 351 break; 352 353 case ROAR_VIO_CTL_GET_AUINFO: 354 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_GET_AUINFO(0x%.8x), data=%p) = ?", vio, cmd, data); 355 memcpy(data, &(device->info), sizeof(struct roar_audio_info)); 356 break; 357 358 case ROAR_VIO_CTL_SET_AUINFO: 359 ROAR_DBG("driver_alsa_ctl(vio=%p, cmd=ROAR_VIO_CTL_SET_AUINFO(0x%.8x), data=%p) = ?", vio, cmd, data); 360 memcpy(&(device->info), data, sizeof(struct roar_audio_info)); 361 return driver_alsa_reopen_device(device); 368 break; 362 369 363 370 default:
Note: See TracChangeset
for help on using the changeset viewer.