Rebuilding OutputStream and Sinks after stream invalidation on Android
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- rust
調査の方向性
Start by reading the issue's description of Android OutputStream invalidation, the with_error_callback signal, and the state held by Sinks. The issue does not identify relevant source files or tests, so first trace how rodio creates streams and sinks and handles stream errors. Done would mean establishing a recommended way to rebuild playback while preserving queued sources, order, volume, pause state, and track position; the issue does not settle the design.
索引モデルが issue の本文から書いたものです。
説明
On Android I noticed that the OutputStream becomes invalid when the audio device changes, for example when Bluetooth headphones are connected. This can be detected via with_error_callback.
When this happens I have to recreate the OutputStream. As a consequence all Sinks tied to that stream must also be recreated.
The problem is that Sinks hold important state like queued Sources, playback order, volume, paused state, and the current playback position inside a track. Recreating Sinks causes all of this state to be lost.
Is there an official or recommended way in rodio to handle this situation?
Should applications keep track of all Sources and Sink state manually and reapply everything to newly created Sinks?
The goal is to continue playback seamlessly after the OutputStream is rebuilt, without breaking behavior or restarting audio.
Is there a recommended way to handle this use case?
- 主要言語
- Rust
- スター
- 2.5k
- フォーク
- 338
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RustAudio/rodio のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 73/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 62/100
-
WavDecoder::size_hint underflows (u32 wrap, ~4.29e9) after EOF, causes multi-GB Vec::collect() allocation対応中かも @marin-m が 2 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
RustAudio/rodio の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
plrigaux/sysd-manager#85 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
dsx-ai-factory/infra-controller#8341 ·
メンテナーはふだん 1 日以内に返信
-
enhancement triage:deciding
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
open-telemetry/otel-arrow#4540 ·
メンテナーはふだん 2 日以内に返信
-
benchmark: CSV report files contain blank records on Windows対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンcomponent:benchmark
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
agentic-os-org/ANOLISA#9177 ·
メンテナーはふだん 1 日以内に返信
-
area/mcp area/modeling effort/s impact/few priority/p3 severity/low triaged type/bug urgency/this-quarter
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cristim/AztecCraft#336 ·
メンテナーはふだん 1 日以内に返信