GNOME Bugzilla – Bug 794197
wasapi: fails to build
Last modified: 2018-03-10 15:24:53 UTC
Hi, Building gst-plugins-bad 1.13.90, I came across a build failure on the wasapi plugin. Firstly, the gstaudioclient3.h header is not shipped in the tarball. After adding it, I still get a build failure due to some redefinitions. It seems to me like we can just include the appropriate headers, which are likely present even if audioclient3 is not? With these two patches wasapi builds fine here (I didn't runtime tested it though)
Did you forget to attach the patches or are you attaching them later?
Created attachment 369500 [details] [review] wasapi: ship audioclient3 header in tarballs Not sure if we need to list it in meson.build as well?
Created attachment 369501 [details] [review] wasapi: don't redefine bits from other headers
(In reply to Nirbheek Chauhan from comment #1) > Did you forget to attach the patches or are you attaching them later? Sorry, I had to attend something just after I submitted the bug. Here they are now.
Comment on attachment 369500 [details] [review] wasapi: ship audioclient3 header in tarballs Thanks! Seems obviously correct, so pushed it already. Don't think anything needs to be done for the Meson build, since Meson's dist will just dist everything checked into git. commit 898e01fe29a2adf3c6e231875c90b15c2c8bc659 Author: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Date: Fri Mar 9 11:11:40 2018 +0100 wasapi: ship audioclient3 header in tarballs https://bugzilla.gnome.org/show_bug.cgi?id=794197
Review of attachment 369501 [details] [review]: That enum and struct are not defined in the MinGW that is shipped with Cerbero, which is why I defined them and tried to protect them with the #ifndef. Of course, the #ifndef seems to be wrong. Could you look into fixing that instead?
Created attachment 369514 [details] [review] wasapi: Guard IAudioClient2 structs and enums These are already defined in the audioclient.h provided by the latest MinGW headers, and the existing #ifndef were obviously wrong.
Emilio, can you try this patch to see if it works?
I was able to reproduce your build failure by building on Windows with MSYS2, so I was able to verify that my patch fixes it. Thanks for reportig this! Attachment 369514 [details] pushed as a2f5485 - wasapi: Guard IAudioClient2 structs and enums
Cool, thanks!