Lines Matching defs:info

158     audio_info_t info;
178 SolPcmInfo* info;
186 info = (SolPcmInfo*) malloc(sizeof(SolPcmInfo));
187 if (!info) {
191 memset(info, 0, sizeof(SolPcmInfo));
192 info->frameSize = frameSize;
193 info->fd = -1;
207 info->fd = open(desc.path, openMode);
209 if (info->fd < 0) {
211 free(info);
215 if (ioctl(info->fd, AUDIO_MIXER_MULTIPLE_OPEN, NULL) >= 0) {
221 AUDIO_INITINFO(&(info->info));
223 err = ioctl(info->fd, AUDIO_GETINFO, &(info->info));
226 AUDIO_INITINFO(&(info->info));
229 info->info.play.sample_rate = sampleRate;
230 info->info.play.precision = sampleSizeInBits;
231 info->info.play.channels = channels;
232 info->info.play.encoding = AUDIO_ENCODING_LINEAR;
233 info->info.play.buffer_size = bufferSizeInBytes;
234 info->info.play.pause = 1;
236 info->info.record.sample_rate = sampleRate;
237 info->info.record.precision = sampleSizeInBits;
238 info->info.record.channels = channels;
239 info->info.record.encoding = AUDIO_ENCODING_LINEAR;
240 info->info.record.buffer_size = bufferSizeInBytes;
241 info->info.record.pause = 1;
243 err = ioctl(info->fd, AUDIO_SETINFO, &(info->info));
245 ERROR0("DAUDIO_Open: could not set info!\n");
246 DAUDIO_Close((void*) info, isSource);
249 DAUDIO_Flush((void*) info, isSource);
251 err = ioctl(info->fd, AUDIO_GETINFO, &(info->info));
254 info->bufferSizeInBytes = info->info.play.buffer_size;
256 info->bufferSizeInBytes = info->info.record.buffer_size;
260 (int) info->bufferSizeInBytes);
262 ERROR0("DAUDIO_Open: cannot get info!\n");
263 DAUDIO_Close((void*) info, isSource);
267 return (void*) info;
272 SolPcmInfo* info = (SolPcmInfo*) id;
279 err = ioctl(info->fd, AUDIO_GETINFO, &audioInfo);
292 err = ioctl(info->fd, AUDIO_SETINFO, &audioInfo);
301 SolPcmInfo* info = (SolPcmInfo*) id;
308 err = ioctl(info->fd, AUDIO_GETINFO, &audioInfo);
321 err = ioctl(info->fd, AUDIO_SETINFO, &audioInfo);
330 SolPcmInfo* info = (SolPcmInfo*) id;
333 if (info != NULL) {
334 if (info->fd >= 0) {
336 close(info->fd);
338 free(info);
350 void resetErrorFlagAndAdjustPosition(SolPcmInfo* info, int isSource, int count) {
359 info->transferedBytes += count;
367 err = ioctl(info->fd, AUDIO_GETINFO, &audioInfo);
370 devBytes = prinfo->samples * info->frameSize;
376 (devBytes - info->transferedBytes));
379 (int) info->positionOffset,
380 (int) (info->positionOffset + info->transferedBytes));
382 (int) info->transferedBytes);
384 info->positionOffset += info->transferedBytes;
385 info->transferedBytes = 0;
387 else if (info->transferedBytes > POSITION_MAX) {
397 err = ioctl(info->fd, AUDIO_SETINFO, &audioInfo);
406 (int) info->transferedBytes,
407 (int) (info->transferedBytes - offset));
409 (int) (info->positionOffset),
410 (int) (((int) info->positionOffset) + offset));
411 info->transferedBytes -= offset;
412 info->positionOffset += offset;
422 SolPcmInfo* info = (SolPcmInfo*) id;
426 if (info!=NULL) {
427 ret = write(info->fd, data, byteSize);
428 resetErrorFlagAndAdjustPosition(info, TRUE, ret);
440 SolPcmInfo* info = (SolPcmInfo*) id;
444 if (info != NULL) {
445 ret = read(info->fd, data, byteSize);
446 resetErrorFlagAndAdjustPosition(info, TRUE, ret);
458 SolPcmInfo* info = (SolPcmInfo*) id;
459 if (info) {
460 return info->bufferSizeInBytes;
466 SolPcmInfo* info = (SolPcmInfo*) id;
471 if (info!=NULL) {
479 ioctl(info->fd, AUDIO_GETINFO, &audioInfo);
486 int getDevicePosition(SolPcmInfo* info, int isSource) {
497 err = ioctl(info->fd, AUDIO_GETINFO, &audioInfo);
502 return (int) (prinfo->samples * info->frameSize);
509 SolPcmInfo* info = (SolPcmInfo*) id;
514 if (info) {
516 err = ioctl(info->fd, I_FLUSH, FLUSHW);
518 err = ioctl(info->fd, I_FLUSH, FLUSHR);
524 pos = getDevicePosition(info, isSource);
526 info->transferedBytes = pos;
537 SolPcmInfo* info = (SolPcmInfo*) id;
541 if (info) {
547 pos = getDevicePosition(info, isSource);
553 ret = (info->bufferSizeInBytes) - (info->transferedBytes - pos);
558 ret = pos - info->transferedBytes;
560 if (ret > info->bufferSizeInBytes) {
562 (int) ret, (int) info->bufferSizeInBytes);
564 (int) pos, (int) info->transferedBytes);
565 ret = info->bufferSizeInBytes;
571 (int) pos, (int) info->transferedBytes);
582 SolPcmInfo* info = (SolPcmInfo*) id;
587 if (info) {
588 pos = getDevicePosition(info, isSource);
590 result = info->positionOffset + pos;
600 SolPcmInfo* info = (SolPcmInfo*) id;
604 if (info) {
605 pos = getDevicePosition(info, isSource);
607 info->positionOffset = javaBytePos - pos;