diff --git a/src/auracast/server/multicast_frontend.py b/src/auracast/server/multicast_frontend.py index aca1ebe..124a088 100644 --- a/src/auracast/server/multicast_frontend.py +++ b/src/auracast/server/multicast_frontend.py @@ -38,15 +38,21 @@ audio_mode = st.selectbox( ) if audio_mode in ["Webapp", "USB"]: - # Stream quality selection (temporarily disabled) - # quality = st.selectbox("Stream Quality", ["High (48kHz)", "Mid (24kHz)", "Fair (16kHz)"]) + # Stream quality selection (now enabled) quality_map = { - "High (48kHz)": {"rate": 48000, "octets": 120}, - "Mid (24kHz)": {"rate": 24000, "octets": 60}, - "Fair (16kHz)": {"rate": 16000, "octets": 40}, + "High (48kHz)": {"rate": 48000, "octets": 120}, + "Good (32kHz)": {"rate": 32000, "octets": 80}, + "Medium (24kHz)": {"rate": 24000, "octets": 60}, + "Fair (16kHz)": {"rate": 16000, "octets": 40}, } - # Default to high quality while UI is hidden - quality = "High (48kHz)" + quality_options = list(quality_map.keys()) + default_quality = "Medium (24kHz)" if "Medium (24kHz)" in quality_options else quality_options[0] + quality = st.selectbox( + "Stream Quality (Sampling Rate)", + quality_options, + index=quality_options.index(default_quality), + help="Select the audio sampling rate for the stream. Lower rates may improve compatibility." + ) default_name = saved_settings.get('channel_names', ["Broadcast0"])[0] default_lang = saved_settings.get('languages', ["deu"])[0] default_input = saved_settings.get('input_device') or 'default' @@ -181,7 +187,7 @@ if audio_mode in ["Webapp", "USB"]: octets_per_frame=q['octets'], ), ] - ) + ) try: r = requests.post(f"{BACKEND_URL}/init", json=config.model_dump())