[pulseaudio-discuss] [PATCH 4/4] Profiles can have sink and source ports, and announce that through the API.

Lu Guanqun guanqun.lu at intel.com
Mon Aug 8 05:14:04 PDT 2011


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().



More information about the pulseaudio-discuss mailing list