-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: port media/event to CMake #1222
Conversation
e7e77c8
to
4b44a37
Compare
Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>
squashed all the changes |
We are getting Windows build errors, such as I believe this is the full list from the log, though I may have missed something:
|
@joeyparrish from what I can tell this is because especially the notify functions take a bunch of parameters that a listener could do something with, but they aren't necessarily used. There are 3 solutions from what I can tell
preferences on how to proceed? |
In other places where there is an abstract interface whose concrete implementations don't use all parameters, we have used the macro bool CallbackFile::Seek(uint64_t position) {
UNUSED(position);
VLOG(1) << "CallbackFile does not support Seek().";
return false;
} In some other places, I believe some of the volunteers have chosen to comment out the parameter name as in option 1. I would prefer to avoid option 3, but if options 1 and 2 become too onerous, I am open to discuss whatever makes the job doable. |
@joeyparrish I went ahead and added UNUSED to code except for 3rd party usage (protobuf) where I tried to disable the MSVC warning for it. Don't have an easy way to verify this other than waiting for signals here though. |
Yeah, it's a pain. I don't have multiple operating systems sitting around for development, either. It is often the case that I have to upload, wait for tests on GitHub, then fix build errors for Windows or Mac. Sometimes, if the solution isn't obvious, I have to enable a flag on the repo to give me SSH access to the VM on a workflow failure, to debug it interactively. |
On Windows:
If the content of third-party headers are going to set off these warnings when the headers are included, we may not have any other option than to disable that warning project-wide. (At least on MSVC.) |
I tried to disable that for protobuf though by setting |
Oh I see, because it's in the header we get the problem as soon as we include the header, so we need to disable C4100 everywhere (that imports protobuf at least). |
Ok, I think I found the right place to fix this, in the definition of |
I'll merge this if the tests pass. This should unlock two more modules: media/formats/dvb, and media/formats/packed_audio. |
It looks like I need to rewrite the HTTP tests. They may be hanging on httpbin.org. I'll disable them for now. |
Yeah, the HTTP tests have also been giving me some grief locally, they seem to pass sometimes and fail sometimes, and take a long time to run. I've been resorting to mostly just running the unit test binary for the modules I'm changing as a result. |
Rebasing #1155 and applying some fixes. Had to comment out the
mpd_notify_muxer_listener_unittest
because it depends onMockMpdNotifier
frommpd/base
which has not been ported yet. Can bring this test back once that has been ported.Related to #1047