Straw phase O: related videos + max-resolution picker (v0.1.0-O / vc=3)
VideoDetail screen: - New "Related" section at the bottom — pulls StreamInfo.relatedItems, filters to StreamInfoItem, renders as inline thumbnail rows. Tap → push another VideoDetail. Up to 20 items shown. Each row uses bestThumbnail() for hi-res. Settings screen + PlayerViewModel: - New "Playback" section with a Max-Resolution picker: Auto / 1080p / 720p / 480p / 360p / 144p. Persisted to SharedPreferences (KEY_MAX_RES) via SettingsStore.maxResolution StateFlow. - PlayerViewModel.resolve filters videoStreams + videoOnlyStreams by the ceiling before picking the max-bitrate one. Auto (Int.MAX_VALUE) is unchanged behavior. Choosing 720p caps the renderer so 1080p/4K streams are skipped — saves bandwidth on mobile + helps low-end decoders. Phase P next ideas: bottom navigation tabs (Home / Subs feed / Library), Download (audio + video), the MediaSessionService refactor for true background audio after activity death.
This commit is contained in:
parent
253c5e268b
commit
fa97b698fe
7 changed files with 150 additions and 4 deletions
|
|
@ -15,6 +15,6 @@ const val NEWPIPE_APPLICATION_ID_OLD = "org.schabi.newpipe"
|
|||
const val NEWPIPE_APPLICATION_ID_NEW = "net.newpipe.app"
|
||||
|
||||
// Sulkta fork — Straw
|
||||
const val STRAW_VERSION_CODE = 2
|
||||
const val STRAW_VERSION_NAME = "0.1.0-N"
|
||||
const val STRAW_VERSION_CODE = 3
|
||||
const val STRAW_VERSION_NAME = "0.1.0-O"
|
||||
const val STRAW_APPLICATION_ID = "com.sulkta.straw"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue