After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 794197 - wasapi: fails to build
wasapi: fails to build
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.13.90
Other Linux
: Normal blocker
: 1.13.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-03-09 10:58 UTC by Emilio Pozuelo Monfort
Modified: 2018-03-10 15:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wasapi: ship audioclient3 header in tarballs (856 bytes, patch)
2018-03-09 11:12 UTC, Emilio Pozuelo Monfort
committed Details | Review
wasapi: don't redefine bits from other headers (2.10 KB, patch)
2018-03-09 11:13 UTC, Emilio Pozuelo Monfort
rejected Details | Review
wasapi: Guard IAudioClient2 structs and enums (2.06 KB, patch)
2018-03-09 16:39 UTC, Nirbheek Chauhan
committed Details | Review

Description Emilio Pozuelo Monfort 2018-03-09 10:58:17 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)
Comment 1 Nirbheek Chauhan 2018-03-09 11:11:45 UTC
Did you forget to attach the patches or are you attaching them later?
Comment 2 Emilio Pozuelo Monfort 2018-03-09 11:12:48 UTC
Created attachment 369500 [details] [review]
wasapi: ship audioclient3 header in tarballs

Not sure if we need to list it in meson.build as well?
Comment 3 Emilio Pozuelo Monfort 2018-03-09 11:13:18 UTC
Created attachment 369501 [details] [review]
wasapi: don't redefine bits from other headers
Comment 4 Emilio Pozuelo Monfort 2018-03-09 11:13:43 UTC
(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 5 Tim-Philipp Müller 2018-03-09 11:55:45 UTC
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
Comment 6 Nirbheek Chauhan 2018-03-09 15:04:05 UTC
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?
Comment 7 Nirbheek Chauhan 2018-03-09 15:04:06 UTC
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?
Comment 8 Nirbheek Chauhan 2018-03-09 16:39:28 UTC
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.
Comment 9 Nirbheek Chauhan 2018-03-09 16:39:56 UTC
Emilio, can you try this patch to see if it works?
Comment 10 Nirbheek Chauhan 2018-03-10 13:26:42 UTC
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
Comment 11 Emilio Pozuelo Monfort 2018-03-10 15:24:53 UTC
Cool, thanks!