mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-11 13:30:02 -05:00
support time events with NULL timevals which are OK in avahi, but not in PA. This makes padevchooser actually work on top of the new avahi browsing stuff
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1076 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
7484b62e1e
commit
5529604147
1 changed files with 12 additions and 3 deletions
|
|
@ -139,7 +139,8 @@ static AvahiTimeout* timeout_new(const AvahiPoll *api, const struct timeval *tv,
|
|||
t->avahi_poll = p;
|
||||
t->callback = callback;
|
||||
t->userdata = userdata;
|
||||
t->time_event = p->mainloop->time_new(p->mainloop, tv, timeout_callback, t);
|
||||
|
||||
t->time_event = tv ? p->mainloop->time_new(p->mainloop, tv, timeout_callback, t) : NULL;
|
||||
|
||||
return t;
|
||||
}
|
||||
|
|
@ -147,12 +148,20 @@ static AvahiTimeout* timeout_new(const AvahiPoll *api, const struct timeval *tv,
|
|||
static void timeout_update(AvahiTimeout *t, const struct timeval *tv) {
|
||||
assert(t);
|
||||
|
||||
if (t->time_event && tv)
|
||||
t->avahi_poll->mainloop->time_restart(t->time_event, tv);
|
||||
else if (!t->time_event && tv)
|
||||
t->time_event = t->avahi_poll->mainloop->time_new(t->avahi_poll->mainloop, tv, timeout_callback, t);
|
||||
else if (t->time_event && !tv) {
|
||||
t->avahi_poll->mainloop->time_free(t->time_event);
|
||||
t->time_event = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void timeout_free(AvahiTimeout *t) {
|
||||
assert(t);
|
||||
|
||||
if (t->time_event)
|
||||
t->avahi_poll->mainloop->time_free(t->time_event);
|
||||
pa_xfree(t);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue