summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2010-10-04 11:48:43 +0100
committerColin Guthrie <cguthrie@mandriva.org>2010-10-06 09:17:01 +0100
commit3de129f3ac8dd6cf51178b266837db4d5e4a1215 (patch)
tree6eb09c59928b9748fdba6dd170c0ed75714e6f61 /src/pulsecore
parent5e442f4e0e6937c72997a9b9b66bf931b141ed0a (diff)
introspect: Include whether a stream is corked in the info callback.
Diffstat (limited to 'src/pulsecore')
-rw-r--r--src/pulsecore/protocol-native.c5
-rw-r--r--src/pulsecore/sink-input.c3
-rw-r--r--src/pulsecore/source-output.c6
3 files changed, 12 insertions, 2 deletions
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index adb995f0..85245a93 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -3079,6 +3079,8 @@ static void sink_input_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t,
pa_tagstruct_put_boolean(t, pa_sink_input_get_mute(s));
if (c->version >= 13)
pa_tagstruct_put_proplist(t, s->proplist);
+ if (c->version >= 19)
+ pa_tagstruct_put_boolean(t, (pa_sink_input_get_state(s) == PA_SINK_INPUT_CORKED));
}
static void source_output_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_source_output *s) {
@@ -3101,9 +3103,10 @@ static void source_output_fill_tagstruct(pa_native_connection *c, pa_tagstruct *
pa_tagstruct_put_usec(t, source_latency);
pa_tagstruct_puts(t, pa_resample_method_to_string(pa_source_output_get_resample_method(s)));
pa_tagstruct_puts(t, s->driver);
-
if (c->version >= 13)
pa_tagstruct_put_proplist(t, s->proplist);
+ if (c->version >= 19)
+ pa_tagstruct_put_boolean(t, (pa_source_output_get_state(s) == PA_SOURCE_OUTPUT_CORKED));
}
static void scache_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_scache_entry *e) {
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 190e2d01..fe840b88 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -470,6 +470,9 @@ static void sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state)
for (ssync = i->sync_next; ssync; ssync = ssync->sync_next)
pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_STATE_CHANGED], ssync);
+
+ if (PA_SINK_INPUT_IS_LINKED(state))
+ pa_subscription_post(i->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_CHANGE, i->index);
}
pa_sink_update_status(i->sink);
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 57ccc067..88731e76 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -291,9 +291,13 @@ static void source_output_set_state(pa_source_output *o, pa_source_output_state_
update_n_corked(o, state);
o->state = state;
- if (state != PA_SOURCE_OUTPUT_UNLINKED)
+ if (state != PA_SOURCE_OUTPUT_UNLINKED) {
pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED], o);
+ if (PA_SOURCE_OUTPUT_IS_LINKED(state))
+ pa_subscription_post(o->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
+ }
+
pa_source_update_status(o->source);
}