render: measure decode jitter and shrink the 2 s processed buffer toward media3's ~0.5 s
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- c
- Lĩnh vực
- audio-video-rtc, performance
Hướng nghiên cứu
Start with Feeder.targetDepth and its resumeDepth counterpart, then read ADR 0018 for the renderer's roughly once-a-second pull and ADR 0013 for upstream read-ahead. Measure the worst gap between pumps and decode time per chunk on an older device and on the network path before changing anything. Done means a measured justification for the new depth, with resumeDepth adjusted to match and docs/usage.md:319 updated if the stated effect latency changes.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The feeder keeps 2 s of processed PCM written ahead of the renderer clock (Feeder.targetDepth). Since #183, that is purely a cushion against decode or upstream stalls. The network cushion is really the growing-file read-ahead upstream (Shuttle2 uses 60 s, ADR 0013), unprocessed.
media3 splits it the same way: it keeps about 500 ms of PCM in the AudioTrack (DefaultAudioTrackBufferSizeProvider, DEFAULT_PCM_BUFFER_DURATION_US) and 50 s of compressed samples upstream (DefaultLoadControl). Effects are heard about one PCM depth later (docs/usage.md:319), so a shallower depth means EQ, ReplayGain and Voice Boost changes are heard sooner.
Before changing it, measure the decode jitter: the worst gap between pumps, and decode time per chunk on an older device and on the network path. The depth must outlast the renderer's roughly once-a-second pull (ADR 0018). Candidate: about 1 s, with resumeDepth scaled to match.
Superseded if flush-on-effect-change lands, since effect latency would then stop depending on depth. Context: timusus/shuttle2#1064, #183.
- Ngôn ngữ chính
- C
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- 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 timusus/AudioPlaybackKit
-
idea
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 8/100
timusus/AudioPlaybackKit#184 ·
-
Crossfade between itemsĐang mởenhancement idea
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
timusus/AudioPlaybackKit#172 ·
Tất cả issue của timusus/AudioPlaybackKit
Issue tương tự
-
backlog bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
EchoTools/nevr-runtime#653 ·
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 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
system: coco
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
FujiNetWIFI/fujinet-config#274 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
base-files: 82_config_generate: regenerate /etc/board.json if 0-bytes / truncated after power cutĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openwrt/openwrt#25940 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày