• Home
  • Raw
  • Download

Lines Matching refs:out

255     const struct stream_out* out = (const struct stream_out*)stream;  in out_get_buffer_size()  local
257 proxy_get_period_size(&out->proxy) * audio_stream_out_frame_size(&(out->stream)); in out_get_buffer_size()
263 const struct stream_out *out = (const struct stream_out*)stream; in out_get_channels() local
264 return audio_channel_out_mask_from_count(out->hal_channel_count); in out_get_channels()
285 struct stream_out *out = (struct stream_out *)stream; in out_standby() local
287 pthread_mutex_lock(&out->dev->lock); in out_standby()
288 pthread_mutex_lock(&out->lock); in out_standby()
290 if (!out->standby) { in out_standby()
291 proxy_close(&out->proxy); in out_standby()
292 out->standby = true; in out_standby()
295 pthread_mutex_unlock(&out->lock); in out_standby()
296 pthread_mutex_unlock(&out->dev->lock); in out_standby()
310 struct stream_out *out = (struct stream_out *)stream; in out_set_parameters() local
320 pthread_mutex_lock(&out->dev->lock); in out_set_parameters()
321 pthread_mutex_lock(&out->lock); in out_set_parameters()
331 if (card >= 0 && device >= 0 && !profile_is_cached_for(out->profile, card, device)) { in out_set_parameters()
333 if (!out->standby) in out_set_parameters()
336 int saved_card = out->profile->card; in out_set_parameters()
337 int saved_device = out->profile->device; in out_set_parameters()
338 out->profile->card = card; in out_set_parameters()
339 out->profile->device = device; in out_set_parameters()
340 ret_value = profile_read_device_info(out->profile) ? 0 : -EINVAL; in out_set_parameters()
342 out->profile->card = saved_card; in out_set_parameters()
343 out->profile->device = saved_device; in out_set_parameters()
348 pthread_mutex_unlock(&out->lock); in out_set_parameters()
349 pthread_mutex_unlock(&out->dev->lock); in out_set_parameters()
357 struct stream_out *out = (struct stream_out *)stream; in out_get_parameters() local
358 pthread_mutex_lock(&out->dev->lock); in out_get_parameters()
359 pthread_mutex_lock(&out->lock); in out_get_parameters()
361 char * params_str = device_get_parameters(out->profile, keys); in out_get_parameters()
363 pthread_mutex_unlock(&out->lock); in out_get_parameters()
364 pthread_mutex_unlock(&out->dev->lock); in out_get_parameters()
381 static int start_output_stream(struct stream_out *out) in start_output_stream() argument
384 out->profile->card, out->profile->device); in start_output_stream()
386 return proxy_open(&out->proxy); in start_output_stream()
392 struct stream_out *out = (struct stream_out *)stream; in out_write() local
394 pthread_mutex_lock(&out->dev->lock); in out_write()
395 pthread_mutex_lock(&out->lock); in out_write()
396 if (out->standby) { in out_write()
397 ret = start_output_stream(out); in out_write()
399 pthread_mutex_unlock(&out->dev->lock); in out_write()
402 out->standby = false; in out_write()
404 pthread_mutex_unlock(&out->dev->lock); in out_write()
406 alsa_device_proxy* proxy = &out->proxy; in out_write()
410 const int num_req_channels = out->hal_channel_count; /* what we told AudioFlinger */ in out_write()
415 if (required_conversion_buffer_size > out->conversion_buffer_size) { in out_write()
416 out->conversion_buffer_size = required_conversion_buffer_size; in out_write()
417 out->conversion_buffer = realloc(out->conversion_buffer, in out_write()
418 out->conversion_buffer_size); in out_write()
421 const audio_format_t audio_format = out_get_format(&(out->stream.common)); in out_write()
425 out->conversion_buffer, num_device_channels, in out_write()
427 write_buff = out->conversion_buffer; in out_write()
431 proxy_write(&out->proxy, write_buff, num_write_buff_bytes); in out_write()
434 pthread_mutex_unlock(&out->lock); in out_write()
439 pthread_mutex_unlock(&out->lock); in out_write()
488 struct stream_out *out; in adev_open_output_stream() local
490 out = (struct stream_out *)calloc(1, sizeof(struct stream_out)); in adev_open_output_stream()
491 if (!out) in adev_open_output_stream()
495 out->stream.common.get_sample_rate = out_get_sample_rate; in adev_open_output_stream()
496 out->stream.common.set_sample_rate = out_set_sample_rate; in adev_open_output_stream()
497 out->stream.common.get_buffer_size = out_get_buffer_size; in adev_open_output_stream()
498 out->stream.common.get_channels = out_get_channels; in adev_open_output_stream()
499 out->stream.common.get_format = out_get_format; in adev_open_output_stream()
500 out->stream.common.set_format = out_set_format; in adev_open_output_stream()
501 out->stream.common.standby = out_standby; in adev_open_output_stream()
502 out->stream.common.dump = out_dump; in adev_open_output_stream()
503 out->stream.common.set_parameters = out_set_parameters; in adev_open_output_stream()
504 out->stream.common.get_parameters = out_get_parameters; in adev_open_output_stream()
505 out->stream.common.add_audio_effect = out_add_audio_effect; in adev_open_output_stream()
506 out->stream.common.remove_audio_effect = out_remove_audio_effect; in adev_open_output_stream()
507 out->stream.get_latency = out_get_latency; in adev_open_output_stream()
508 out->stream.set_volume = out_set_volume; in adev_open_output_stream()
509 out->stream.write = out_write; in adev_open_output_stream()
510 out->stream.get_render_position = out_get_render_position; in adev_open_output_stream()
511 out->stream.get_presentation_position = out_get_presentation_position; in adev_open_output_stream()
512 out->stream.get_next_write_timestamp = out_get_next_write_timestamp; in adev_open_output_stream()
514 out->dev = adev; in adev_open_output_stream()
516 out->profile = &adev->out_profile; in adev_open_output_stream()
526 proxy_config.rate = config->sample_rate = profile_get_default_sample_rate(out->profile); in adev_open_output_stream()
527 } else if (profile_is_sample_rate_valid(out->profile, config->sample_rate)) { in adev_open_output_stream()
530 proxy_config.rate = config->sample_rate = profile_get_default_sample_rate(out->profile); in adev_open_output_stream()
536 proxy_config.format = profile_get_default_format(out->profile); in adev_open_output_stream()
540 if (profile_is_format_valid(out->profile, fmt)) { in adev_open_output_stream()
543 proxy_config.format = profile_get_default_format(out->profile); in adev_open_output_stream()
550 unsigned proposed_channel_count = profile_get_default_channel_count(out->profile); in adev_open_output_stream()
558 out->hal_channel_count = proposed_channel_count; in adev_open_output_stream()
563 proxy_prepare(&out->proxy, out->profile, &proxy_config); in adev_open_output_stream()
568 out->conversion_buffer = NULL; in adev_open_output_stream()
569 out->conversion_buffer_size = 0; in adev_open_output_stream()
571 out->standby = true; in adev_open_output_stream()
573 *stream_out = &out->stream; in adev_open_output_stream()
578 free(out); in adev_open_output_stream()
587 struct stream_out *out = (struct stream_out *)stream; in adev_close_output_stream() local
592 free(out->conversion_buffer); in adev_close_output_stream()
594 out->conversion_buffer = NULL; in adev_close_output_stream()
595 out->conversion_buffer_size = 0; in adev_close_output_stream()