[pulseaudio-tickets] [Bug 40290] Vala Bindings cause errors

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 24 08:43:34 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=40290

--- Comment #5 from bsquared <bwcode4u at gmail.com> 2011-08-24 08:43:34 PDT ---
In reference to list item 2.

I started with this simple code:

    public SinkInfo devinfo_to_sinkinfo (DeviceInfo* di) {
        uint32 index = di->index;
        SinkInfo si = SinkInfo ();
        context.get_sink_info_by_index (index, (context, i, eol) => {
            if (eol > 0) {return;}
            sinkinfo_copy(i, &si); // dummy method
        });

        return si;
    }

which generates the following c code:

static void _lambda0_ (pa_context* context, pa_sink_info* i, gint eol,
Block1Data* _data1_) {
    Main * self;
    self = _data1_->self;
    g_return_if_fail (context != NULL);
    if (eol > 0) {
        return;
    }
    main_sinkinfo_copy (self, i, &_data1_->si);
}


static void __lambda0__pa_contextsinkinfocb (pa_context* c, pa_sink_info* i,
gint eol, gpointer self) {
    _lambda0_ (c, i, eol, self);
}

void main_devinfo_to_sinkinfo (Main* self, MainDeviceInfo* di, pa_sink_info*
result) {
    Block1Data* _data1_;
    guint32 index;
    pa_operation* _tmp0_ = NULL;
    pa_operation* _tmp1_;
    pa_sink_info _tmp2_ = {0};
    pa_sink_info _tmp3_;
    g_return_if_fail (self != NULL);
    _data1_ = g_slice_new0 (Block1Data);
    _data1_->_ref_count_ = 1;
    _data1_->self = g_object_ref (self);
    index = (*di).index;
    memset (&_data1_->si, 0, sizeof (pa_sink_info));
    _tmp0_ = pa_context_get_sink_info_by_index (self->priv->context, index,
__lambda0__pa_contextsinkinfocb, _data1_);
    _tmp1_ = _tmp0_;
    _pa_operation_unref0 (_tmp1_);
    pulse_audio_sink_info_copy (&_data1_->si, &_tmp2_);
    _tmp3_ = _tmp2_;
    *result = _tmp3_;
    block1_data_unref (_data1_);
    _data1_ = NULL;
    return;
}


And compiling produces this output:

[...]
main.o: In function `main_devinfo_to_sinkinfo':
/home/bwinfrey/Source/vala/pulse-device-chooser/src/main.c:461: undefined
reference to `pulse_audio_sink_info_copy'
main.o: In function `block1_data_unref':
/home/bwinfrey/Source/vala/pulse-device-chooser/src/main.c:423: undefined
reference to `pulse_audio_sink_info_destroy'
[...]
collect2: ld returned 1 exit status
make[2]: Leaving directory
`/home/bwinfrey/Source/vala/pulse-device-chooser/src'
make[1]: Leaving directory `/home/bwinfrey/Source/vala/pulse-device-chooser'
make[2]: *** [pulse_device_chooser] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

compilation end with exit status 2

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the pulseaudio-bugs mailing list