Hi,

I have a problem with Pulseaudio (0.9.21) + Vala (0.10.4). I've written
this small demonstration program:

        $ cat test.vala 
        class MyClass : Object {
                static void main(){
                        PulseAudio.SampleSpec spec = PulseAudio.SampleSpec() {
                                format = PulseAudio.SampleFormat.S32NE,
                                channels = 2,
                                rate = 44100
                        };
                        PulseAudio.MainLoop loop =
                                new PulseAudio.MainLoop();
                        PulseAudio.Context context =
                                new PulseAudio.Context(loop.get_api(), null);   
                        PulseAudio.Stream stream =
                                new PulseAudio.Stream(context, "", spec);
                        int32[] data = new int32[10];
                        stream.write(data, sizeof(int32) * data.length);
                }
        }
        $

I know that this program won't work (i.e. "run") but it should compile
just fine. However, I get this:

        $ valac --vapidir=. --pkg=libpulse --pkg=posix test.vala
        /home/alexander/test/test.vala.c: In function ‘myclass_main’:
        /home/alexander/test/test.vala.c:61: warning: passing argument 5 of 
‘pa_stream_write’ makes integer from pointer without a cast
        /usr/include/pulse/stream.h:503: note: expected ‘int64_t’ but argument 
is of type ‘void *’
        /home/alexander/test/test.vala.c:61: error: too many arguments to 
function ‘pa_stream_write’
        error: cc exited with status 256
        Compilation failed: 1 error(s), 0 warning(s)
        $ 

Looking at the generated C-Code reveals this:

        $ valac --vapidir=. --pkg=libpulse --pkg=posix --ccode test.vala
        $ cat test.c
        [...]
                pa_stream_write (stream, data, (gsize) (sizeof (gint32) * 
data_length1), NULL, NULL, 0, PA_SEEK_RELATIVE);
        [...]
        $

This is obviously wrong, since pa_stream_write takes 6 arguments not 7, see[1].

Is this a bug in PA's Vala bindings or in Vala itself?

Best regards

Alexander Kurtz

[1] 
http://0pointer.de/lennart/projects/pulseaudio/doxygen/stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

Reply via email to