mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-09 13:29:59 -05:00
add hooks for name/description changes of sinks/source and streams
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1897 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
ef020c6e89
commit
e37fa011ac
5 changed files with 22 additions and 6 deletions
|
|
@ -47,22 +47,26 @@ typedef enum pa_core_hook {
|
||||||
PA_CORE_HOOK_SINK_UNLINK,
|
PA_CORE_HOOK_SINK_UNLINK,
|
||||||
PA_CORE_HOOK_SINK_UNLINK_POST,
|
PA_CORE_HOOK_SINK_UNLINK_POST,
|
||||||
PA_CORE_HOOK_SINK_STATE_CHANGED,
|
PA_CORE_HOOK_SINK_STATE_CHANGED,
|
||||||
|
PA_CORE_HOOK_SINK_DESCRIPTION_CHANGED,
|
||||||
PA_CORE_HOOK_SOURCE_NEW_POST,
|
PA_CORE_HOOK_SOURCE_NEW_POST,
|
||||||
PA_CORE_HOOK_SOURCE_UNLINK,
|
PA_CORE_HOOK_SOURCE_UNLINK,
|
||||||
PA_CORE_HOOK_SOURCE_UNLINK_POST,
|
PA_CORE_HOOK_SOURCE_UNLINK_POST,
|
||||||
PA_CORE_HOOK_SOURCE_STATE_CHANGED,
|
PA_CORE_HOOK_SOURCE_STATE_CHANGED,
|
||||||
|
PA_CORE_HOOK_SOURCE_DESCRIPTION_CHANGED,
|
||||||
PA_CORE_HOOK_SINK_INPUT_NEW,
|
PA_CORE_HOOK_SINK_INPUT_NEW,
|
||||||
PA_CORE_HOOK_SINK_INPUT_PUT,
|
PA_CORE_HOOK_SINK_INPUT_PUT,
|
||||||
PA_CORE_HOOK_SINK_INPUT_UNLINK,
|
PA_CORE_HOOK_SINK_INPUT_UNLINK,
|
||||||
PA_CORE_HOOK_SINK_INPUT_UNLINK_POST,
|
PA_CORE_HOOK_SINK_INPUT_UNLINK_POST,
|
||||||
PA_CORE_HOOK_SINK_INPUT_MOVE,
|
PA_CORE_HOOK_SINK_INPUT_MOVE,
|
||||||
PA_CORE_HOOK_SINK_INPUT_MOVE_POST,
|
PA_CORE_HOOK_SINK_INPUT_MOVE_POST,
|
||||||
|
PA_CORE_HOOK_SINK_INPUT_NAME_CHANGED,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_NEW,
|
PA_CORE_HOOK_SOURCE_OUTPUT_NEW,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_PUT,
|
PA_CORE_HOOK_SOURCE_OUTPUT_PUT,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK,
|
PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK_POST,
|
PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK_POST,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_MOVE,
|
PA_CORE_HOOK_SOURCE_OUTPUT_MOVE,
|
||||||
PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_POST,
|
PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_POST,
|
||||||
|
PA_CORE_HOOK_SOURCE_OUTPUT_NAME_CHANGED,
|
||||||
PA_CORE_HOOK_MAX
|
PA_CORE_HOOK_MAX
|
||||||
} pa_core_hook_t;
|
} pa_core_hook_t;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -683,7 +683,10 @@ void pa_sink_input_set_name(pa_sink_input *i, const char *name) {
|
||||||
pa_xfree(i->name);
|
pa_xfree(i->name);
|
||||||
i->name = pa_xstrdup(name);
|
i->name = pa_xstrdup(name);
|
||||||
|
|
||||||
|
if (PA_SINK_INPUT_LINKED(i->state)) {
|
||||||
|
pa_hook_fire(&i->sink->core->hooks[PA_CORE_HOOK_SINK_INPUT_NAME_CHANGED], i);
|
||||||
pa_subscription_post(i->sink->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_CHANGE, i->index);
|
pa_subscription_post(i->sink->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_CHANGE, i->index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {
|
pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {
|
||||||
|
|
|
||||||
|
|
@ -764,7 +764,10 @@ void pa_sink_set_description(pa_sink *s, const char *description) {
|
||||||
pa_xfree(n);
|
pa_xfree(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (PA_SINK_LINKED(s->state)) {
|
||||||
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
||||||
|
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_DESCRIPTION_CHANGED], s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned pa_sink_linked_by(pa_sink *s) {
|
unsigned pa_sink_linked_by(pa_sink *s) {
|
||||||
|
|
|
||||||
|
|
@ -356,7 +356,10 @@ void pa_source_output_set_name(pa_source_output *o, const char *name) {
|
||||||
pa_xfree(o->name);
|
pa_xfree(o->name);
|
||||||
o->name = pa_xstrdup(name);
|
o->name = pa_xstrdup(name);
|
||||||
|
|
||||||
|
if (PA_SOURCE_OUTPUT_LINKED(o->state)) {
|
||||||
|
pa_hook_fire(&o->source->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_NAME_CHANGED], o);
|
||||||
pa_subscription_post(o->source->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
|
pa_subscription_post(o->source->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {
|
pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {
|
||||||
|
|
|
||||||
|
|
@ -418,7 +418,10 @@ void pa_source_set_description(pa_source *s, const char *description) {
|
||||||
pa_xfree(s->description);
|
pa_xfree(s->description);
|
||||||
s->description = pa_xstrdup(description);
|
s->description = pa_xstrdup(description);
|
||||||
|
|
||||||
|
if (PA_SOURCE_LINKED(s->state)) {
|
||||||
|
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_DESCRIPTION_CHANGED], s);
|
||||||
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pa_source_set_asyncmsgq(pa_source *s, pa_asyncmsgq *q) {
|
void pa_source_set_asyncmsgq(pa_source *s, pa_asyncmsgq *q) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue