[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