Lines Matching defs:stream_out
212 struct stream_out { struct
213 struct audio_stream_out stream; argument
214 pthread_mutex_t lock; /* see note below on mutex acquisition order */
215 pthread_mutex_t pre_lock; /* acquire before lock to avoid DOS by playback thread */
216 pthread_mutex_t compr_mute_lock; /* acquire before setting compress volume */
217 pthread_cond_t cond;
218 struct pcm_config config;
219 struct compr_config compr_config;
220 struct pcm *pcm;
221 struct compress *compr;
222 int standby;
223 int pcm_device_id;
224 unsigned int sample_rate;
225 audio_channel_mask_t channel_mask;
226 audio_format_t format;
227 audio_devices_t devices;
228 audio_output_flags_t flags;
229 audio_usecase_t usecase;
231 audio_channel_mask_t supported_channel_masks[MAX_SUPPORTED_CHANNEL_MASKS + 1];
232 audio_format_t supported_formats[MAX_SUPPORTED_FORMATS + 1];
233 uint32_t supported_sample_rates[MAX_SUPPORTED_SAMPLE_RATES + 1];
234 bool muted;
235 uint64_t written; /* total frames written, not cleared when entering standby */
236 int64_t mmap_time_offset_nanos; /* fudge factor to correct inaccuracies in DSP */
237 int mmap_shared_memory_fd; /* file descriptor associated with MMAP NOIRQ shared memory */
238 audio_io_handle_t handle;
240 int non_blocking;
241 int playback_started;
242 int offload_state;
243 pthread_cond_t offload_cond;
244 pthread_t offload_thread;
245 struct listnode offload_cmd_list;
246 bool offload_thread_blocked;
248 stream_callback_t offload_callback;
249 void *offload_cookie;
250 struct compr_gapless_mdata gapless_mdata;
251 int send_new_metadata;
252 bool realtime;
253 int af_period_multiplier;
254 struct audio_device *dev;
255 card_status_t card_status;
256 bool a2dp_compress_mute;
257 float volume_l;
258 float volume_r;
260 error_log_t *error_log;
262 struct stream_app_type_cfg app_type_cfg;
264 size_t kernel_buffer_size; // cached value of the alsa buffer size, const after open().
267 bool last_fifo_valid;
268 unsigned int last_fifo_frames_remaining;
269 int64_t last_fifo_time_ns;
271 simple_stats_t fifo_underruns; // TODO: keep a list of the last N fifo underrun times.
272 simple_stats_t start_latency_ms;