Lines Matching refs:aout

80 static void VolumeReport(audio_output_t *aout)  in VolumeReport()  argument
82 aout_sys_t *sys = aout->sys; in VolumeReport()
85 aout_VolumeReport(aout, (float)volume / PA_VOLUME_NORM); in VolumeReport()
92 audio_output_t *aout = userdata; in sink_add_cb() local
93 aout_sys_t *sys = aout->sys; in sink_add_cb()
102 msg_Dbg(aout, "adding sink %"PRIu32": %s (%s)", i->index, i->name, in sink_add_cb()
104 aout_HotplugReport(aout, i->name, i->description); in sink_add_cb()
120 audio_output_t *aout = userdata; in sink_mod_cb() local
126 msg_Dbg(aout, "changing sink %"PRIu32": %s (%s)", i->index, i->name, in sink_mod_cb()
128 aout_HotplugReport(aout, i->name, i->description); in sink_mod_cb()
131 static void sink_del(uint32_t index, audio_output_t *aout) in sink_del() argument
133 aout_sys_t *sys = aout->sys; in sink_del()
136 msg_Dbg(aout, "removing sink %"PRIu32, index); in sink_del()
142 aout_HotplugReport(aout, sink->name, NULL); in sink_del()
150 audio_output_t *aout) in sink_event() argument
158 aout); in sink_event()
162 aout); in sink_event()
165 sink_del(idx, aout); in sink_event()
174 static void stream_start_now(pa_stream *s, audio_output_t *aout) in stream_start_now() argument
178 assert (aout->sys->trigger == NULL); in stream_start_now()
188 static void stream_stop(pa_stream *s, audio_output_t *aout) in stream_stop() argument
190 aout_sys_t *sys = aout->sys; in stream_stop()
206 audio_output_t *aout = userdata; in stream_trigger_cb() local
207 aout_sys_t *sys = aout->sys; in stream_trigger_cb()
211 msg_Dbg(aout, "starting deferred"); in stream_trigger_cb()
214 stream_start_now(sys->stream, aout); in stream_trigger_cb()
224 static void stream_start(pa_stream *s, audio_output_t *aout) in stream_start() argument
226 aout_sys_t *sys = aout->sys; in stream_start()
236 delta = vlc_pa_get_latency(aout, sys->context, s); in stream_start()
238 msg_Dbg(aout, "cannot synchronize start"); in stream_start()
244 msg_Dbg(aout, "deferring start (%"PRId64" us)", delta); in stream_start()
247 stream_trigger_cb, aout); in stream_start()
249 msg_Warn(aout, "starting late (%"PRId64" us)", delta); in stream_start()
250 stream_start_now(s, aout); in stream_start()
256 audio_output_t *aout = userdata; in stream_latency_cb() local
257 aout_sys_t *sys = aout->sys; in stream_latency_cb()
263 stream_start(s, aout); in stream_latency_cb()
284 audio_output_t *aout = userdata; in stream_buffer_attr_cb() local
287 msg_Dbg(aout, "changed buffer metrics: maxlength=%u, tlength=%u, " in stream_buffer_attr_cb()
295 audio_output_t *aout = userdata; in stream_event_cb() local
298 aout_PolicyReport(aout, true); in stream_event_cb()
301 aout_PolicyReport(aout, false); in stream_event_cb()
305 msg_Dbg (aout, "format lost"); in stream_event_cb()
306 aout_RestartRequest (aout, AOUT_RESTART_OUTPUT); in stream_event_cb()
308 msg_Warn (aout, "unhandled stream event \"%s\"", name); in stream_event_cb()
315 audio_output_t *aout = userdata; in stream_moved_cb() local
318 msg_Dbg(aout, "connected to sink %s", name); in stream_moved_cb()
319 aout_DeviceReport(aout, name); in stream_moved_cb()
324 audio_output_t *aout = userdata; in stream_overflow_cb() local
325 aout_sys_t *sys = aout->sys; in stream_overflow_cb()
328 msg_Err(aout, "overflow, flushing"); in stream_overflow_cb()
338 audio_output_t *aout = userdata; in stream_started_cb() local
340 msg_Dbg(aout, "started"); in stream_started_cb()
346 audio_output_t *aout = userdata; in stream_suspended_cb() local
348 msg_Dbg(aout, "suspended"); in stream_suspended_cb()
354 audio_output_t *aout = userdata; in stream_underflow_cb() local
356 msg_Dbg(aout, "underflow"); in stream_underflow_cb()
377 audio_output_t *aout = userdata; in sink_input_info_cb() local
378 aout_sys_t *sys = aout->sys; in sink_input_info_cb()
385 VolumeReport(aout); in sink_input_info_cb()
386 aout_MuteReport(aout, i->mute); in sink_input_info_cb()
391 uint32_t idx, audio_output_t *aout) in sink_input_event() argument
399 msg_Err(aout, "sink input killed!"); in sink_input_event()
404 aout); in sink_input_event()
416 audio_output_t *aout = userdata; in context_cb() local
417 aout_sys_t *sys = aout->sys; in context_cb()
441 static int TimeGet(audio_output_t *aout, mtime_t *restrict delay) in TimeGet() argument
443 aout_sys_t *sys = aout->sys; in TimeGet()
450 mtime_t delta = vlc_pa_get_latency(aout, sys->context, s); in TimeGet()
488 static void Play(audio_output_t *aout, block_t *block) in Play() argument
490 aout_sys_t *sys = aout->sys; in Play()
510 stream_start(s, aout); in Play()
515 msg_Err(aout, "fault injection"); in Play()
521 vlc_pa_error(aout, "cannot write", sys->context); in Play()
531 static void Pause(audio_output_t *aout, bool paused, mtime_t date) in Pause() argument
533 aout_sys_t *sys = aout->sys; in Pause()
540 stream_stop(s, aout); in Pause()
542 pa_stream_set_latency_update_callback(s, stream_latency_cb, aout); in Pause()
544 stream_start_now(s, aout); in Pause()
554 static void Flush(audio_output_t *aout, bool wait) in Flush() argument
556 aout_sys_t *sys = aout->sys; in Flush()
573 stream_start_now(s, aout); in Flush()
583 if (TimeGet(aout, &delay) == 0 && delay <= INT64_C(5000000)) in Flush()
591 stream_stop(s, aout); in Flush()
596 static int VolumeSet(audio_output_t *aout, float vol) in VolumeSet() argument
598 aout_sys_t *sys = aout->sys; in VolumeSet()
615 aout_VolumeReport(aout, (float)volume / (float)PA_VOLUME_NORM); in VolumeSet()
625 msg_Warn(aout, "balance clobbered by volume change"); in VolumeSet()
643 static int MuteSet(audio_output_t *aout, bool mute) in MuteSet() argument
645 aout_sys_t *sys = aout->sys; in MuteSet()
652 aout_MuteReport(aout, mute); in MuteSet()
667 static int StreamMove(audio_output_t *aout, const char *name) in StreamMove() argument
669 aout_sys_t *sys = aout->sys; in StreamMove()
673 msg_Dbg(aout, "will connect to sink %s", name); in StreamMove()
676 aout_DeviceReport(aout, name); in StreamMove()
688 msg_Dbg(aout, "moving to sink %s", name); in StreamMove()
690 vlc_pa_error(aout, "cannot move sink input", sys->context); in StreamMove()
714 static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt) in Start() argument
716 aout_sys_t *sys = aout->sys; in Start()
790 msg_Err(aout, "unsupported sample specification"); in Start()
883 msg_Warn(aout, "mapping channel %"PRIu8" to AUX%u", map.channels, i); in Start()
887 msg_Err(aout, "unsupported channel map"); in Start()
891 msg_Dbg(aout, "using %s channel map", (name != NULL) ? name : "?"); in Start()
903 char *str = var_InheritString(aout, "role"); in Start()
934 vlc_pa_error(aout, "stream creation failure", sys->context); in Start()
940 pa_stream_set_buffer_attr_callback(s, stream_buffer_attr_cb, aout); in Start()
941 pa_stream_set_event_callback(s, stream_event_cb, aout); in Start()
942 pa_stream_set_latency_update_callback(s, stream_latency_cb, aout); in Start()
943 pa_stream_set_moved_callback(s, stream_moved_cb, aout); in Start()
944 pa_stream_set_overflow_callback(s, stream_overflow_cb, aout); in Start()
945 pa_stream_set_started_callback(s, stream_started_cb, aout); in Start()
946 pa_stream_set_suspended_callback(s, stream_suspended_cb, aout); in Start()
947 pa_stream_set_underflow_callback(s, stream_underflow_cb, aout); in Start()
953 vlc_pa_error(aout, "digital pass-through stream connection failure", in Start()
956 vlc_pa_error(aout, "stream connection failure", sys->context); in Start()
970 stream_buffer_attr_cb(s, aout); in Start()
971 stream_moved_cb(s, aout); in Start()
978 Stop(aout); in Start()
985 static void Stop(audio_output_t *aout) in Stop() argument
987 aout_sys_t *sys = aout->sys; in Stop()
1013 audio_output_t *aout = (audio_output_t *)obj; in Open() local
1034 aout->sys = sys; in Open()
1035 aout->start = Start; in Open()
1036 aout->stop = Stop; in Open()
1037 aout->time_get = TimeGet; in Open()
1038 aout->play = Play; in Open()
1039 aout->pause = Pause; in Open()
1040 aout->flush = Flush; in Open()
1041 aout->volume_set = VolumeSet; in Open()
1042 aout->mute_set = MuteSet; in Open()
1043 aout->device_select = StreamMove; in Open()
1047 op = pa_context_get_sink_info_list(sys->context, sink_add_cb, aout); in Open()
1058 pa_context_set_subscribe_callback(sys->context, context_cb, aout); in Open()
1069 audio_output_t *aout = (audio_output_t *)obj; in Close() local
1070 aout_sys_t *sys = aout->sys; in Close()