[pulseaudio-discuss] [patches] constification round #4 (pa_mainloop_api)

jnqnfe at gmail.com jnqnfe at gmail.com
Mon Jul 2 16:58:44 UTC 2018


On Fri, 2018-06-29 at 16:06 +0300, Tanu Kaskinen wrote:
> On Thu, 2018-06-28 at 04:08 +0100, jnqnfe at gmail.com wrote:
> > constification round #4 (pa_mainloop_api)
> > 
> > 26 patches in total. I attached a zipped copy also.
> > 
> > The first 19 avoid (client) API change; the final 7 do not and will
> > have to wait until ready and happy to do an API bump.
> > 
> > I'm not certain if there's a public API for 3rd-party modules, but
> > if
> > so then I can anticipate issue being taken with respect to
> > pa_iochannel_get_mainloop_api() in #14. Unpicking that though would
> > not
> > be so easy :/
> 
> There's no public API for modules.

Ok

> > It's possible for patches #21, #23 and #24 to be bumped down before
> > the
> > API change of #20, but as things are they are blocked by it and it
> > would require a temporary hack... #23 and #24 (utils) depend upon
> > pa_signal_init(), done in #21 which involves changing the
> > underlying
> > static; this depends upon changing pa_signal_destroy_cb_t (#20),
> > because of the way pa_signal_free() works (passing that static api
> > ref
> > to the destroy callback which requires non-const). Getting around
> > this
> > would require injecting a temporary hack into pa_signal_free()
> > giving
> > alternate means of obtaining a non-const api pointer - i.e. api
> > function pointer comparison would be necessary to tell us which
> > mainloop is in use, to then get what we need using the correct
> > *_get_api() with api->userdata.
> 
> We can't change the signatures of publicly declared callback types.
> That will cause incompatibilities (compiler warnings at least, which
> is
> bad enough) in applications.

Sure

> Therefore the only patch that I could
> apply is the first one.

But the types aren't changed until #19/26 ...


More information about the pulseaudio-discuss mailing list