pub async fn player_seek_video(
player: State<'_, PlayerStateWrapper>,
repository_manager: State<'_, RepositoryManagerWrapper>,
repository_handle: String,
position: f64,
media_source_id: Option<String>,
audio_stream_index: Option<i32>,
) -> Result<VideoSeekResponse, String>Expand description
Smart video seeking that decides between native and server-side seeking
This command analyzes the current video stream and automatically chooses the best seeking strategy:
- HLS streams: Use native seeking
- Direct play streams: Use native seeking
- Transcoded non-HLS: Request new stream URL from server starting at seek position
The backend always handles the seek itself, including re-opening a stream, since every video renderer is native (DR-235).