Skip to content

Commit 543f3e4

Browse files
committed
fix HLS auth failure by renaming query param from key to session
The ?key= query param on HLS segment/playlist URLs collided with the auth middleware's upload key resolution, causing AuthFail.
1 parent f43fd45 commit 543f3e4

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/routes/medias.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ struct MediaHlsStartRequest {
754754
struct MediaHlsQuery {
755755
/// Session key returned by the start endpoint, used to look up the right session
756756
/// when multiple transcode variants exist for the same media
757-
key: Option<String>,
757+
session: Option<String>,
758758
}
759759

760760
/// Look up a media HLS session by exact key or by library:media prefix.
@@ -789,7 +789,7 @@ async fn handler_media_hls_start(
789789

790790
Ok(Json(json!({
791791
"key": key,
792-
"playlistUrl": format!("/libraries/{}/medias/{}/hls/playlist.m3u8?key={}", library_id, media_id, key)
792+
"playlistUrl": format!("/libraries/{}/medias/{}/hls/playlist.m3u8?session={}", library_id, media_id, key)
793793
})))
794794
}
795795

@@ -804,7 +804,7 @@ async fn handler_media_hls_playlist(
804804
// Find the session
805805
let (playlist_path, key) = {
806806
let sessions = mc.media_hls_sessions.read().await;
807-
let session = find_media_hls_session(&sessions, &query.key, &library_id, &media_id)
807+
let session = find_media_hls_session(&sessions, &query.session, &library_id, &media_id)
808808
.ok_or_else(|| Error::NotFound("Media HLS session not found".to_string()))?;
809809
(session.playlist_path.clone(), session.key.clone())
810810
};
@@ -838,7 +838,7 @@ async fn handler_media_hls_playlist(
838838
.map(|line| {
839839
if line.ends_with(".ts") && !line.starts_with('#') {
840840
format!(
841-
"/libraries/{}/medias/{}/hls/{}?key={}",
841+
"/libraries/{}/medias/{}/hls/{}?session={}",
842842
library_id, media_id, line, key
843843
)
844844
} else {
@@ -875,7 +875,7 @@ async fn handler_media_hls_segment(
875875

876876
let output_dir = {
877877
let sessions = mc.media_hls_sessions.read().await;
878-
let session = find_media_hls_session(&sessions, &query.key, &library_id, &media_id)
878+
let session = find_media_hls_session(&sessions, &query.session, &library_id, &media_id)
879879
.ok_or_else(|| Error::NotFound("Media HLS session not found".to_string()))?;
880880
session.output_dir.clone()
881881
};

0 commit comments

Comments
 (0)