Changeset 3658:d506b1a30a24 in roaraudio for plugins/alsa
- Timestamp:
- 04/03/10 15:07:08 (14 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- plugins/alsa
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/alsa/pcm.c
r3517 r3658 83 83 84 84 static int roar_pcm_dummy (snd_pcm_ioplug_t * io) { 85 ROAR_DBG("roar_pcm_dummy(*) = ?");85 ROAR_DBG("roar_pcm_dummy(*) = 0"); 86 86 return 0; 87 87 } 88 88 89 89 static snd_pcm_sframes_t roar_pcm_pointer(snd_pcm_ioplug_t *io) { 90 struct roar_alsa_pcm * self = io->private_data; 91 90 92 ROAR_DBG("roar_pcm_pointer(*) = ?"); 91 return 0; 93 94 return snd_pcm_bytes_to_frames(io->pcm, self->writec); 92 95 } 93 96 … … 99 102 struct roar_alsa_pcm * self = io->private_data; 100 103 char * buf; 104 size_t len = size * self->info.channels * self->info.bits / 8; 105 ssize_t ret; 101 106 102 107 ROAR_DBG("roar_pcm_transfer(*) = ?"); 108 ROAR_DBG("roar_pcm_transfer(*): len=%lu", (long unsigned int) len); 103 109 104 110 buf = (char *)areas->addr + (areas->first + areas->step * offset) / 8; 105 111 106 roar_vio_write(&(self->stream_vio), buf, size * self->info.channels * self->info.bits / 8); 107 112 ret = roar_vio_write(&(self->stream_vio), buf, len); 113 114 if ( ret != -1 ) 115 self->writec += ret; 116 117 ROAR_DBG("roar_pcm_transfer(*) = %lli", (long long int)size); 108 118 return size; 109 119 } … … 124 134 } 125 135 136 #if 0 126 137 if ( roar_stream_new(&(self->stream), self->info.rate, self->info.channels, self->info.bits, self->info.codec) == -1 ) { 127 138 return -EINVAL; … … 131 142 return -EINVAL; 132 143 } 144 #endif 145 if ( roar_vio_simple_new_stream_obj(&(self->stream_vio), &(self->roar.con), &(self->stream), 146 self->info.rate, self->info.channels, self->info.bits, self->info.codec, 147 io->stream == SND_PCM_STREAM_PLAYBACK ? ROAR_DIR_PLAY : ROAR_DIR_MONITOR 148 ) == -1 ) { 149 return -EINVAL; 150 } 133 151 134 152 self->stream_opened = 1; 135 153 136 return -ENOSYS; 154 ROAR_DBG("roar_pcm_prepare(*) = 0"); 155 return 0; 137 156 } 138 157 … … 170 189 } 171 190 191 ROAR_DBG("roar_pcm_hw_params(*) = 0"); 172 192 return 0; 173 193 } … … 197 217 .prepare = roar_pcm_prepare, 198 218 .hw_params = roar_pcm_hw_params, 219 .hw_free = NULL, 220 .sw_params = NULL, 221 .pause = NULL, 222 .resume = NULL, 223 .dump = NULL, 199 224 .close = roar_pcm_close, 200 225 }; … … 261 286 } 262 287 288 *pcmp = self->io.pcm; 289 263 290 ROAR_DBG("SND_PCM_PLUGIN_DEFINE_FUNC(roar) = 0"); 264 291 … … 269 296 270 297 int __snd_pcm_roar_open_dlsym_pcm_001 (void) { 298 ROAR_DBG("__snd_pcm_roar_open_dlsym_pcm_001(void) = 0"); 271 299 return 0; 272 300 } -
plugins/alsa/roar.h
r3517 r3658 57 57 struct roar_vio_calls stream_vio; 58 58 int stream_opened; 59 size_t writec; 59 60 }; 60 61
Note: See TracChangeset
for help on using the changeset viewer.