Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[alsa] Sample rate could not be set: Invalid argument on ARM SBC

未关闭
#422 11 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
rust
领域
backend

调研方向

Start by reproducing the reported ALSA sample-rate error on the ARMv7 Allwinner H3 setup described in the issue, then compare the device parameters shown for direct playback and dmix. The issue does not name source files or tests, so trace the ALSA backend’s sample-rate configuration path and check whether it handles this device’s reported formats and rates. Done means identifying the cause and confirming playback works with the affected setup.

由索引模型根据 Issue 内容生成。

描述

host - alsa platform - linux

On ARM SBC (allwinner-h3 based platform, armv7l so 32 bit) I get err: BackendSpecificError { description: "sample rate could not be set: Invalid argument" } when trying to run basically example code from docs. Kernel 5.4, distro is just armbian/debian buster.

The sound is playing fine (tested from mpv at least), and code works on my desktop, so far only difference I spotted is that working config have hw_params:

access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 6000
buffer_size: 18000

while the error shows with one that (when played thru mpv) shows

access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 882
buffer_size: 4410

(and 48000 rate when I play file using that sample rate)
Now it is not that card does not support S16_LE; when I force audio thrudmix plugin I get:

 cat /proc/asound/card0/pcm0p/sub0/hw_params 
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 448
buffer_size: 11200

Any ideas what might be the cause of that ?

主要语言
Rust
星标
4k
派生
554
平均合并
3 天 3 小时
30 天内合并 PR
4

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

RustAudio/cpal 的其他 Issue

查看 RustAudio/cpal 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。