On Mon, Aug 08, 2011 at 05:31:39PM +0800, David Henningsson wrote: > On 2011-07-07 13:23, David Henningsson wrote: > > diff --git a/src/pulse/introspect.h b/src/pulse/introspect.h > > index 8e4cc97..259c57b 100644 > > --- a/src/pulse/introspect.h > > +++ b/src/pulse/introspect.h > > @@ -452,6 +452,10 @@ typedef struct pa_card_profile_info { > > uint32_t n_sinks; /**< Number of sinks this profile would create */ > > uint32_t n_sources; /**< Number of sources this profile would create */ > > uint32_t priority; /**< The higher this value is the more useful this profile is as a default */ > > + uint32_t n_sink_ports; /**< Number of entries in sink_ports array \since MERGE_OF_JACK_DETECTION */ > > + pa_sink_port_info** sink_ports; /**< Array of available output ports, or NULL. Array is terminated by an entry set to NULL. The number of entries is stored in n_sink_ports. \since MERGE_OF_JACK_DETECTION */ > > + uint32_t n_source_ports; /**< Number of entries in source_ports array \since MERGE_OF_JACK_DETECTION */ > > + pa_source_port_info** source_ports; /**< Array of available input ports, or NULL. Array is terminated by an entry set to NULL. The number of entries is stored in n_source_ports. \since MERGE_OF_JACK_DETECTION */ > > } pa_card_profile_info; > > I think I figured out why the addition above breaks the ABI: It's What's the symptom of your breaking? I'm not sure whether they fall into the same category but I'd like to point this out. I met with some weird issues when I add some new fields in `struct userdata` in alsa-sink.c, the problem is the module segfaults when it runs to pa_alsa_refcnt_inc().