qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] Implement the Screamer sound chip for the mac99 machine t


From: Howard Spoelstra
Subject: Re: [PATCH v2] Implement the Screamer sound chip for the mac99 machine type
Date: Tue, 28 Jan 2020 10:38:33 +0100



On Tue, Jan 28, 2020 at 9:30 AM Volker Rümelin <address@hidden> wrote:
> Hi,
>
> Unfortunately it's not that simple to simply revert the patch since the old backend api no longer exists.  Also I don't have a Mac so it's almost impossible for me to test the results.  I looked at the specified commit and I think I found a problem, could you please apply the attached patch on the current git master and check whether it solves the problem?  If yes I'll turn it into a proper patch.
>
> Regards,
> Zoltan
>

Hi Zoltán,

I also don't have a Mac so I tested your patch with a slightly modified sdlaudio version. I found two bugs in your patch. With the bugs fixed I have working SDL2 audio playback with float type samples. Now I wonder if the fixed patch also fixes coreaudio playback. Depending on how busy you are I can just write a review for your patch and let you handle the rest, or may I send a modified version of your patch to the mailing list for testing?

With best regards
Volker

Hi Volker,

I can test for coreaudio. Can you let us know exactly what you fixed in the patch?
While cross compiling for windows, I saw these errors (besides some casting issues):
line 56: buffer2  (should be *buffer2?)
line 455: ret  (should be ret2?)

audio/dsoundaudio.c:56:20: error: variable or field 'buffer2' declared void
   56 |     void *buffer1, buffer2;
      |                    ^~~~~~~
audio/dsoundaudio.c: In function 'dsound_get_buffer_out':
audio/dsoundaudio.c:428:18: error: returning 'int' from a function with return type 'void *' makes pointer from integer without a cast [-Werror=int-conversion]
  428 |         return ds->buffer2;
      |                ~~^~~~~~~~~
audio/dsoundaudio.c:451:17: error: assignment to 'int' from 'void *' makes integer from pointer without a cast [-Werror=int-conversion]
  451 |     ds->buffer2 = ret2;
      |                 ^
audio/dsoundaudio.c:455:12: error: 'ret' undeclared (first use in this function); did you mean 'ret2'?
  455 |     return ret;
      |            ^~~
      |            ret2
audio/dsoundaudio.c:455:12: note: each undeclared identifier is reported only once for each function it appears in
audio/dsoundaudio.c: In function 'dsound_put_buffer_out':
audio/dsoundaudio.c:471:49: error: passing argument 3 of 'dsound_unlock_out' makes pointer from integer without a cast [-Werror=int-conversion]
  471 |     err = dsound_unlock_out(dsb, ds->buffer1, ds->buffer2, ds->size1, ds->size2);
      |                                               ~~^~~~~~~~~
      |                                                 |
      |                                                 int
In file included from audio/dsoundaudio.c:267:
audio/dsound_template.h:49:12: note: expected 'LPVOID' {aka 'void *'} but argument is of type 'int'
   49 |     LPVOID p2,
      |     ~~~~~~~^~
audio/dsoundaudio.c: In function 'dsound_get_buffer_out':
audio/dsoundaudio.c:456:1: error: control reaches end of non-void function [-Werror=return-type]
  456 | }
      | ^
cc1: all warnings being treated as errors

Best,
Howard

 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]