mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-02 09:01:46 -05:00
sink, source: Send notifications when flags change
The hooks aren't currently used, but for example, the D-Bus protocol could use them if it implemented flag change signals.
This commit is contained in:
parent
ed51769a59
commit
4096989ad6
3 changed files with 8 additions and 0 deletions
|
|
@ -74,6 +74,7 @@ typedef enum pa_core_hook {
|
|||
PA_CORE_HOOK_SINK_STATE_CHANGED,
|
||||
PA_CORE_HOOK_SINK_PROPLIST_CHANGED,
|
||||
PA_CORE_HOOK_SINK_PORT_CHANGED,
|
||||
PA_CORE_HOOK_SINK_FLAGS_CHANGED,
|
||||
PA_CORE_HOOK_SOURCE_NEW,
|
||||
PA_CORE_HOOK_SOURCE_FIXATE,
|
||||
PA_CORE_HOOK_SOURCE_PUT,
|
||||
|
|
@ -82,6 +83,7 @@ typedef enum pa_core_hook {
|
|||
PA_CORE_HOOK_SOURCE_STATE_CHANGED,
|
||||
PA_CORE_HOOK_SOURCE_PROPLIST_CHANGED,
|
||||
PA_CORE_HOOK_SOURCE_PORT_CHANGED,
|
||||
PA_CORE_HOOK_SOURCE_FLAGS_CHANGED,
|
||||
PA_CORE_HOOK_SINK_INPUT_NEW,
|
||||
PA_CORE_HOOK_SINK_INPUT_FIXATE,
|
||||
PA_CORE_HOOK_SINK_INPUT_PUT,
|
||||
|
|
|
|||
|
|
@ -784,6 +784,9 @@ void pa_sink_update_flags(pa_sink *s, pa_sink_flags_t mask, pa_sink_flags_t valu
|
|||
pa_log_debug("Sink %s: DYNAMIC_LATENCY flag %s.",
|
||||
s->name, (s->flags & PA_SINK_DYNAMIC_LATENCY) ? "enabled" : "disabled");
|
||||
|
||||
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_FLAGS_CHANGED], s);
|
||||
|
||||
if (s->monitor_source)
|
||||
pa_source_update_flags(s->monitor_source,
|
||||
((mask & PA_SINK_LATENCY) ? PA_SOURCE_LATENCY : 0) |
|
||||
|
|
|
|||
|
|
@ -710,6 +710,9 @@ void pa_source_update_flags(pa_source *s, pa_source_flags_t mask, pa_source_flag
|
|||
pa_log_debug("Source %s: DYNAMIC_LATENCY flag %s.",
|
||||
s->name, (s->flags & PA_SOURCE_DYNAMIC_LATENCY) ? "enabled" : "disabled");
|
||||
|
||||
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE | PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
|
||||
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_FLAGS_CHANGED], s);
|
||||
|
||||
PA_IDXSET_FOREACH(output, s->outputs, idx) {
|
||||
if (output->destination_source)
|
||||
pa_source_update_flags(output->destination_source, mask, value);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue