v0.1.0-V (vc=9): U-3 — streamInfo via rustypipe drives VideoDetail+Player
stream_info(url) UniFFI suspend fn replaces NewPipeExtractor's StreamInfo.getInfo() for both VideoDetailViewModel and PlayerViewModel. One Rust round-trip drives the detail screen render AND the player's resolve(). The VideoDetailUiState.info field cached on detail load is reused by the Download dialog so we don't refetch. Deferred to U-3.5: - like_count (rustypipe's player() doesn't surface engagement data; a separate query is needed) - related (player() doesn't include 'up next'; comes from a separate endpoint). Kotlin gets empty list for now — RelatedRow handles it. Type quirks vs my initial guesses (caught by cargo check): - details.duration is u32, not Option<u32> - channel is split into channel_id + channel_name, not a struct - like_count doesn't exist at this query depth - VideoFormat::Webm (lowercase mb), VideoCodec::Avc1 (not H264) - video_only is a separate vec (video_only_streams), not a bool flag
This commit is contained in:
parent
c2c5536729
commit
89b9837758
8 changed files with 258 additions and 64 deletions
|
|
@ -24,6 +24,10 @@ codegen-units = 1
|
|||
panic = "abort"
|
||||
opt-level = "z"
|
||||
|
||||
# `url` crate for video-id extraction in stream.rs.
|
||||
[workspace.dependencies]
|
||||
url = "2"
|
||||
|
||||
[profile.dev]
|
||||
# Keep debug builds fast — we're rebuilding constantly during U-1..U-5.
|
||||
opt-level = 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue