Changeset 1590:07fa8c4493e4 in roaraudio
- Timestamp:
- 04/16/09 16:33:51 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vio.h
r1529 r1590 85 85 #define ROAR_VIO_CTL_GET_DBLKSIZE (ROAR_VIO_CTL_DRIVER|0x0003) /* get Driver Blocks size (in byte) */ 86 86 #define ROAR_VIO_CTL_SET_DBLKSIZE (ROAR_VIO_CTL_DRIVER|0x0004) /* set Driver Blocks size (in byte) */ 87 #define ROAR_VIO_CTL_GET_VOLUME (ROAR_VIO_CTL_DRIVER|ROAR_VIO_CTL_GET|0x10) 88 #define ROAR_VIO_CTL_SET_VOLUME (ROAR_VIO_CTL_DRIVER|ROAR_VIO_CTL_SET|0x10) 87 89 88 90 // sys io: -
roard/driver.c
r1543 r1590 219 219 } 220 220 221 int driver_set_volume(int stream, struct roar_mixer_settings * mixer) { 222 struct roar_stream_server * ss; 223 224 if ( (ss = g_streams[stream]) == NULL ) 225 return -1; 226 227 if ( !streams_get_flag(stream, ROAR_FLAG_HWMIXER) ) 228 return 0; 229 230 if ( ss->driver_id == -1 ) 231 return -1; 232 233 return roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_SET_VOLUME, (void*)mixer); 234 } 235 221 236 //ll -
roard/include/driver.h
r1543 r1590 111 111 int driver_read (DRIVER_USERDATA_T inst, int driver, char * buf, int len); 112 112 int driver_flush(DRIVER_USERDATA_T inst, int driver); 113 int driver_set_volume(int stream, struct roar_mixer_settings * mixer); 113 114 114 115 #endif -
roard/include/streams.h
r1493 r1590 98 98 99 99 int streams_calc_delay (int id); 100 int streams_set_mixer (int id); 100 101 101 102 int streams_ctl (int id, int_least32_t cmd, void * data); -
roard/req.c
r1493 r1590 666 666 } 667 667 668 if ( streams_set_mixer(stream) == -1 ) 669 return -1; 670 668 671 mes->cmd = ROAR_CMD_OK; 669 672 mes->datalen = 0; -
roard/streams.c
r1585 r1590 328 328 329 329 if ( flag & ROAR_FLAG_HWMIXER ) { // currently not supported -> ignored 330 flag -= ROAR_FLAG_HWMIXER; 330 g_streams[id]->flags |= flag; 331 if ( streams_set_mixer(id) == -1 ) { 332 g_streams[id]->flags -= flag; 333 return -1; 334 } 331 335 } 332 336 … … 399 403 400 404 return 0; 405 } 406 407 int streams_set_mixer (int id) { 408 struct roar_stream_server * ss; 409 410 if ( (ss = g_streams[id]) == NULL ) 411 return -1; 412 413 if ( !streams_get_flag(id, ROAR_FLAG_HWMIXER) ) 414 return 0; 415 416 if ( ss->driver_id == -1 ) 417 return 0; 418 419 return driver_set_volume(id, &(ss->mixer)); 401 420 } 402 421 … … 619 638 } 620 639 621 if ( change_vol(rest, info->bits, rest, 8*outlen / info->bits, info->channels, &(stream->mixer)) == -1 ) 622 return -1; 640 if ( !streams_get_flag(id, ROAR_FLAG_HWMIXER) ) { 641 if ( change_vol(rest, info->bits, rest, 8*outlen / info->bits, info->channels, &(stream->mixer)) == -1 ) 642 return -1; 643 } 623 644 624 645 // we habe outlen bytes more...
Note: See TracChangeset
for help on using the changeset viewer.