pulseaudio: subscribe to default sink changes
This commit is contained in:
parent
83c04fd245
commit
bd7ed9704f
@ -113,10 +113,15 @@ class PulseAudio(Module, ColorRangeModule):
|
|||||||
pa_context_set_subscribe_callback(context, self._update_cb, None)
|
pa_context_set_subscribe_callback(context, self._update_cb, None)
|
||||||
|
|
||||||
pa_operation_unref(pa_context_subscribe(
|
pa_operation_unref(pa_context_subscribe(
|
||||||
context, PA_SUBSCRIPTION_EVENT_CHANGE | PA_SUBSCRIPTION_MASK_SINK, self._success_cb, None))
|
context, PA_SUBSCRIPTION_EVENT_CHANGE | PA_SUBSCRIPTION_MASK_SINK | PA_SUBSCRIPTION_MASK_SERVER, self._success_cb, None))
|
||||||
|
|
||||||
def update_cb(self, context, t, idx, userdata):
|
def update_cb(self, context, t, idx, userdata):
|
||||||
"""A sink property changed, calls request_update"""
|
"""A sink property changed, calls request_update"""
|
||||||
|
|
||||||
|
if t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK == PA_SUBSCRIPTION_EVENT_SERVER:
|
||||||
|
pa_operation_unref(
|
||||||
|
pa_context_get_server_info(context, self._server_info_cb, None))
|
||||||
|
|
||||||
self.request_update(context)
|
self.request_update(context)
|
||||||
|
|
||||||
def sink_info_cb(self, context, sink_info_p, _, __):
|
def sink_info_cb(self, context, sink_info_p, _, __):
|
||||||
|
@ -18,7 +18,10 @@ PA_OPERATION_CANCELLED = 2
|
|||||||
PA_OPERATION_DONE = 1
|
PA_OPERATION_DONE = 1
|
||||||
PA_OPERATION_RUNNING = 0
|
PA_OPERATION_RUNNING = 0
|
||||||
PA_SUBSCRIPTION_EVENT_CHANGE = 16
|
PA_SUBSCRIPTION_EVENT_CHANGE = 16
|
||||||
|
PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 15
|
||||||
|
PA_SUBSCRIPTION_EVENT_SERVER = 7
|
||||||
PA_SUBSCRIPTION_MASK_SINK = 1
|
PA_SUBSCRIPTION_MASK_SINK = 1
|
||||||
|
PA_SUBSCRIPTION_MASK_SERVER = 0x80
|
||||||
|
|
||||||
|
|
||||||
class pa_sink_port_info(Structure):
|
class pa_sink_port_info(Structure):
|
||||||
|
Loading…
Reference in New Issue
Block a user