+
+void pa_source_output_set_name(struct pa_source_output *o, const char *name) {
+ assert(o && o->ref >= 1);
+ pa_xfree(o->name);
+ o->name = pa_xstrdup(name);
+
+ pa_subscription_post(o->source->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
+}
+
+pa_usec_t pa_source_output_get_latency(struct pa_source_output *o) {
+ assert(o && o->ref >= 1);
+
+ if (o->get_latency)
+ return o->get_latency(o);
+
+ return 0;
+}
+
+void pa_source_output_cork(struct pa_source_output *o, int b) {
+ assert(o && o->ref >= 1);
+
+ if (o->state == PA_SOURCE_OUTPUT_DISCONNECTED)
+ return;
+
+ o->state = b ? PA_SOURCE_OUTPUT_CORKED : PA_SOURCE_OUTPUT_RUNNING;
+}