Lines Matching refs:stream

79     struct audio_stream_out stream;
88 alsa_device_proxy proxy; /* state of the stream */
110 struct audio_stream_in stream;
119 alsa_device_proxy proxy; /* state of the stream */
147 * stream pre_lock is always acquired before stream lock to prevent starvation of control thread by
282 * following order: hw device > out stream
288 static uint32_t out_get_sample_rate(const struct audio_stream *stream)
290 uint32_t rate = proxy_get_sample_rate(&((struct stream_out*)stream)->proxy);
295 static int out_set_sample_rate(struct audio_stream *stream, uint32_t rate)
300 static size_t out_get_buffer_size(const struct audio_stream *stream)
302 const struct stream_out* out = (const struct stream_out*)stream;
304 proxy_get_period_size(&out->proxy) * audio_stream_out_frame_size(&(out->stream));
308 static uint32_t out_get_channels(const struct audio_stream *stream)
310 const struct stream_out *out = (const struct stream_out*)stream;
314 static audio_format_t out_get_format(const struct audio_stream *stream)
320 alsa_device_proxy * proxy = &((struct stream_out*)stream)->proxy;
325 static int out_set_format(struct audio_stream *stream, audio_format_t format)
330 static int out_standby(struct audio_stream *stream)
332 struct stream_out *out = (struct stream_out *)stream;
345 static int out_dump(const struct audio_stream *stream, int fd) {
346 const struct stream_out* out_stream = (const struct stream_out*) stream;
359 static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)
363 struct stream_out *out = (struct stream_out *)stream;
402 static char * out_get_parameters(const struct audio_stream *stream, const char *keys)
404 struct stream_out *out = (struct stream_out *)stream;
415 static uint32_t out_get_latency(const struct audio_stream_out *stream)
417 alsa_device_proxy * proxy = &((struct stream_out*)stream)->proxy;
421 static int out_set_volume(struct audio_stream_out *stream, float left, float right)
426 /* must be called with hw device and output stream mutexes locked */
434 static ssize_t out_write(struct audio_stream_out *stream, const void* buffer, size_t bytes)
437 struct stream_out *out = (struct stream_out *)stream;
465 const audio_format_t audio_format = out_get_format(&(out->stream.common));
485 usleep(bytes * 1000000 / audio_stream_out_frame_size(stream) /
486 out_get_sample_rate(&stream->common));
492 static int out_get_render_position(const struct audio_stream_out *stream, uint32_t *dsp_frames)
497 static int out_get_presentation_position(const struct audio_stream_out *stream,
500 struct stream_out *out = (struct stream_out *)stream; // discard const qualifier
510 static int out_add_audio_effect(const struct audio_stream *stream, effect_handle_t effect)
515 static int out_remove_audio_effect(const struct audio_stream *stream, effect_handle_t effect)
520 static int out_get_next_write_timestamp(const struct audio_stream_out *stream, int64_t *timestamp)
544 out->stream.common.get_sample_rate = out_get_sample_rate;
545 out->stream.common.set_sample_rate = out_set_sample_rate;
546 out->stream.common.get_buffer_size = out_get_buffer_size;
547 out->stream.common.get_channels = out_get_channels;
548 out->stream.common.get_format = out_get_format;
549 out->stream.common.set_format = out_set_format;
550 out->stream.common.standby = out_standby;
551 out->stream.common.dump = out_dump;
552 out->stream.common.set_parameters = out_set_parameters;
553 out->stream.common.get_parameters = out_get_parameters;
554 out->stream.common.add_audio_effect = out_add_audio_effect;
555 out->stream.common.remove_audio_effect = out_remove_audio_effect;
556 out->stream.get_latency = out_get_latency;
557 out->stream.set_volume = out_set_volume;
558 out->stream.write = out_write;
559 out->stream.get_render_position = out_get_render_position;
560 out->stream.get_presentation_position = out_get_presentation_position;
561 out->stream.get_next_write_timestamp = out_get_next_write_timestamp;
651 /* Save the stream for adev_dump() */
654 *stream_out = &out->stream;
665 struct audio_stream_out *stream)
667 struct stream_out *out = (struct stream_out *)stream;
673 out_standby(&stream->common);
684 free(stream);
697 static uint32_t in_get_sample_rate(const struct audio_stream *stream)
699 uint32_t rate = proxy_get_sample_rate(&((const struct stream_in *)stream)->proxy);
704 static int in_set_sample_rate(struct audio_stream *stream, uint32_t rate)
710 static size_t in_get_buffer_size(const struct audio_stream *stream)
712 const struct stream_in * in = ((const struct stream_in*)stream);
713 return proxy_get_period_size(&in->proxy) * audio_stream_in_frame_size(&(in->stream));
716 static uint32_t in_get_channels(const struct audio_stream *stream)
718 const struct stream_in *in = (const struct stream_in*)stream;
722 static audio_format_t in_get_format(const struct audio_stream *stream)
724 alsa_device_proxy *proxy = &((struct stream_in*)stream)->proxy;
729 static int in_set_format(struct audio_stream *stream, audio_format_t format)
736 static int in_standby(struct audio_stream *stream)
738 struct stream_in *in = (struct stream_in *)stream;
753 static int in_dump(const struct audio_stream *stream, int fd)
755 const struct stream_in* in_stream = (const struct stream_in*)stream;
767 static int in_set_parameters(struct audio_stream *stream, const char *kvpairs)
771 struct stream_in *in = (struct stream_in *)stream;
811 static char * in_get_parameters(const struct audio_stream *stream, const char *keys)
813 struct stream_in *in = (struct stream_in *)stream;
826 static int in_add_audio_effect(const struct audio_stream *stream, effect_handle_t effect)
831 static int in_remove_audio_effect(const struct audio_stream *stream, effect_handle_t effect)
836 static int in_set_gain(struct audio_stream_in *stream, float gain)
841 /* must be called with hw device and output stream mutexes locked */
850 static ssize_t in_read(struct audio_stream_in *stream, void* buffer, size_t bytes)
857 struct stream_in * in = (struct stream_in *)stream;
903 audio_format_t audio_format = in_get_format(&(in->stream.common));
925 static uint32_t in_get_input_frames_lost(struct audio_stream_in *stream)
950 in->stream.common.get_sample_rate = in_get_sample_rate;
951 in->stream.common.set_sample_rate = in_set_sample_rate;
952 in->stream.common.get_buffer_size = in_get_buffer_size;
953 in->stream.common.get_channels = in_get_channels;
954 in->stream.common.get_format = in_get_format;
955 in->stream.common.set_format = in_set_format;
956 in->stream.common.standby = in_standby;
957 in->stream.common.dump = in_dump;
958 in->stream.common.set_parameters = in_set_parameters;
959 in->stream.common.get_parameters = in_get_parameters;
960 in->stream.common.add_audio_effect = in_add_audio_effect;
961 in->stream.common.remove_audio_effect = in_remove_audio_effect;
963 in->stream.set_gain = in_set_gain;
964 in->stream.read = in_read;
965 in->stream.get_input_frames_lost = in_get_input_frames_lost;
1063 *stream_in = &in->stream;
1079 // Deallocate this stream on error, because AudioFlinger won't call
1089 struct audio_stream_in *stream)
1091 struct stream_in *in = (struct stream_in *)stream;
1097 in_standby(&stream->common);
1101 free(stream);
1172 struct audio_stream* stream =
1174 out_dump(stream, fd);
1183 struct audio_stream* stream =
1185 in_dump(stream, fd);