Skip to content
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

Audio output stops working #6735

Open
MaxNarr opened this issue Feb 25, 2025 · 8 comments · May be fixed by #6736
Open

Audio output stops working #6735

MaxNarr opened this issue Feb 25, 2025 · 8 comments · May be fixed by #6736
Labels
audio bug A bug (error) in the software client

Comments

@MaxNarr
Copy link

MaxNarr commented Feb 25, 2025

Description

The audio works after startup until there's no incoming Audio. In that moment appears the error message:

QObject::connect: Cannot queue arguments of type 'const void*'
(Make sure 'const void*' is registered using qRegisterMetaType().)

From then on there's no audio output anymore.
When I go into settings and press ok, the behavior will reset until the incoming audio goes silent. In that moment the error message will be printed to the console again.

This behavior wasn't there in 2aeb6cb but it is there in 5b8c175. I know, a lot has happened in-between but I can't tell where it happened.

Steps to reproduce

  1. open mumble and connect to server
  2. send audio from other client
  3. let the other client go silent
  4. try to send audio again from the other client
  5. no audio audible on my own machine

Mumble version

No response

Mumble component

Client

OS

Linux

Reproducible?

Yes

Additional information

No response

Relevant log output

Screenshots

No response

@MaxNarr MaxNarr added bug A bug (error) in the software triage This issue is waiting to be triaged by one of the project members labels Feb 25, 2025
@Hartmnt
Copy link
Member

Hartmnt commented Feb 25, 2025

QObject::connect: Cannot queue arguments of type 'const void*'
(Make sure 'const void*' is registered using qRegisterMetaType().)

This sounds suspiciously like ca87877

Could you try before and after that commit?

@Krzmbrzl can we qRegisterMetaType on a const void *? That would seem like an easy fix, if that commit is indeed the culprit.

Was this forgotten to be changed here?

@Krzmbrzl
Copy link
Member

Yes, almost certainly. I really hate the Qt metatype system -.-

Fun fact: void * seems to be registered by default but const void * isn't 🤦

@Krzmbrzl Krzmbrzl added client audio and removed triage This issue is waiting to be triaged by one of the project members labels Feb 25, 2025
@MaxNarr
Copy link
Author

MaxNarr commented Feb 25, 2025

I checked, with the registration of const void * it works

@Hartmnt
Copy link
Member

Hartmnt commented Feb 25, 2025

I checked, with the registration of const void * it works

Nice, would you mind open a PR for that? Should be enough to replace this one line then.

@MaxNarr
Copy link
Author

MaxNarr commented Feb 25, 2025

I didn't replace it. Instead I added it underneath, because I don't have an overview whether it is still used another place. Just saw that there's some more mentions of AudioOutputBuffer in the same file.

@Hartmnt
Copy link
Member

Hartmnt commented Feb 25, 2025

We only need to register it, if we are using it the Qt signal/slot mechanism, which I think we do not anymore after ca87877 🤔

But I guess, you can try replacing the line first. And then, if that breaks audio output, we know we need both 😆

@MaxNarr
Copy link
Author

MaxNarr commented Feb 25, 2025

🤣
Ok, I tried and it seems to work.
I have never pushed to mumble before. I got a permission denied error in git.

@Hartmnt
Copy link
Member

Hartmnt commented Feb 25, 2025

I have never pushed to mumble before. I got a permission denied error in git.

I see :)
Well, the usual workflow for most open-source projects is: You fork the repository in your account by pressing the "fork" button at the top next to "star" and "watch".
You commit and push your changes to a new branch in your fork on your account. Then you can open a pull request via the web-interface. GitHub will usually automagically prompt you about this, once you push your own branch to your fork.

Make sure your commit message follows our guideline

You can even add multiple "remotes" so you don't have to clone Mumble again on your computer. The default one is called "origin". But you can do something like git remote add myfork [email protected]:maxnarr/mumble.git and then git push myfork mybranch (provided you have already clicked the fork button)

@MaxNarr MaxNarr linked a pull request Feb 25, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audio bug A bug (error) in the software client
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants