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

BADGERS-575: [BREAKING] Audio Described Unification #365

Open
wants to merge 254 commits into
base: master
Choose a base branch
from

Conversation

ShiningTrapez
Copy link
Contributor

@ShiningTrapez ShiningTrapez commented Jan 29, 2025

📺 What
Support a "Generic" method of providing an, alternative, Audio Described stream with a new Media Block consisting of alternative sources which can be switched to and from mid stream. This approach is primarily intended for Native Strategy Devices but can work on any device given the streams are present and passed correctly (Assuming the device can play the stream and so on).

🛠 How

  • Refactor MediaSources to keep track of and index into a record of Connection Types, the design has been left open to make further additions along these lines easy in the future.

  • Expose a new, Unified, Audio Described API which can seamlessly be used with both this implementation, and the MSE Specific Implementation:

    • registerForAudioDescribedChanges (Previously registerForBroadcastMixADChanges)
    • unregisterForAudioDescribedChanges (Previously unregisterForBroadcastMixADChanges)
    • isAudioDescribedAvailable (Previously isBroadcastMixADAvailable)
    • isAudioDescribedEnabled (Previously isBroadcastMixADEnabled)
    • setAudioDescribed (Previously setBroadcastMixADEnabled)
  • Adds a new enableAudioDescribed option to Bigscreen's Init Options to start up with the AD Stream.

  • Various QoL Fixes and Refactors as encountered during development.

⚠️ TODO

  • Native Playback Strategy Tests
  • Test for BSP passing enableAudioDescribed through
  • MediaSources tests
  • PlayerComponent tests
  • Verify Failover Scenarios
  • Verify MSE Implementation
  • Write Docs for Generic Method
  • Cleanup
    • Consider removing audio-described-cdns-available in Chronicle and just add it to cdns-available when AD Stream is active? (Testers commented that current setup is confusing)

🚨 BROKEN

  • Stream resumes playing if paused before the switch
  • Callback is not fired if AD is on by default

eirikbjornr and others added 30 commits November 11, 2024 14:36
Co-authored-by: matt-stephenson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver major This PR is a semver major release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants