Sink controls redesign
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- rust
- Lĩnh vực
- audio-video-rtc
Hướng nghiên cứu
Read src/sink.rs and the control implementation in src/source/amplify.rs, then trace the callback setup referenced in src/source.rs. The issue proposes composable per-input controls and faster parameter updates, but leaves the design open; compare atomic values with per-converter callbacks and determine how the chosen approach meets the goals described.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
A follow up on https://github.com/RustAudio/rodio/issues/619#issuecomment-2372360582
Current implementation of Sink unconditionally includes several audio controls like pause, volume, speed (see src/sink.rs). There are several things that can be improved over current implementation.
Users may not need all for these at once and prefer to have only necessary conversions. It is possible to make the controls composable so users can add only necessary parts and adjust audio parameters for each input separately.
Current implementation of controls (like volume control, see here ) only accepts fixed values. Sink allows to control these parameters dynamically, which is implemented with a callback that is invoked periodically. The callback applies values requested by user to the actual control. Currently this happens at about 5ms intervals.
It is possible to apply the parameters directly by using atomic values. This should reduce reaction time and simplify the 'Sink' implementation (see callback setup in src/source.rs). In case atomics turn out to be expensive on some architectures, it is still possible to simplify Sink implementation by allowing each audio converter to control its own parameters. In that case each converter will have to have its own periodic_callback.
Should be included into #619.
- Ngôn ngữ chính
- Rust
- Star
- 2.5k
- Fork
- 338
- Merge trung bình
- 1 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của RustAudio/rodio
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 73/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 62/100
-
WavDecoder::size_hint underflows (u32 wrap, ~4.29e9) after EOF, causes multi-GB Vec::collect() allocationCó thể đã có người làm @marin-m đã nhận 2 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Tất cả issue của RustAudio/rodio
Issue tương tự
-
component:benchmark
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
agentic-os-org/ANOLISA#9177 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
oracle/rust-oracledb#61 ·
-
bug priority-medium to-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Databricks tool-only response crashes in resolve_reasoning_and_content with KeyError: contentCó thể đã có người làm @1divyanshdev đã nhận hôm nay. Đang mởllm translation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
BerriAI/litellm#48637 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày