We have both sink and source in this module.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@613 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Pierre Ossman 2006-02-27 09:20:25 +00:00
parent e8b3819ac8
commit 4756d186ab

View file

@ -221,17 +221,32 @@ static void sig_callback(pa_mainloop_api *api, pa_signal_event*e, int sig, void
struct userdata *u = userdata; struct userdata *u = userdata;
pa_cvolume old_vol; pa_cvolume old_vol;
assert(u && u->sink && u->sink->get_hw_volume); assert(u);
do_write(u); do_write(u);
memcpy(&old_vol, &u->sink->hw_volume, sizeof(pa_cvolume)); if (u->sink) {
if (u->sink->get_hw_volume(u->sink) < 0) assert(u->sink->get_hw_volume);
return; memcpy(&old_vol, &u->sink->hw_volume, sizeof(pa_cvolume));
if (memcmp(&old_vol, &u->sink->hw_volume, sizeof(pa_cvolume)) != 0) { if (u->sink->get_hw_volume(u->sink) < 0)
pa_subscription_post(u->sink->core, return;
PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, if (memcmp(&old_vol, &u->sink->hw_volume, sizeof(pa_cvolume)) != 0) {
u->sink->index); pa_subscription_post(u->sink->core,
PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE,
u->sink->index);
}
}
if (u->source) {
assert(u->source->get_hw_volume);
memcpy(&old_vol, &u->source->hw_volume, sizeof(pa_cvolume));
if (u->source->get_hw_volume(u->source) < 0)
return;
if (memcmp(&old_vol, &u->source->hw_volume, sizeof(pa_cvolume)) != 0) {
pa_subscription_post(u->source->core,
PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE,
u->source->index);
}
} }
} }