On Tue, Jan 28, 2020 at 9:30 AM Volker Rümelin <vr_q...@t-online.de> 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