diff options
Diffstat (limited to 'server/src/routes/stream.rs')
-rw-r--r-- | server/src/routes/stream.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/server/src/routes/stream.rs b/server/src/routes/stream.rs index 756c502..3500ee4 100644 --- a/server/src/routes/stream.rs +++ b/server/src/routes/stream.rs @@ -57,22 +57,21 @@ pub async fn r_stream( .get(db, id)? .only_if_permitted(&session.user.permissions) .ok_or(anyhow!("node does not exist"))?; - let source = node - .private - .source + let media = node + .media .as_ref() .ok_or(anyhow!("item does not contain media"))?; // TODO its unclear how requests with multiple tracks should be handled. if spec.track.len() == 1 { let ti = spec.track[0]; - if let TrackSource::Remote(remote_index) = source[ti] { + if let TrackSource::Remote(remote_index) = media.tracks[ti].source { session .user .permissions .assert(&UserPermission::FederatedContent)?; - let track = &node.public.media.ok_or(anyhow!("no media"))?.tracks[ti]; + let track = &node.media.ok_or(anyhow!("no media"))?.tracks[ti]; let host = track .federated .last() @@ -100,7 +99,7 @@ pub async fn r_stream( .await?; let uri = session.stream_url( - node.public.id.as_ref().unwrap(), + &node.slug, &StreamSpec { track: vec![remote_index], ..spec |