Skip to content

drivers/speaker: Fix SF32LB speaker volume being reset during playback start#1554

Open
ShinkoNet wants to merge 1 commit into
coredevices:mainfrom
ShinkoNet:obelix-speakerfix
Open

drivers/speaker: Fix SF32LB speaker volume being reset during playback start#1554
ShinkoNet wants to merge 1 commit into
coredevices:mainfrom
ShinkoNet:obelix-speakerfix

Conversation

@ShinkoNet

@ShinkoNet ShinkoNet commented Jun 18, 2026

Copy link
Copy Markdown

so, on my Pebble Time 2, an app using the speaker playback functions on the SDK could bypass the OS speaker mute/volume setting... I noticed the 2 Duo's DA7212 driver received a patch recently (7289a22), but the Time 2 did not.

The speaker service already passes the effective OS volume into the audio driver, but SF32LB AUDCODEC start path later reconfigures the DAC path, which resets the DAC mute/volume state. This caused playback to become audible and played at full volume even when the OS speaker volume was at 0 and the speaker was in a muted state, at least OS preference-wise.

This PR caches the requested volume in the SF32LB audio state and reapplies it after DAC path setup in audec_start.
I ran this build on my PT2 with PebbleOS v4.15.0 release as the base to confirm it fixed the issue.

@jplexer jplexer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants