feat: inline player with Web/MPV engine selection#393
Closed
wowitsjack wants to merge 1 commit intoFredolx:mainfrom
Closed
feat: inline player with Web/MPV engine selection#393wowitsjack wants to merge 1 commit intoFredolx:mainfrom
wowitsjack wants to merge 1 commit intoFredolx:mainfrom
Conversation
|
wowitsjack seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
11 tasks
8714ea6 to
2d8da19
Compare
Author
|
Yep agreed |
1e4a7d6 to
2d8da19
Compare
Add HLS.js-based web player and embedded MPV engine for in-app video playback. Local MPEG-TS proxy via ffmpeg+warp for streams that need transcoding. Engine selection in settings.
2d8da19 to
837f935
Compare
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
local_player.rsbackend proxies streams via ffmpeg to localhost for the inline playerNew in this update
stream.m3u8withCache-Control: no-cacheheaders, fixing the 6-second buffer starvation bug on proxy-routed streamsget_stream_inforesolves 302 redirect chains via HEAD request, enabling direct HLS playback for streams like tvpass.org without the ffmpeg proxyliveSyncDurationCountfor proxy streams,xhrSetupcache-busting on manifest requestshttp.rswith proxy/UA/timeout supportDependencies
New files
src-tauri/src/local_player.rs- ffmpeg stream proxy backend with no-cache manifest servingsrc-tauri/src/http.rs- centralized HTTP client buildersrc-tauri/src/backup.rs- backup export/importsrc-tauri/src/scheduler.rs- EPG and source refresh schedulersrc/app/inline-player/- Angular inline player component (ts/html/css)src/app/models/playerEngine.ts- PlayerEngine enumsrc/app/models/playerState.ts- PlayerState enumModified files
src-tauri/src/lib.rs- local_player module, new commands, ExitRequested handler, scheduler initsrc-tauri/src/types.rs- StreamInfo (with resolved_url), buffer_size in Settings, AppStatesrc-tauri/src/settings.rs- player_engine, buffer_size, connection_timeout persistencesrc-tauri/src/m3u.rs- uses centralized http clientsrc-tauri/src/restream.rs- uses centralized http clientsrc-tauri/src/utils.rs- uses centralized http clientsrc-tauri/src/xtream.rs- uses centralized http clientsrc/app/channel-tile/channel-tile.component.ts- click() refactored for engine routingsrc/app/memory.service.ts- NowPlaying, PlayerState, PlayerEngine subjectssrc/app/settings/settings.component.ts+.html- player engine selector, buffer sizesrc/app/models/settings.ts- buffer_size, enable_gpu, enable_hwdec fieldssrc/app/app.component.ts- PlayerState subscriptionTest plan
cargo checkandnpx ng buildboth pass