Before this commit it is impossible to tell whether a client is talking or not once that client is locally muted. This commit changes this by introducing a new talking state "MutedTalking" for these special cases. In order for this talking state to come in existence, the audio code was altered so that audio packets are no longer dropped if the associated user is locally muted. Instead the audio frame will pass the normal processing chain until it comes to actually decoding it. For Opus packets only the sample count is read out without actually doing the work of decoding. For all other codecs the packet is decoded as usual. In a final step the sample buffer is filled/overwritten with zeros in order to mute the stream. With this commit in place, the UI will indicate a user that is talking but is muted with a special icon. Note that this is only the case in the modern themes (Light and Dark) but not for the Classic theme as I wasn't able to alter the talking icon accordingly. There is an altered version of the icon added with this commit but that one doesn't render properly within Qt (it does render everywhere else though). Making this feature work for the classic theme is a simple matter of getting the icon to work and then editing ClassicTheme.qrc which currently points to the same icon as for passive users for the MutedTalking state. |
||
|---|---|---|
| .. | ||
| tango | ||
| authenticated.svg | ||
| channel_active.svg | ||
| channel_linked.svg | ||
| channel.svg | ||
| Classic.qss | ||
| comment_seen.svg | ||
| comment.svg | ||
| config_asio.png | ||
| config_audio_input.png | ||
| config_audio_output.png | ||
| config_basic.png | ||
| config_lcd.png | ||
| config_msgs.png | ||
| config_network.png | ||
| config_osd.png | ||
| config_plugin.png | ||
| config_shortcuts.png | ||
| config_ui.png | ||
| deafened_self.svg | ||
| deafened_server.svg | ||
| default_avatar.svg | ||
| ear.svg | ||
| filter_off.svg | ||
| filter_on.svg | ||
| filter.svg | ||
| Information_icon.svg | ||
| layout_classic.svg | ||
| layout_custom.svg | ||
| layout_hybrid.svg | ||
| layout_stacked.svg | ||
| lock_locked.svg | ||
| lock_unlocked.svg | ||
| muted_local.svg | ||
| muted_pushtomute.svg | ||
| muted_self.svg | ||
| muted_server.svg | ||
| muted_suppressed.svg | ||
| priority_speaker.svg | ||
| README.md | ||
| self_comment.svg | ||
| self_undeafened.svg | ||
| talking_alt.svg | ||
| talking_muted.svg | ||
| talking_off.svg | ||
| talking_on.svg | ||
| talking_whisper.svg | ||
| theme.ini | ||
priority_speaker.svg is a copy of tango/actions/audio-input-microphone.svg.
tango/*
Licensed under the Creative Commons Attribution-Share Alike 2.5 license:
You are free to:
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose,
even commercially.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to
the license, and indicate if changes were made.
You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
(Source: https://tango.freedesktop.org/Tango_Desktop_Project)
filter.svg filter_off.svg filter_on.svg
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
to share - to copy, distribute and transmit the work
to remix - to adapt the work
Under the following conditions:
attribution - You must attribute the work in the manner specified by
the author or licensor (but not in any way that suggests that they
endorse you or your use of the work).
share alike - If you alter, transform, or build upon this work, you may
distribute the resulting work only under the same or similar license to
this one.
(Source: https://commons.wikimedia.org/wiki/File:Filter.svg#Licensing)
Information_icon.svg
This work has been released into the public domain by its author, El T at English Wikipedia. This applies worldwide. In some countries this may not be legally possible; if so: El T grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
(Source: https://commons.wikimedia.org/wiki/File:Information_icon.svg)