H.264: Proposal for audio-related UI elements (status bar / menu item)

Open
#1,277 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale

Research direction

No files, tests, or entry points are named. Review issue #1276 and the current frontend audio and video UI architecture first; the proposal would be complete when the UI clearly distinguishes audio availability and mute state and provides a menu control, but the issue is currently on hold because its dependency is marked “won’t fix”.

Written by the indexing model from the issue text.

Description

enhancement

This is blocked on https://github.com/tiny-pilot/tinypilot/issues/1276. (Update 2022-01-26: On hold for the time being, as that ticket is “won’t fix”.)

We could display some sort of indication in the UI whether or not audio is currently playing. This might otherwise be ambiguous, because when it’s silent, the user cannot tell whether that’s due to the target machine not emitting any audio, or due to the streaming connection being severed.

An additional benefit is that such an indicator would promote discoverability of the feature.

Proposal

I think the most natural place for such an indication would be in the status bar. We could distinguish 3 cases:

For the first two cases, the UI could look like below. For the third case, we could just hide that element altogether.

audio on

audio off

Whether or not audio is muted could be controlled via a menu item:

Screenshot 2023-01-23 at 19 09 10

(Could also be phrased inversely, i.e. “Mute Audio”.)

Additional Notes

  • In addition to the menu item, we could also consider making the status bar indicator itself interactive, i.e. letting the user mute and un-mute by clicking on it.
    • I think we should explore this option separately, though, because currently the status bar is only “informative” but not interactive, so we’d be introducing a slight conceptual change to the status bar UX. E.g., if we allow to mute/unmute, we might also have to re-consider whether we allow to toggle between H.264 and MJPEG in the adjacent video indicator. Generally speaking, I think the menu should always be the canonical way to do things, and potential status bar interactions should only provide redundant convenience.
  • We need to keep in mind that the user can mute the entire tab. So if the user does that, the frontend still thinks it’s playing audio. As far as I know, this is not detectable from within the tab, so there might be nothing that we can do about it.
Dominant language
Python
Stars
3.5k
Forks
291
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tiny-pilot/tinypilot

All issues in tiny-pilot/tinypilot

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.