}
}
-/* rate controller
+/* rate controller, called from main context
* - maximum deviation from base rate is less than 1%
* - can create audible artifacts by changing the rate too quickly
* - exhibits hunting with USB or Bluetooth sources
u->send_counter -= (int64_t) nbytes;
}
-/* Called from output thread context */
+/* Called from input thread context */
static int source_output_process_msg_cb(pa_msgobject *obj, int code, void *data, int64_t offset, pa_memchunk *chunk) {
struct userdata *u = PA_SOURCE_OUTPUT(obj)->userdata;
return pa_source_output_process_msg(obj, code, data, offset, chunk);
}
-/* Called from output thread context */
+/* Called from input thread context */
static void source_output_attach_cb(pa_source_output *o) {
struct userdata *u;
u->asyncmsgq);
}
-/* Called from output thread context */
+/* Called from input thread context */
static void source_output_detach_cb(pa_source_output *o) {
struct userdata *u;
}
}
-/* Called from output thread context */
+/* Called from input thread context */
static void source_output_state_change_cb(pa_source_output *o, pa_source_output_state_t state) {
struct userdata *u;